Skip to main content
Enable business wallet transactions callbacks in Configure callbacks to also receive this callback for withdrawals initiated in the portal, including individual withdrawals from a mass payout.

Body

application/json
id
integer
required

Withdrawal ID.

foreign_id
string
required

The foreign_id you provided when creating the withdrawal via the API.

For withdrawals initiated in the portal, where no foreign_id is provided, the field contains the time the withdrawal was created:

  • for single withdrawals, the Unix time in milliseconds — for example, "1790694052541"
  • for individual withdrawals from a mass payout, the fraction of the second and the Unix time in seconds, separated by a space — for example, "0.42905800 1790595801"
type
enum<string>
required

Withdrawal type:

  • withdrawal: standard withdrawal
  • withdrawal_exchange: standard withdrawal with conversion
  • withdrawal_instant: instant withdrawal
  • withdrawal_instant_exchange: instant withdrawal with conversion
Available options:
withdrawal,
withdrawal_exchange,
withdrawal_instant,
withdrawal_instant_exchange
crypto_address
object
required

Details of the address the funds are withdrawn to.

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

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

  • blockchain: the outgoing transaction on the blockchain
  • internal: the outgoing transaction for an off-chain withdrawal, which is never sent to the blockchain
  • exchange: the conversion before the withdrawal, present only for withdrawals with conversion
fees
object[]
required

Fees charged for the withdrawal.

error
string
required

The reason the withdrawal was declined or cancelled. Empty string otherwise. For declined withdrawals, the value is Declined by user ID:<id>: the withdrawal wasn't approved and was declined by the user with this ID.

status
enum<string>
required

Use this field to determine whether the withdrawal was successful. For cancelled and declined withdrawals, use the error field to determine the reason.

  • confirmed: the withdrawal has been completed and can be treated as final on your side
  • pending: the withdrawal exceeds the configured withdrawal limits and is awaiting approval
  • declined: the withdrawal exceeds the configured withdrawal limits, wasn't approved, and was declined
  • cancelled: the withdrawal was cancelled and will not be completed. Common reasons, as returned in the error field:
    • Address is invalid: there is a mistake in the specified address, and it does not match the format required for the specific currency
    • Not enough money on balance: at the time of initiating the withdrawal, you did not have enough funds in the balance of the currency being withdrawn. Top up the balance and reinitiate the withdrawal. Automatic conversion is not possible for security reasons, so the balance must be in the exact currency being withdrawn and you must convert the funds manually
    • Total of negative balances exceeds the allowed value: the total negative balances across all currencies exceed <amount>. Top up your balance and reinitiate the withdrawal
    • Destination account tag is required: the destination address requires a tag (also called a memo or destination tag) to send the funds to the correct recipient, but none was provided in the withdrawal request. Specify the required tag and reinitiate the withdrawal

No callbacks are sent while a withdrawal is processing. A confirmed callback is sent once the transaction is confirmed in the blockchain, and a cancelled callback if the withdrawal fails.

Available options:
confirmed,
pending,
declined,
cancelled
end_user_reference
string

The end_user_reference you provided when creating the withdrawal via the API. Use it to identify the customer who received the withdrawn funds. Absent for withdrawals initiated in the portal.

currency_sent
object

The currency and amount taken from your balance. Present only in confirmed callbacks, both for withdrawals with and without conversion.

currency_received
object

The currency and amount sent to the address. Present only in confirmed callbacks, both for withdrawals with and without conversion.

origin
enum<string>

Present only for withdrawals initiated in the portal, including individual withdrawals from a mass payout. These callbacks are sent only if business wallet transactions callbacks are enabled in Configure callbacks.

Available options:
business_wallet
Last modified on September 30, 2026