---
title: "GET /private/withdraw"
method: GET
path: "/private/withdraw"
tags: ["Wallet", "Private"]
---

# GET /private/withdraw

`GET /private/withdraw`

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)

## Query parameters

- `currency` 'BTC' | 'ETH' | 'USDC' | 'USDT' | 'EURR', required — Currency, i.e `"BTC"`, `"ETH"`, `"USDC"`
- `address` string, required
- `amount` number, required
- `priority` 'insane' | 'extreme_high' | 'very_high' | 'high' | 'mid' | 'low' | 'very_low'
- `nonce` string — Nonce

## Response `200`

Success response

- PrivateWithdrawResponse
  - `jsonrpc` '2.0', required — The JSON-RPC version (2.0)
  - `id` integer — The id that was sent in the request
  - `result` Withdrawal, required
    - `address` string, required — Address in proper format for currency
    - `amount` number, required — Amount of funds in given currency
    - `confirmed_timestamp` integer, nullable — The timestamp (milliseconds since the Unix epoch) of withdrawal confirmation, `null` when not confirmed
    - `created_timestamp` integer — The timestamp (milliseconds since the Unix epoch)
    - `currency` 'BTC' | 'ETH' | 'USDC' | 'USDT' | 'EURR', required — Currency, i.e `"BTC"`, `"ETH"`, `"USDC"`
    - `fee` number — Fee in currency
    - `id` integer — Withdrawal id in Deribit system
    - `priority` number — Id of priority level
    - `state` 'unconfirmed' | 'confirmed' | 'cancelled' | 'completed' | 'interrupted' | 'rejected', required — Withdrawal state, allowed values : `unconfirmed`, `confirmed`, `cancelled`, `completed`, `interrupted`, `rejected`
    - `transaction_id` string, nullable, required — Transaction id in proper format for currency, `null` if id is not available
    - `updated_timestamp` integer, required — The timestamp (milliseconds since the Unix epoch)
    - `nonce` string — Optional idempotency nonce if provided in the request

---

[API](https://skmtc.net/deribit/apis/deribit-api.md) · [All operations](https://skmtc.net/deribit/apis/deribit-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/deribit/deribit-api/versions/78a0783dbfcc/schema)
