Deposit Flow
What Partners Need To Do
- Create a transaction with
POST /transactions. - Persist the returned
id,merchant_reference,deposit_address,network, andexpires_at. - Show the seller the deposit address and the exact network to use.
- Wait for either partner webhooks or a polling read on the transaction.
- Treat
deposit.confirmedor the latest transaction state as the signal that CashWeb has received the crypto successfully.
What CashWeb Returns
Successful transaction creation returns the fields needed for receiving crypto:iddeposit_addressnetworkexpires_atstatusamountcrypto_amountcrypto_currency
awaiting_deposit.
Use id as the transaction identifier from POST /transactions.
Only use transaction_id in endpoints or payloads that explicitly require that field name, such as the sandbox simulator request body.
Important Rules
- The seller must send funds to the exact
deposit_addressreturned for that transaction. - The seller must use the exact
networkreturned for that transaction. - Sending funds on the wrong network can result in lost funds.
- Deposit windows expire after 30 minutes unless the transaction progresses first.
- Deposit addresses are transaction-specific. Do not reuse an old address for a new transaction.
How CashWeb Confirms Receipt
CashWeb tracks the deposit lifecycle in two stages:deposit.detected: a matching blockchain deposit was seen and is waiting for confirmationsdeposit.confirmed: required confirmations were reached and CashWeb can proceed with the rest of the transaction lifecycle
- partner webhooks
GET /transactions/{id}GET /transactions/reference/{merchant_reference}
Example
Staging Note
When testing against staging, the current sandbox-supported deposit pair is:crypto_currency:usdtnetwork:bep20