Please refer to API Authentication Guide for more information regarding authentication.
Managing withdrawal addresses
Adding a withdrawal address
To add a new withdrawal address to your address book, use theprivate/add_to_address_book method. Each address must include beneficiary information for Travel Rule compliance.
Example Request
Response
Address delay time
By default, new withdrawal addresses have a 3-day delay before they become available. This means any address that is added will become available for withdrawals after 3 days (72 hours). The delay time is a global setting that affects all assets.- Default value: 3 days
- Minimum value: 0 days
- Maximum value: 60 days
available_at field in the response indicates when the address will become available for withdrawals.
To avoid unexpected delays in the future when you wish to withdraw, it’s a good idea to add at least one withdrawal address as soon as you have created the account.
Retrieving address book
To retrieve all withdrawal addresses in your address book, use theprivate/get_address_book method:
Example Request
Updating a withdrawal address
Addresses added prior to December 2024 may require additional information before they can be used again due to updates in Travel Rule and AML requirements. If your withdrawal address shows “[Missing info]” in the address book, the address requires additional information before it can be used. Use theprivate/update_in_address_book method to update address information:
Example Request
Removing a withdrawal address
To remove an address from your address book, use theprivate/remove_from_address_book method:
Example Request
Travel Rule and beneficiary information
For withdrawals exceeding AED 3,500 (about USD 953), Deribit must collect and exchange beneficiary data with the receiving VASP. To ensure compliance with the Travel Rule, Deribit uses third parties that provide Travel Rule solutions.Saving beneficiary information
When adding or updating a withdrawal address, you must provide beneficiary information:-
Is this address from a private (unhosted) wallet, or from a Virtual Asset Service Provider (VASP)?
is_private_wallet:truefor self-hosted or owned wallets (e.g., Trezor, MetaMask)is_private_wallet:falsefor VASP addresses (e.g., exchanges)
-
Are you the beneficiary of this address?
is_beneficiary:trueif the address belongs to youis_beneficiary:falseif it belongs to someone else (you must provide the beneficiary’s full name)
Using save_address_beneficiary
You can also use theprivate/save_address_beneficiary method to save beneficiary information separately:
Example Request
Retrieving beneficiary information
To retrieve beneficiary information for an address, use theprivate/get_address_beneficiary method:
Example Request
Creating a withdrawal
To create a withdrawal, use theprivate/withdraw method. The withdrawal address must be previously added to your address book and available (past the delay period).
Example Request
Response
Withdrawal statuses
Withdrawals go through several statuses:- Unconfirmed: The withdrawal requires email confirmation. If a secondary email is activated, this status will show until both emails have confirmed the withdrawal. The withdrawal can be cancelled.
- Pending: The withdrawal has the required email confirmation (or none if email confirmation is turned off) and is awaiting processing on Deribit side. The withdrawal can be cancelled*.
- Completed: The withdrawal is processed and presented to our wallet manager. As soon as the withdrawal is broadcast, the corresponding transaction hash will be shown next to the address.
- Cancelled: The withdrawal is cancelled by the account.
- Rejected: The withdrawal is rejected. Most common issue is a missing email confirmation or duplicate initiated withdrawals while there is no available balance to process the request.
- Failed: There is an error with the withdrawal. Reach out to [email protected] for more details.
Withdrawal checks and balance update
Withdrawal funds are checked twice: when a user requests a withdrawal and again when they confirm it via the email link. If available funds decrease between these steps, the withdrawal may be rejected. A withdrawal may also be rejected if the on-chain fee increases between the request and confirmation. The withdrawal amount is deducted only after all checks pass and the transaction is scheduled. Funds are only deducted from the balance once Deribit has processed the withdrawal. The status will change from ‘Pending’ to ‘Completed’.Retrieving withdrawal history
To retrieve a list of withdrawals, use theprivate/get_withdrawals method:
Example Request
Response
The result has the fieldscount and data. Each entry in data includes:
id- The withdrawal IDstate- The state of the withdrawal (e.g., “unconfirmed”, “pending”, “completed”)currency- The currency of the withdrawalamount- The withdrawal amountaddress- The withdrawal addresscreated_timestamp- When the withdrawal was createdupdated_timestamp- When the withdrawal was last updatedfee- The withdrawal feetransaction_hash- The blockchain transaction hash (when completed)
Canceling a withdrawal
Withdrawals can be cancelled if the status is “unconfirmed” or “pending”. To cancel a withdrawal, use theprivate/cancel_withdrawal method:
Example Request
Response
Security settings
Email confirmation
If email confirmation is enabled for an address, an email is sent to the primary email address (and secondary email address if activated) with a confirmation link when a withdrawal is initiated. The confirmation link is valid for 1 hour and needs to be approved on a browser that is logged into Deribit. If email confirmation is toggled off, it will require a one-time approval by email. Once approved via the link inside the confirmation email, the withdrawal address can be used without email confirmation for future withdrawals. If a secondary email is configured in the withdrawal security settings, both email addresses will receive a confirmation link, and both must approve the change.Security key requirements
All withdrawal-related actions require approval with a security key with the scope ‘Wallet’:- Adding a withdrawal address
- Updating a withdrawal address
- Removing a withdrawal address
- Creating a withdrawal
- Changing email confirmation settings
Notes and best practices
- Supported protocols: Check the supported networks for each asset. Unless otherwise indicated, do not use any wrapped tokens or alternative chains/protocols. Deribit may not be able to recover funds sent via methods not specifically mentioned.
- Address delay: Plan ahead and add withdrawal addresses well in advance of when you need them, as new addresses have a default 3-day delay.
- Travel Rule compliance: Provide accurate beneficiary details when adding addresses. Incomplete or incorrect information can lead to withdrawal restrictions.
- Balance checks: Ensure sufficient balance is available at both the request and confirmation stages, as the balance is checked twice.
- Transaction fees: Be aware that on-chain fees may change between request and confirmation, which could cause rejection.
- XRP addresses: For XRP addresses that require a tag, an additional field for the tag will be required.