Deposit addresses can be created on the deposit page for each asset. The deposit pages for each asset can be reached from the main wallet page, which can be accessed by clicking the wallet icon in the Deribit user interface.
To go to the deposit page for an asset, click the "Deposit" button next to the relevant asset.
Once on the deposit page, a deposit address can be generated by clicking the 'Generate a deposit address' button.
Deposit addresses can be created on the main account and all subaccounts. Each subaccount will have its own deposit address, and any deposit made to the deposit address of a subaccount will be credited directly to that subaccount.
Important
For custody-enabled clients, the deposit process is different. Please contact custody@deribit.com for guidance. You can also review our Custody Options article.
Note
An account must have completed the verification process on the verification page before a deposit address can be generated.
Note
For Bitcoin, a new address can be generated every 24 hours.
For ERC20, Solana and XRP only one address can be generated.
Note
If an ERC20 address is generated, this address will be automatically added for every asset that uses ERC20 addresses.
Deposit addresses can be found on the deposit page for each asset. The deposit pages for each asset can be reached from the main wallet page, which can be accessed by clicking the wallet icon in the Deribit user interface.
To go to the deposit page for an asset, click the Deposit button next to the relevant asset.
Warning
Make sure you deposit only on the supported protocols. Any deposit made on an incorrect protocol or chain might be unrecoverable.
Extra attention should be paid to which currency and network is being used. Not all networks are supported for all assets. The details will be mentioned on the deposit page for each asset.
Important
If a mistake occurs during the deposit process (e.g. sending unsupported coins or using the wrong network), Deribit provides a coin recovery service under specific conditions. For details, see our Coin Recovery article.
Deposit and withdrawal requirements & restrictions:
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 on the deposit page of the specific asset in question.
In the deposit history, all deposits will be shown. This table is presented per asset.
|
Field |
Description |
|---|---|
|
Address |
The Deribit address the deposit is made to |
|
Amount |
Amount in the relevant Asset |
|
Last update |
Date and time of last update of the deposit |
|
Status |
Either pending (awaiting confirmations or approval from Deribit) or complete |
|
Tx Info |
The transaction hash of the deposit |
|
Note |
A field to add personal notes to the deposit |
There are a few reasons why a deposit may not yet have been credited to an account.
-
Make sure the deposit is done on a supported protocol. If you have already sent funds using a protocol that is not mentioned on the deposit page for the deposited currency, you will need to contact support to see if it is possible to recover the funds. This recovery process can involve extra fees and a lengthy delay.
-
Make sure the deposit is confirmed on the blockchain with enough confirmations. Deposits are credited within a few minutes of reaching the required confirmations.
-
Check that you have added Originator details for the incoming transaction. This is done from the deposit page for the relevant currency, for example here for BTC.
-
The account receiving the deposit must have completed the verification process on the verification page in the main account.
-
Multiple deposits to the same address in one transaction hash are not automatically supported.
This section explains how to generate deposit addresses, check deposit history and submit originator information for the Travel Rule using API. Before calling any private method you must authenticate.
Tip
Please refer to API Authentication Guide for more information regarding authenication.
In order to generate a new on-chain deposit address for a selected currency use the private/create_deposit_address method. Each subaccount has its own deposit address. Only verified accounts can generate addresses.
Example Request:
{
"jsonrpc": "2.0",
"id": 7538,
"method": "private/create_deposit_address",
"params": {
"currency": "BTC"
}
}
Response: On success the API returns an object with:
-
address– New deposit address on the blockchain -
creation_timestamp– UNIX millisecond timestamp when the address was created -
currency– Asset for which the address was created -
type– Always deposit
{
"jsonrpc": "2.0",
"id": 7538,
"result": {
"address": "2N8udZGBc1hLRCFsU9kGwMPpmYUwMFTuCwB",
"creation_timestamp": 1550575165170,
"currency": "BTC",
"type": "deposit"
}
}
If you already generated an address and only want to retrieve it, use /private/get_current_deposit_address with the same currency parameter. This returns the existing address and its status.
In order to obtain a list of completed or pending deposits for a selected currency, use the private/get_deposits method. This method returns information about past deposits, including the deposit address, credited amount, last update time, current status (pending or completed), and the blockchain transaction hash. The API provides the same details that are visible in the web deposit history.
Example Request:
{
"jsonrpc": "2.0",
"id": 5611,
"method": "private/get_deposits",
"params": {
"currency": "BTC",
"count": 10,
"offset": 0
}
}
Response: The result has the fields count and data. Each entry in data includes:
-
address– Deposit address on Deribit -
amount– Amount credited in the relevant currency -
clearance_state- Clearance state indicating the current status of the transaction clearance process. Allowed values:-
in_progress: clearance process is in progress -
pending_admin_decision: transaction is under manual review by Deribit admin -
pending_user_input: user should provide additional information regarding the transaction -
success: clearance process completed successfully -
failed: clearance process failed, transaction is rejected -
cancelled: transaction is cancelled (currently used only for withdrawals, meaning the withdrawal is cancelled) -
refund_initiated: clearance process failed, transaction refund is initiated, funds are removed from Deribit balance (valid for deposits only) -
refunded: clearance process failed, deposit amount is refunded back to the client (valid for deposits only)
-
-
currency– Name of the currency -
note(optional) - Optional note added by the user to the deposit on web-page. -
received_timestamp– When the deposit transaction was first seen on-chain -
refund_transaction_id- Blockchain transaction hash if refunded -
source_address- Originator address -
state– Deposit state. Possible states:-
pending: deposit detected on blockchain/system, compliance not yet finished -
completed: compliance check finished successfully -
rejected: deposit failed compliance and must be handled manually -
replaced: deposit transaction was replaced on the blockchain and should have a new transaction hash
-
-
transaction_id– Blockchain transaction hash -
updated_timestamp– Last update time (used when status changes)
{
"jsonrpc": "2.0",
"id": 5611,
"result": {
"count": 1,
"data": [
{
"address": "2N35qDKDY22zmJq9eSyiAerMD4enJ1xx6ax",
"amount": 5,
"currency": "BTC",
"received_timestamp": 1549295017670,
"state": "completed",
"transaction_id": "230669110fdaf0a0dbcdc079b6b8b43d5af29cc73683835b9bc6b3406c065fda",
"updated_timestamp": 1549295130159
}
]
}
}
If you receive an empty list, the deposit may not have enough confirmations. Deposits on Deribit are credited a few minutes after the required number of confirmations. Ensure that you are using the correct protocol and network and that the account is verified.
For deposits exceeding AED 3 500 (about USD 953), Deribit must collect and exchange originator data with the sending VASP. If the required information is not received, the deposit will still be credited. However, those funds will be locked and cannot be used for any activity, including withdrawals, transfers, opening new positions, or spot trading, until the originator details are supplied.
In order to provide the originator’s details for deposits that require Travel Rule compliance, you can either:
-
Use the private/add_to_address_book method with
deposit_sourcetype to register a deposit source address for future use, or -
Use the private/set_clearance_originator method to provide details for a single, exact deposit.
In the web interface, deposits arriving from a new blockchain address are marked with a Missing Info label, prompting you to submit the originator’s information.
Information to provide:
-
Type of wallet: use the
personalparameter to confirm whether the deposit comes from your own unhosted wallet (e.g. Ledger, MetaMask). If the wallet is hosted by another exchange, you will need to provide the counterparty VASP details. -
Originator confirmation: if you are not the originator, include the
beneficiary_first_nameandbeneficiary_last_name(orbeneficiary_company_nameif applicable), together with thebeneficiary_address. -
Counterparty VASP: for hosted wallets, provide the VASP’s details, including
beneficiary_vasp_name,beneficiary_vasp_did, and, if required, thebeneficiary_vasp_website. -
Consent: use the
agreedparameter to confirm that you allow Deribit to share the provided information with third parties as part of Travel Rule compliance.
Example Request:
{
"jsonrpc": "2.0",
"method": "private/add_to_address_book",
"id": 42,
"params": {
"currency": "BTC",
"type": "deposit_source",
"address": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf0uyj",
"label": "Main address",
"beneficiary_vasp_name": "Money`s Gone",
"beneficiary_vasp_did": "did:example:123456789abcdefghi",
"beneficiary_first_name": "John",
"beneficiary_last_name": "Doe",
"beneficiary_address": "NL, Amsterdam, Street, 1",
"agreed": true,
"personal": false
}
}
Response:
{
"jsonrpc": "2.0",
"id": 42,
"result": {
"address": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf0uyj",
"creation_timestamp": 1536569522277,
"currency": "BTC",
"type": "deposit_source",
"label": "Money's Gone wallet",
"beneficiary_vasp_name": "Money`s Gone",
"beneficiary_vasp_did": "did:example:123456789abcdefghi",
"beneficiary_first_name": "John",
"beneficiary_last_name": "Doe",
"beneficiary_address": "NL, Amsterdam, Street, 1",
"agreed": true,
"personal": false,
"info_required": false
}
}
-
Supported protocols and confirmations: Check the supported networks and the number of confirmations required for each asset on the deposit page.
-
Always use correct chains: Depositing via unsupported chains or wrapped tokens may result in unrecoverable funds.
-
Verification required: You must complete account verification before you can generate deposit addresses.
-
Multiple deposits in one transaction: Sending multiple deposits in a single transaction may delay crediting.
-
Travel Rule compliance: Provide accurate originator details when prompted. Incomplete or incorrect information can lead to withdrawal locks.