Withdrawal
Unlike deposits, cryptocurrency withdrawal is similar to classic payment methods. The user fills out a form specifying the address and the withdrawal amount. The client's system then reduces the user's balance and sends a withdrawal request to Crypto2B.
The client's system should then track the status of the withdrawal in one of the following ways:
- Handle callbacks from Crypto2B with withdrawal information (see Callbacks).
- Retrieve withdrawal information by calling the
/withdrawals/{paymentOrderId}API.
Withdrawal process
Sequence of actions
- The client has a BTC balance in Crypto2B.
- The user wants to withdraw funds from their BTC balance in the client's system to their BTC wallet.
- The user uses the "withdrawal" feature in the client's system, selects BTC as the withdrawal currency, and fills out the withdrawal form, specifying the BTC address to which they want to receive the funds and the withdrawal amount.
- The client's system reduces the user's BTC balance by the withdrawal amount.
- The client's system then sends a withdrawal request to Crypto2B.
- Crypto2B reduces the client's BTC balance by the withdrawal amount including the fee, performs withdrawal checks, sends the funds to the user's crypto address on the blockchain, and monitors this transaction on the blockchain.
- If the client's system uses the callback mechanism, Crypto2B sends a callback to the client's system with withdrawal information, including the transaction status, amount, fees, and so on.
- Otherwise, the client's system retrieves withdrawal information, including the transaction status, amount, fee, etc., by calling the API.
- If the withdrawal is unsuccessful, Crypto2B returns the withdrawal amount and fees to the client's BTC balance.
- If the withdrawal status received from Crypto2B is unsuccessful, the client's system returns the amount from the callback to the user's BTC balance.
Withdrawal limits
A withdrawal whose amount is less than the minimum withdrawal limit will not be accepted for processing, and the client's system will receive an error in response to the withdrawal request.
Information about deposit and withdrawal limits can be obtained:
- in the response to the
/instruments/listAPI call - in the personal account, in the "Tools" section
Additional parameters (Memo)
Some cryptocurrencies use a shared address for multiple recipients and require an additional "Memo" parameter (or similar) to identify a specific recipient. For example, XRP uses Memo (Destination Tag) to distinguish deposits from different users at the same address.
If the cryptocurrency requires a Memo, the client's system must request this value from the user and pass it in the tag parameter when calling the withdrawal API.
Withdrawal checks in Crypto2B
Crypto2B performs the following checks on a withdrawal request before sending funds to the user's crypto address on the blockchain:
1. Risk level check
The risk level of the user's crypto address is checked against the risk level acceptable to the client.
If the check fails for a withdrawal request, processing is suspended. The client can then contact support to either continue processing or cancel it.
The risk level of an address can be found out in advance, before creating a withdrawal request, using address check.
User actions in the interface
- The user opens an application (crypto wallet, exchange) where they need to top up their balance of a certain cryptocurrency and gets an address for the deposit.
- The user goes to the client's system, where they have a balance of this cryptocurrency, calls withdrawal from the account, and selects this cryptocurrency.
- The user makes a withdrawal from their balance in the client's system to the address previously obtained for topping up the balance in the third-party application (crypto wallet, exchange).