Skip to main content
To identify the customer who made the deposit, use crypto_address.foreign_id — the same foreign_id you provided when calling /v2/addresses/take. For deposits to addresses created in the portal, which have no foreign_id, use crypto_address.title instead — the name you gave the address when creating it.
Which callbacks CryptoProcessing sends and which fields they include depend on the options you set in Configure callbacks:
  • Sender address — adds the sender’s blockchain address as transactions[].sender.address.
  • Business wallet transactions — if enabled, callbacks are also sent for deposits to addresses created in the portal and to merchant top-up addresses. These callbacks include the origin field and, instead of foreign_id, the address name as crypto_address.title.
  • Deposits less than minimum amount and Cross-currency deposits callbacks are enabled by default and can be disabled.

Body

application/json
id
integer
required

Internal transaction ID, the same ID used in /v2/transactions/info.

type
enum<string>
required

Deposit type:

  • deposit: standard deposit
  • deposit_exchange: deposit with automatic conversion
  • deposit_wallet_client: deposit to a merchant top-up address. Sent only if business wallet transactions callbacks are enabled.
Available options:
deposit,
deposit_exchange,
deposit_wallet_client
crypto_address
object
required

Details of the address the funds were deposited to.

transactions
(blockchain · object | internal · object | exchange · object)[]
required

Transactions related to the deposit. Every deposit has one blockchain or internal entry, and deposits with automatic conversion have an additional exchange entry. The transaction_type field shows what each entry is:

  • blockchain: the incoming transaction on the blockchain
  • internal: the incoming transaction for an off-chain deposit, which is never sent to the blockchain
  • exchange: the conversion of the deposited currency, present only for deposits with automatic conversion
fees
object[]
required

Fees charged for the deposit. Empty while the deposit is processing and for cancelled deposits.

error
string
required

The reason the deposit was cancelled. Empty string for confirmed and processing deposits. Possible values:

  • Transaction amount less than minimum deposit: the deposited amount is lower than the minimum allowed for that currency
  • Double spend: conflicts with transaction <hash>: the deposit conflicts with another transaction, where <hash> identifies the conflicting transaction. You can look it up in your transaction history to see how it was processed
status
enum<string>
required

Deposit status:

  • confirmed: the deposit has been confirmed and can be treated as final on your side. At this stage, it is safe to perform business actions such as adding funds to the customer's balance
  • not_confirmed: the transaction has been detected but is still being processed. Wait for the confirmed callback before treating the deposit as final. Currencies that support instant confirmations may skip this status. See How deposits are confirmed
  • cancelled: the deposit was cancelled and will not be added to your balance. Sent when the deposited amount is lower than the minimum (no fees are charged), or when the deposit conflicts with another transaction sent to the same address in a double-spend scenario. For a double spend, the error field identifies the conflicting transaction, which you can look up in your transaction history to see how it was processed. Since this transaction is not considered valid, do not add funds to the customer's balance
Available options:
confirmed,
not_confirmed,
cancelled
end_user_reference
string

The end_user_reference you provided when creating the address via the API. Absent for addresses created in the portal.

expected_currency
string

For cross-currency deposits, the currency originally assigned to the address, that is, the one you expected to receive. See API currency codes. Absent for other deposits.

currency_sent
object

The currency and amount sent by the customer. Absent from cancelled deposits.

currency_received
object

The currency and amount received after processing or conversion. Absent from cancelled deposits. For deposits with conversion that are still processing, the amounts are 0.

origin
enum<string>

Present for deposits to addresses created in the portal and to merchant top-up addresses. Only present if business wallet transactions callbacks are enabled.

Available options:
business_wallet
Last modified on September 30, 2026