openapi: 3.0.0 info: title: Deribit Account Management Wallet API version: 2.1.1 servers: - url: https://test.deribit.com/api/v2 tags: - name: Wallet paths: /private/get_deposits: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/currency' description: The currency symbol - name: count required: false in: query schema: type: integer maximum: 1000 minimum: 1 description: Number of requested items, default - `10`, maximum - `1000` - name: offset in: query required: false schema: example: 10 type: integer description: The offset for pagination, default - `0` responses: '200': $ref: '#/components/responses/PrivateGetDepositsResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 5611 method: private/get_deposits params: currency: BTC count: 10 offset: 0 description: JSON-RPC Request Example description: JSON-RPC request body description: 'Retrieve the latest user deposits. Returns a list of deposit transactions with their status, amounts, addresses, confirmations, and other relevant details. **📖 Related Article:** [Managing Deposits](https://docs.deribit.com/articles/managing-deposits-api) **Scope:** `wallet:read` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fget_deposits) ' x-mint: metadata: title: private/get_deposits og:title: private/get_deposits keywords: - private/get_deposits - currency - count - offset - data - address - amount - state - transaction_id - source_address - received_timestamp - updated_timestamp - note - clearance_state - refund_transaction_id href: /api-reference/wallet/private-get_deposits /private/create_deposit_address: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/currency' description: The currency symbol responses: '200': $ref: '#/components/responses/PrivateDepositAddressResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 7538 method: private/create_deposit_address params: currency: BTC description: JSON-RPC Request Example description: JSON-RPC request body description: 'Creates a new deposit address for the specified currency. Each currency can have multiple deposit addresses. Use this method to generate a new address for receiving deposits. **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. **📖 Related Article:** [Managing Deposits](https://docs.deribit.com/articles/managing-deposits-api) **Scope:** `wallet:read_write` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fcreate_deposit_address) ' x-mint: metadata: title: private/create_deposit_address og:title: private/create_deposit_address keywords: - private/create_deposit_address - currency - creation_timestamp - address - type href: /api-reference/wallet/private-create_deposit_address /private/get_current_deposit_address: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/currency' description: The currency symbol responses: '200': $ref: '#/components/responses/PrivateDepositAddressResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 3461 method: private/get_current_deposit_address params: currency: BTC description: JSON-RPC Request Example description: JSON-RPC request body description: 'Retrieve the current deposit address for the specified currency. Returns the most recently created or used deposit address for receiving funds. **📖 Related Article:** [Managing Deposits](https://docs.deribit.com/articles/managing-deposits-api) **Scope:** `wallet:read` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fget_current_deposit_address) ' x-mint: metadata: title: private/get_current_deposit_address og:title: private/get_current_deposit_address keywords: - private/get_current_deposit_address - currency - creation_timestamp - address - type href: /api-reference/wallet/private-get_current_deposit_address /private/withdraw: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/currency' description: The currency symbol - name: address in: query schema: type: string required: true description: Address in currency format, it must be in address book - name: amount in: query schema: type: number required: true description: Amount of funds to be withdrawn - name: priority in: query schema: type: string enum: - insane - extreme_high - very_high - high - mid - low - very_low required: false description: 'Withdrawal priority, optional for BTC, default: `high`' - in: query name: nonce required: false schema: $ref: '#/components/schemas/nonce' description: Optional idempotency nonce. If provided, subsequent requests with the same nonce will return the previously created transaction instead of creating a new one. Must be 8-128 characters. The nonce is persisted on the resulting transaction and returned in the response. responses: '200': $ref: '#/components/responses/PrivateWithdrawResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 6931 method: private/withdraw params: currency: BTC address: 2NBqqD5GRJ8wHy1PYyCXTe9ke5226FhavBz amount: 0.4 priority: mid description: JSON-RPC Request Example description: JSON-RPC request body description: 'Creates a new withdrawal request. This method allows you to withdraw funds from your account to an external address. The withdrawal can be configured with priority settings and must use an address from your address book. **Withdrawal Checks & Balance Updates** 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. The web-interface Withdrawal tab displays all withdrawals regardless of their status (pending, cancelled, rejected, or completed). **📖 Related Article:** [Managing Withdrawals](https://docs.deribit.com/articles/managing-withdrawals-api) **Scope:** `wallet:read_write` and mainaccount [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fwithdraw) ' x-mint: metadata: title: private/withdraw og:title: private/withdraw keywords: - private/withdraw - currency - address - amount - priority - nonce - confirmed_timestamp - created_timestamp - fee - state - transaction_id - updated_timestamp href: /api-reference/wallet/private-withdraw /private/cancel_withdrawal: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/currency' description: The currency symbol - in: query name: id required: true schema: type: number example: 1 description: The withdrawal id responses: '200': $ref: '#/components/responses/PrivateWithdrawResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 7420 method: private/cancel_withdrawal params: currency: BTC id: 1 description: JSON-RPC Request Example description: JSON-RPC request body description: 'Cancels a pending withdrawal request. This method allows you to cancel a withdrawal that has not yet been processed. Once a withdrawal is processed, it cannot be cancelled. **📖 Related Article:** [Managing Withdrawals](https://docs.deribit.com/articles/managing-withdrawals-api) **Scope:** `wallet:read_write` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fcancel_withdrawal) ' x-mint: metadata: title: private/cancel_withdrawal og:title: private/cancel_withdrawal keywords: - private/cancel_withdrawal - currency - id - address - amount - confirmed_timestamp - created_timestamp - fee - priority - state - transaction_id - updated_timestamp - nonce href: /api-reference/wallet/private-cancel_withdrawal /private/get_withdrawals: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/currency' description: The currency symbol - name: count required: false in: query schema: type: integer maximum: 1000 minimum: 1 description: Number of requested items, default - `10`, maximum - `1000` - name: offset in: query required: false schema: example: 10 type: integer description: The offset for pagination, default - `0` responses: '200': $ref: '#/components/responses/PrivateGetWithdrawalsResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 2745 method: private/get_withdrawals params: currency: BTC count: 10 offset: 0 description: JSON-RPC Request Example description: JSON-RPC request body description: 'Retrieve the latest user withdrawals. Returns a list of withdrawal requests with their status, amounts, addresses, and other relevant details. **📖 Related Article:** [Managing Withdrawals](https://docs.deribit.com/articles/managing-withdrawals-api) **Scope:** `wallet:read` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fget_withdrawals) ' x-mint: metadata: title: private/get_withdrawals og:title: private/get_withdrawals keywords: - private/get_withdrawals - currency - count - offset - data - address - amount - confirmed_timestamp - created_timestamp - fee - priority - state - transaction_id - updated_timestamp - nonce href: /api-reference/wallet/private-get_withdrawals /private/get_address_book: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/wallet_currency' description: The currency symbol - name: type in: query schema: $ref: '#/components/schemas/address_book_type' required: true description: Address book type responses: '200': $ref: '#/components/responses/PrivateAddressBookResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 31 method: private/get_address_book params: currency: BTC type: withdrawal description: JSON-RPC Request Example description: JSON-RPC request body description: 'Retrieves the address book entries of the given type. Returns all saved addresses that can be used for withdrawals, along with their labels and beneficiary information if available. **📖 Related Article:** [Managing Withdrawals](https://docs.deribit.com/articles/managing-withdrawals-api) **Scope:** `wallet:read` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fget_address_book) ' x-mint: metadata: title: private/get_address_book og:title: private/get_address_book keywords: - private/get_address_book - currency - type - address - creation_timestamp - label - beneficiary_vasp_name - beneficiary_vasp_did - beneficiary_vasp_website - beneficiary_first_name - beneficiary_last_name - beneficiary_company_name - beneficiary_address - agreed - personal - info_required - status - waiting_timestamp - requires_confirmation - requires_confirmation_change href: /api-reference/wallet/private-get_address_book /private/add_to_address_book: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/wallet_currency' description: The currency symbol - name: type in: query schema: $ref: '#/components/schemas/address_book_type' required: true description: Address book type - name: address in: query schema: type: string required: true description: Address in currency format - name: label in: query schema: $ref: '#/components/schemas/address_label' required: true description: Label of the address book entry - name: beneficiary_vasp_name in: query schema: $ref: '#/components/schemas/beneficiary_vasp_name' required: true description: Name of beneficiary VASP - name: beneficiary_vasp_did in: query schema: $ref: '#/components/schemas/beneficiary_vasp_did' required: true description: DID of beneficiary VASP - name: beneficiary_vasp_website in: query schema: $ref: '#/components/schemas/beneficiary_vasp_website' required: false description: Website of the beneficiary VASP. Required if the address book entry is associated with a VASP that is not included in the list of known VASPs - name: beneficiary_first_name in: query schema: $ref: '#/components/schemas/beneficiary_first_name' description: First name of beneficiary (if beneficiary is a person) required: false - name: beneficiary_last_name in: query schema: $ref: '#/components/schemas/beneficiary_last_name' description: First name of beneficiary (if beneficiary is a person) required: false - name: beneficiary_company_name in: query schema: $ref: '#/components/schemas/beneficiary_company_name' description: Beneficiary company name (if beneficiary is a company) required: false - name: beneficiary_address in: query schema: $ref: '#/components/schemas/beneficiary_address' required: true description: Geographical address of the beneficiary - name: agreed in: query schema: $ref: '#/components/schemas/agree_to_share_with_3rd_party' required: true description: Indicates that the user agreed to shared provided information with 3rd parties - name: personal in: query schema: $ref: '#/components/schemas/personal_wallet' required: true description: The user confirms that he provided address belongs to him and he has access to it via an un-hosted wallet software - name: extra_currencies in: query schema: $ref: '#/components/schemas/extra_currencies' description: The user can pass a list of currencies to add the address for. It is currently available ONLY for ERC20 currencies. Without passing this paramater for an ERC20 currency, the address will be added to ALL of the ERC20 currencies. required: false responses: '200': $ref: '#/components/responses/PrivateAddToAddressBookResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 42 method: private/add_to_address_book params: currency: BTC type: withdrawal 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 description: JSON-RPC Request Example description: JSON-RPC request body description: 'Adds a new address to the address book. The address book allows you to store addresses for withdrawals, along with beneficiary information for compliance purposes. **📖 Related Article:** [Managing Withdrawals](https://docs.deribit.com/articles/managing-withdrawals-api) **Scope:** `wallet:read_write` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fadd_to_address_book) ' x-mint: metadata: title: private/add_to_address_book og:title: private/add_to_address_book keywords: - private/add_to_address_book - currency - type - address - label - beneficiary_vasp_name - beneficiary_vasp_did - beneficiary_vasp_website - beneficiary_first_name - beneficiary_last_name - beneficiary_company_name - beneficiary_address - agreed - personal - extra_currencies - creation_timestamp - info_required - status - waiting_timestamp - requires_confirmation - requires_confirmation_change href: /api-reference/wallet/private-add_to_address_book /private/remove_from_address_book: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/wallet_currency' description: The currency symbol - name: type in: query schema: $ref: '#/components/schemas/address_book_type' required: true description: Address book type - name: address in: query schema: type: string required: true description: Address in currency format, it must be in address book responses: '200': $ref: '#/components/responses/PrivateRemoveFromAddressBookResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 42 method: private/remove_from_address_book params: currency: BTC type: transfer address: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf0uyj description: JSON-RPC Request Example description: JSON-RPC request body description: 'Removes an entry from the address book. This method allows you to delete a saved address that is no longer needed. **📖 Related Article:** [Managing Withdrawals](https://docs.deribit.com/articles/managing-withdrawals-api) **Scope:** `wallet:read_write` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fremove_from_address_book) ' x-mint: metadata: title: private/remove_from_address_book og:title: private/remove_from_address_book keywords: - private/remove_from_address_book - currency - type - address href: /api-reference/wallet/private-remove_from_address_book /private/update_in_address_book: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/wallet_currency' description: The currency symbol - name: type in: query schema: $ref: '#/components/schemas/address_book_type' required: true description: Address book type - name: address in: query schema: type: string required: true description: Address in currency format, it must be in address book - name: beneficiary_vasp_name in: query schema: $ref: '#/components/schemas/beneficiary_vasp_name' required: true description: Name of beneficiary VASP - name: beneficiary_vasp_did in: query schema: $ref: '#/components/schemas/beneficiary_vasp_did' required: true description: DID of beneficiary VASP - name: beneficiary_vasp_website in: query schema: $ref: '#/components/schemas/beneficiary_vasp_website' required: false description: Website of the beneficiary VASP. Required if the address book entry is associated with a VASP that is not included in the list of known VASPs - name: beneficiary_first_name in: query schema: $ref: '#/components/schemas/beneficiary_first_name' description: First name of beneficiary (if beneficiary is a person) required: false - name: beneficiary_last_name in: query schema: $ref: '#/components/schemas/beneficiary_last_name' description: First name of beneficiary (if beneficiary is a person) required: false - name: beneficiary_company_name in: query schema: $ref: '#/components/schemas/beneficiary_company_name' description: Beneficiary company name (if beneficiary is a company) required: false - name: beneficiary_address in: query schema: $ref: '#/components/schemas/beneficiary_address' required: true description: Geographical address of the beneficiary - name: agreed in: query schema: $ref: '#/components/schemas/agree_to_share_with_3rd_party' required: true description: Indicates that the user agreed to shared provided information with 3rd parties - name: personal in: query schema: $ref: '#/components/schemas/personal_wallet' required: true description: The user confirms that he provided address belongs to him and he has access to it via an un-hosted wallet software - name: label in: query schema: $ref: '#/components/schemas/address_label' required: true description: Label of the address book entry responses: '200': $ref: '#/components/responses/PrivateUpdateInAddressBookResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 42 method: private/update_in_address_book params: currency: BTC type: withdrawal 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 description: JSON-RPC Request Example description: JSON-RPC request body description: 'Updates beneficiary information for an address in the address book. This method allows you to add or modify beneficiary details required for compliance purposes when making withdrawals to certain addresses. **📖 Related Article:** [Managing Withdrawals](https://docs.deribit.com/articles/managing-withdrawals-api) **Scope:** `wallet:read_write` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fupdate_in_address_book) ' x-mint: metadata: title: private/update_in_address_book og:title: private/update_in_address_book keywords: - private/update_in_address_book - currency - type - address - beneficiary_vasp_name - beneficiary_vasp_did - beneficiary_vasp_website - beneficiary_first_name - beneficiary_last_name - beneficiary_company_name - beneficiary_address - agreed - personal - label href: /api-reference/wallet/private-update_in_address_book /private/save_address_beneficiary: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/wallet_currency' description: The currency symbol - name: address in: query schema: type: string required: true description: Address in currency format - name: tag in: query schema: type: string required: false description: Tag for XRP addresses - name: agreed in: query schema: $ref: '#/components/schemas/agree_to_share_with_3rd_party' required: true description: Indicates that the user agreed to shared provided information with 3rd parties - name: personal in: query schema: $ref: '#/components/schemas/personal_wallet' required: true description: The user confirms that he provided address belongs to him and he has access to it via an un-hosted wallet software - name: unhosted in: query schema: type: boolean required: true description: Indicates if the address belongs to an unhosted wallet - name: beneficiary_vasp_name in: query schema: $ref: '#/components/schemas/beneficiary_vasp_name' required: true description: Name of beneficiary VASP - name: beneficiary_vasp_did in: query schema: $ref: '#/components/schemas/beneficiary_vasp_did' required: true description: DID of beneficiary VASP - name: beneficiary_vasp_website in: query schema: $ref: '#/components/schemas/beneficiary_vasp_website' required: false description: Website of the beneficiary VASP. Required if the address book entry is associated with a VASP that is not included in the list of known VASPs - name: beneficiary_first_name in: query schema: $ref: '#/components/schemas/beneficiary_first_name' description: First name of beneficiary (if beneficiary is a person) required: false - name: beneficiary_last_name in: query schema: $ref: '#/components/schemas/beneficiary_last_name' description: First name of beneficiary (if beneficiary is a person) required: false - name: beneficiary_company_name in: query schema: $ref: '#/components/schemas/beneficiary_company_name' description: Beneficiary company name (if beneficiary is a company) required: false - name: beneficiary_address in: query schema: $ref: '#/components/schemas/beneficiary_address' required: true description: Geographical address of the beneficiary responses: '200': $ref: '#/components/responses/PrivateSaveAddressBeneficiaryResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 42 method: private/save_address_beneficiary params: currency: BTC address: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf0uyj agreed: true personal: false unhosted: false beneficiary_vasp_name: Money's Gone beneficiary_vasp_did: did:example:123456789abcdefghi beneficiary_vasp_website: https://example.com beneficiary_first_name: John beneficiary_last_name: Doe beneficiary_company_name: Example Corp beneficiary_address: NL, Amsterdam, Street, 1 description: JSON-RPC Request Example description: JSON-RPC request body description: 'Saves beneficiary information for an address. This method allows you to store beneficiary details required for compliance purposes, including VASP information, personal details, and wallet type classification. **📖 Related Article:** [Managing Withdrawals](https://docs.deribit.com/articles/managing-withdrawals-api) **Scope:** `wallet:read_write` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fsave_address_beneficiary) ' x-mint: metadata: title: private/save_address_beneficiary og:title: private/save_address_beneficiary keywords: - private/save_address_beneficiary - currency - address - tag - agreed - personal - unhosted - beneficiary_vasp_name - beneficiary_vasp_did - beneficiary_vasp_website - beneficiary_first_name - beneficiary_last_name - beneficiary_company_name - beneficiary_address - user_id - created - updated href: /api-reference/wallet/private-save_address_beneficiary /private/get_address_beneficiary: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/wallet_currency' description: The currency symbol - name: address in: query schema: type: string required: true description: Address in currency format - name: tag in: query schema: type: string required: false description: Tag for XRP addresses responses: '200': $ref: '#/components/responses/PrivateGetAddressBeneficiaryResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 42 method: private/get_address_beneficiary params: currency: BTC address: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf0uyj description: JSON-RPC Request Example description: JSON-RPC request body description: 'Retrieves beneficiary information for a specific address. Returns the stored beneficiary details including VASP information, personal details, and wallet type classification. **📖 Related Article:** [Managing Withdrawals](https://docs.deribit.com/articles/managing-withdrawals-api) **Scope:** `wallet:read` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fget_address_beneficiary) ' x-mint: metadata: title: private/get_address_beneficiary og:title: private/get_address_beneficiary keywords: - private/get_address_beneficiary - currency - address - tag - user_id - agreed - personal - unhosted - beneficiary_vasp_name - beneficiary_vasp_did - beneficiary_vasp_website - beneficiary_first_name - beneficiary_last_name - beneficiary_company_name - beneficiary_address - created - updated href: /api-reference/wallet/private-get_address_beneficiary /private/delete_address_beneficiary: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/wallet_currency' description: The currency symbol - name: address in: query schema: type: string required: true description: Address in currency format - name: tag in: query schema: type: string required: false description: Tag for XRP addresses responses: '200': $ref: '#/components/responses/PrivateDeleteAddressBeneficiaryResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 42 method: private/delete_address_beneficiary params: currency: BTC address: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf0uyj description: JSON-RPC Request Example description: JSON-RPC request body description: 'Deletes beneficiary information for a specific address. **📖 Related Article:** [Managing Withdrawals](https://docs.deribit.com/articles/managing-withdrawals-api) **Scope:** `wallet:read_write` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fdelete_address_beneficiary) ' x-mint: metadata: title: private/delete_address_beneficiary og:title: private/delete_address_beneficiary keywords: - private/delete_address_beneficiary - currency - address - tag href: /api-reference/wallet/private-delete_address_beneficiary /private/list_address_beneficiaries: get: parameters: - name: currency required: false in: query schema: $ref: '#/components/schemas/wallet_currency' description: The currency symbol - name: address in: query schema: type: string required: false description: Address in currency format - name: tag in: query schema: type: string required: false description: Tag for XRP addresses - name: created_before in: query schema: $ref: '#/components/schemas/timestamp' required: false description: Filter by creation timestamp (before) - name: created_after in: query schema: $ref: '#/components/schemas/timestamp' required: false description: Filter by creation timestamp (after) - name: updated_before in: query schema: $ref: '#/components/schemas/timestamp' required: false description: Filter by update timestamp (before) - name: updated_after in: query schema: $ref: '#/components/schemas/timestamp' required: false description: Filter by update timestamp (after) - name: personal in: query schema: type: boolean required: false description: Filter by personal wallet flag - name: unhosted in: query schema: type: boolean required: false description: Filter by unhosted wallet flag - name: beneficiary_vasp_name in: query schema: $ref: '#/components/schemas/beneficiary_vasp_name' required: false description: Filter by beneficiary VASP name - name: beneficiary_vasp_did in: query schema: $ref: '#/components/schemas/beneficiary_vasp_did' required: false description: Filter by beneficiary VASP DID - name: beneficiary_vasp_website in: query schema: $ref: '#/components/schemas/beneficiary_vasp_website' required: false description: Website of the beneficiary VASP. Required if the address book entry is associated with a VASP that is not included in the list of known VASPs - name: limit in: query schema: type: integer minimum: 1 maximum: 1000 default: 100 required: false description: Maximum number of results to return - name: continuation in: query required: false schema: type: string example: xY7T6cutS3t2B9YtaDkE6TS379oKnkzTvmEDUnEUP2Msa9xKWNNaT description: Continuation token for pagination responses: '200': $ref: '#/components/responses/PrivateListAddressBeneficiariesResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 42 method: private/list_address_beneficiaries params: currency: BTC limit: 10 description: JSON-RPC Request Example description: JSON-RPC request body description: 'Lists address beneficiaries with optional filtering and pagination. Returns all saved beneficiary information for addresses, with support for filtering by currency, address, wallet type, VASP details, and date ranges. **📖 Related Article:** [Managing Withdrawals](https://docs.deribit.com/articles/managing-withdrawals-api) **Scope:** `wallet:read` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Flist_address_beneficiaries) ' x-mint: metadata: title: private/list_address_beneficiaries og:title: private/list_address_beneficiaries keywords: - private/list_address_beneficiaries - currency - address - tag - created_before - created_after - updated_before - updated_after - personal - unhosted - beneficiary_vasp_name - beneficiary_vasp_did - beneficiary_vasp_website - limit - continuation - data - count - user_id - agreed - beneficiary_first_name - beneficiary_last_name - beneficiary_company_name - beneficiary_address - created - updated href: /api-reference/wallet/private-list_address_beneficiaries /private/submit_transfer_to_subaccount: get: tags: - Wallet parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/currency' description: The currency symbol - name: amount in: query schema: type: number required: true description: Amount of funds to be transferred - name: destination in: query schema: type: integer example: 1 required: true description: Id of destination subaccount. Can be found in `My Account >> Subaccounts` tab responses: '200': $ref: '#/components/responses/PrivateSubmitTransferResponse' requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 210 method: private/submit_transfer_to_subaccount params: currency: ETH amount: 12.1234 destination: 20 description: JSON-RPC Request Example description: JSON-RPC request body description: 'Transfer funds from the main account to a subaccount. **📖 Related Article:** [Managing Transfers](https://docs.deribit.com/articles/managing-transfers-api) **Scope:** `wallets:read_write` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fsubmit_transfer_to_subaccount) ' x-mint: metadata: title: private/submit_transfer_to_subaccount og:title: private/submit_transfer_to_subaccount keywords: - private/submit_transfer_to_subaccount - currency - amount - destination - created_timestamp - type - other_side - state - direction - updated_timestamp - nonce href: /api-reference/wallet/private-submit_transfer_to_subaccount /private/submit_transfer_between_subaccounts: get: tags: - Wallet parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/currency' description: The currency symbol - name: amount in: query schema: type: number required: true description: Amount of funds to be transferred - name: destination in: query schema: type: integer example: 1 required: true description: Id of destination subaccount. Can be found in `My Account >> Subaccounts` tab - name: source in: query schema: type: integer example: 1 required: false description: Id of the source (sub)account. Can be found in `My Account >> Subaccounts` tab. By default, it is the Id of the account which made the request. However, if a different "source" is specified, the user must possess the mainaccount scope, and only other subaccounts can be designated as the source. - in: query name: nonce required: false schema: $ref: '#/components/schemas/nonce' description: Optional idempotency nonce. If provided, subsequent requests with the same nonce will return the previously created transaction instead of creating a new one. Must be 8-128 characters. The nonce is persisted on the resulting transaction and returned in the response. responses: '200': $ref: '#/components/responses/PrivateSubmitTransferResponse' requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 210 method: private/submit_transfer_between_subaccounts params: currency: ETH amount: 12.1234 destination: 20 source: 10 description: JSON-RPC Request Example description: JSON-RPC request body description: 'Transfer funds between two subaccounts or between a subaccount and the main account. **📖 Related Article:** [Managing Transfers](https://docs.deribit.com/articles/managing-transfers-api) **Scope:** `wallets:read_write` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fsubmit_transfer_between_subaccounts) ' x-mint: metadata: title: private/submit_transfer_between_subaccounts og:title: private/submit_transfer_between_subaccounts keywords: - private/submit_transfer_between_subaccounts - currency - amount - destination - source - nonce - created_timestamp - type - other_side - state - direction - updated_timestamp href: /api-reference/wallet/private-submit_transfer_between_subaccounts /private/submit_transfer_to_user: get: tags: - Wallet parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/currency' description: The currency symbol - name: amount in: query schema: type: number required: true description: Amount of funds to be transferred - name: destination in: query schema: type: string required: true description: Destination wallet's address taken from address book responses: '200': $ref: '#/components/responses/PrivateSubmitTransferResponse' requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 9421 method: private/submit_transfer_to_user params: currency: ETH amount: 13.456 destination: '0x4aa0753d798d668056920094d65321a8e8913e26' description: JSON-RPC Request Example description: JSON-RPC request body description: 'Transfer funds to another user. This method allows you to send funds from your main account to another Deribit user''s account. The transfer is processed internally and does not require blockchain transactions. **📖 Related Article:** [Managing Transfers](https://docs.deribit.com/articles/managing-transfers-api) **Scope:** `wallet:read_write` and mainaccount [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fsubmit_transfer_to_user) ' x-mint: metadata: title: private/submit_transfer_to_user og:title: private/submit_transfer_to_user keywords: - private/submit_transfer_to_user - currency - amount - destination - created_timestamp - type - other_side - state - direction - updated_timestamp - nonce href: /api-reference/wallet/private-submit_transfer_to_user /private/get_transfers: get: parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/currency' description: The currency symbol - name: count required: false in: query schema: type: integer maximum: 1000 minimum: 1 description: Number of requested items, default - `10`, maximum - `1000` - name: offset in: query required: false schema: example: 10 type: integer description: The offset for pagination, default - `0` responses: '200': $ref: '#/components/responses/PrivateGetTransfersResponse' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 7606 method: private/get_transfers params: currency: BTC count: 10 description: JSON-RPC Request Example description: JSON-RPC request body description: 'Retrieve the user''s transfers list. Returns a list of internal transfers between accounts, subaccounts, or to other users, including their status, amounts, and other relevant details. **📖 Related Article:** [Managing Transfers](https://docs.deribit.com/articles/managing-transfers-api) **Scope:** `wallet:read` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fget_transfers) ' x-mint: metadata: title: private/get_transfers og:title: private/get_transfers keywords: - private/get_transfers - currency - count - offset - data - created_timestamp - type - amount - other_side - state - direction - updated_timestamp - nonce href: /api-reference/wallet/private-get_transfers /private/cancel_transfer_by_id: get: tags: - Wallet parameters: - name: currency required: true in: query schema: $ref: '#/components/schemas/currency' description: The currency symbol - name: id in: query schema: $ref: '#/components/schemas/transfer_id' required: true description: Id of transfer responses: '200': $ref: '#/components/responses/PrivateSubmitTransferResponse' requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 9187 method: private/cancel_transfer_by_id params: currency: BTC id: 2 description: JSON-RPC Request Example description: JSON-RPC request body description: 'Cancel a pending transfer by its ID. This method allows you to cancel a transfer that has not yet been processed. Once a transfer is processed, it cannot be cancelled. **📖 Related Article:** [Managing Transfers](https://docs.deribit.com/articles/managing-transfers-api) **Scope:** `wallet:read_write` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fcancel_transfer_by_id) ' x-mint: metadata: title: private/cancel_transfer_by_id og:title: private/cancel_transfer_by_id keywords: - private/cancel_transfer_by_id - currency - id - created_timestamp - type - amount - other_side - state - direction - updated_timestamp - nonce href: /api-reference/wallet/private-cancel_transfer_by_id /private/get_reward_eligibility: get: tags: - Wallet responses: '200': $ref: '#/components/responses/PrivateGetRewardEligibilityResponse' requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 1 method: private/get_reward_eligibility params: {} description: JSON-RPC Request Example description: JSON-RPC request body description: 'Returns reward eligibility status and APR data for all supported currencies. This method takes no parameters. **📖 Related Support Article:** [Yield reward-bearing coins](https://support.deribit.com/hc/en-us/articles/31424939199261-Yield-reward-bearing-coins) [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fget_reward_eligibility) ' x-mint: metadata: title: private/get_reward_eligibility og:title: private/get_reward_eligibility keywords: - private/get_reward_eligibility - eligibility_status - apr_sma7 href: /api-reference/wallet/private-get_reward_eligibility /private/set_clearance_originator: get: parameters: - in: query name: deposit_id required: true schema: type: string description: 'JSON string containing: currency, user_id, address, tx_hash' description: Id of the deposit - in: query name: originator required: true schema: type: string description: 'JSON string containing: is_personal, company_name, first_name, last_name, address' description: Information about the originator of the deposit responses: '200': $ref: '#/components/responses/deposit' tags: - Wallet requestBody: content: application/json: examples: request: value: jsonrpc: '2.0' id: 1 method: private/set_clearance_originator params: deposit_id: currency: BTC user_id: 123 address: 2NBqqD5GRJ8wHy1PYyCXTe9ke5226FhavBz tx_hash: 230669110fdaf0a0dbcdc079b6b8b43d5af29cc73683835b9bc6b3406c065fda originator: is_personal: false first_name: First last_name: Last company_name: Company Name address: NL, Amsterdam, Street, 1 description: JSON-RPC Request Example description: JSON-RPC request body description: 'Sets originator of the deposit **Scope:** `wallet:read_write` [Try in API console](https://test.deribit.com/api_console?method=%2Fprivate%2Fset_clearance_originator) ' x-mint: metadata: title: private/set_clearance_originator og:title: private/set_clearance_originator keywords: - private/set_clearance_originator - deposit_id - originator - currency - address - amount - state - transaction_id - source_address - received_timestamp - updated_timestamp - note - clearance_state - refund_transaction_id href: /api-reference/wallet/private-set_clearance_originator components: schemas: deposit_state: enum: - pending - completed - rejected - replaced type: string description: 'Deposit state. Allowed values:
pending: deposit detected on blockchain/system, compliance not yet finishedcompleted: compliance check finished successfullyrejected: deposit failed compliance and must be handled manuallyreplaced: deposit transaction was replaced on the blockchain and should have a new transaction hashin_progress: clearance process is in progresspending_admin_decision: transaction is under manual review by Deribit adminpending_user_input: user should provide additional information regarding the transactionsuccess: clearance process completed successfullyfailed: clearance process failed, transaction is rejectedcancelled: 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)