> For the complete documentation index, see [llms.txt](https://docs.ndax.in/v3/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ndax.in/v3/private-endpoints/deposits/post-withdrawal.md).

# POST: Withdrawal

#### `POST /withdrawals/requests` <a href="#post-withdrawals-requests" id="post-withdrawals-requests"></a>

```
const postWithdrawalRequest = () => {
  const body = {
    withdrawal_account_id: 123,
    participant_code: "ABCDEF",
    amount: "20",
    asset: "BTC",
    account_group: "00SCXM"
  }
  const timestamp = Math.round(Date.now() / 1000)
  const payload = timestamp + 'POST' + '/withdrawals/requests' + JSON.stringify(body)
  const decodedSecret = Buffer.from(apiSecret, 'base64')
  const hmac = crypto.createHmac('sha256', decodedSecret)
  const signedPayload = hmac.update(payload).digest('base64')

  // SET HEADERS
  const headers = {
    'X-NDAX-API-KEY': 'public_key',
    'X-NDAX-SIGNED': signedPayload,
    'X-NDAX-TIMESTAMP': timestamp,
    'X-NDAX-PASSPHRASE': 'passphrase'
  }
  const options = {
    headers,
    body,
    json: true
  }

  return request.post(`https://api.ndax.in/withdrawals/requests`, options)
}
```

> Sample Response

```
{
  "message": {
    "id": 117,
    "withdrawal_account_id": 146,
    "participant_code": "ABCDEF",
    "requestor_participant_code": "ABCDEF",
    "account_group": "00NDAX",
    "requested_amount": "20",
    "settled_amount": null,
    "status": "APPROVED",
    "asset": "BTC",
    "requested_timestamp": 1561996924964,
    "gas_price": null,
    "client_withdrawal_request_id": null,
    "on_chain_status": "PENDING",
    "fee_amount": "0.003163149641603118"
  }
}
```

Creates new withdrawal requests to be settled. Withdrawal requests created through the API go directly into an `APPROVED` state. To retrieve withdrawal account IDs use the `GET /withdrawals/digital_asset_addresses` and `GET /withdrawals/fiat_accounts` endpoints.

There are 3 ways to submit withdrawal requests:

1. The first, standard method uses a `withdrawal_account_id` to choose the location to withdrawal to, which can be for a fiat currency or a digital asset. The account must be in an `APPROVED` state before submitting withdrawal requests to it.
2. The second method allows for submitting a digital asset `address` instead of the `withdrawal_account_id`. When POSTing an `address`, NDAX will first scan to see if you already have an existing `withdrawal_account_id` for that destination, and if not, it will create one automatially and provide you the `withdrawal_account_id` in response. This is not available as standard. Please contact us if you'd like to learn more about this option.
3. The third method allows for submitting a fiat withdrawal `account{}` instead of the `withdrawal_account_id`. When POSTing an `account{}`, NDAX will first scan to see if you already have an existing `withdrawal_account_id` for that destination, and if not, it will create one automatially and provide you the `withdrawal_account_id` in response. This is not available as standard. Please contact us if you'd like to learn more about this option.

Request body:

<table><thead><tr><th>Parameter</th><th width="487.3333333333333">Description</th><th>Type</th></tr></thead><tbody><tr><td>client_withdrawal_request_id</td><td>A unique identifier for the withdrawal, generally produced by the Platform on which the trade was executed<br>Note: this must be unique, per platform, per 24 hour period</td><td>string</td></tr><tr><td>withdrawal_account_id</td><td>The whitelisted withdrawal account or address to withdraw funds to<br>Note: only one of <code>withdrawal_account_id</code>, <code>address</code> or <code>account{}</code> can be submitted per withdrawal, but NDAX will always respond with <code>withdrawal_account_id</code></td><td>string</td></tr><tr><td>address</td><td>The digital asset address to withdraw funds to, which may or may not already exist in NDAX as an approved <code>withdrawal_account_id</code><br>Note: only one of <code>withdrawal_account_id</code>, <code>address</code> or <code>account{}</code> can be submitted per withdrawal, but NDAX will always respond with <code>withdrawal_account_id</code></td><td>string</td></tr><tr><td>account{}</td><td>The fiat account to withdraw funds to, which may or may not already exist in NDAX as an approved <code>withdrawal_account_id</code><br>Note: only one of <code>withdrawal_account_id</code>, <code>address</code> or <code>account{}</code> can be submitted per withdrawal, but NDAX will always respond with <code>withdrawal_account_id</code></td><td>object</td></tr><tr><td>participant_code</td><td>The participant code against whom the withdrawal will be made</td><td>string</td></tr><tr><td>account_group</td><td>The account group to withdraw against, e.g. <code>00SCXM</code> for the Seed Digital Commodities Market account group</td><td>string</td></tr><tr><td>account_label</td><td>The account label associated with the account</td><td>string</td></tr><tr><td>amount</td><td>The amount to withdraw</td><td>string</td></tr><tr><td>asset</td><td>The asset code for the withdrawal request, e.g. <code>BTC</code></td><td>string</td></tr><tr><td>destination_tag</td><td>For tag-based assets, please provide the memo id/destination tag value in this field. For more information on when and how to populate this field, please refer here</td><td>string</td></tr><tr><td>no_destination_tag</td><td>The value should be true or false. For more information on when and how to populate this field, please refer here</td><td>boolean</td></tr><tr><td>gas_price</td><td>Applicable only for ERC-20 tokens, the transaction fee payable on the Ethereum network - refer to our FAQ on how this works</td><td>string</td></tr><tr><td>input_data</td><td>Applicable only for smart contract executions on the Ethereum blockchain. This is the ABI encoding of the function and its arguments in RLP format.</td><td>string</td></tr></tbody></table>

Account field shape:

<table><thead><tr><th width="191.33333333333331">Parameter</th><th>Description</th><th>Type</th></tr></thead><tbody><tr><td>name</td><td>The nickname given to the withdrawal account<br>Note: NDAX will append the last 4 digits of the account number to this when saving it</td><td>string</td></tr><tr><td>limit</td><td>The limit applied to the account on a per-withdrawal basis</td><td>number</td></tr><tr><td>type</td><td>The type of account: <code>REAL_TIME_FIAT</code> for 24/7 e₹ withdrawals, e₹ for International  wires or  SWIFT <code>INTERNATIONAL_FIAT</code> for international wires</td><td>string</td></tr><tr><td>beneficiary_name</td><td>The owner of the account at the withdrawal destination</td><td>string</td></tr><tr><td>account_number</td><td>The unique IBAN or account number for the final withdrawal destination</td><td>string</td></tr><tr><td>bank_name</td><td>The name of the destination financial institution</td><td>string</td></tr><tr><td>routing_number</td><td>For US wires, the ABA routing number identifies the destination financial institution</td><td>string</td></tr><tr><td>swift_code</td><td>SWIFT code, if applicable</td><td>string</td></tr><tr><td>recipient_instructions</td><td>Any additional instructions on the account</td><td>string</td></tr><tr><td>intermediary_<br>bank_name</td><td>Intermediary bank name, if applicable</td><td>string</td></tr><tr><td>intermediary_<br>bank_code_type</td><td>Intermediary bank identifier code type, if applicable<br>Options include <code>SWIFT</code></td><td>string</td></tr><tr><td>intermediary_<br>bank_code</td><td>Intermediary bank identifier that corresponds to <code>intermediary_bank_code_type</code>, if applicable</td><td>string</td></tr><tr><td>intermediary_<br>bank_account_number</td><td>Intermediary bank IBAN or account number, if applicable</td><td>string</td></tr><tr><td>correspondent_<br>bank_name</td><td>Correspondent bank name, if applicable</td><td>string</td></tr><tr><td>correspondent_<br>bank_code_type</td><td>Correspondent bank identifier code type, if applicable<br>Options include <code>SWIFT</code></td><td>string</td></tr><tr><td>correspondent_<br>bank_code</td><td>Correspondent bank identifier that corresponds to <code>correspondent_bank_code_type</code>, if applicable</td><td>string</td></tr><tr><td>correspondent_<br>bank_account_number</td><td>Correspondent bank IBAN or account number, if applicable</td><td>string</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ndax.in/v3/private-endpoints/deposits/post-withdrawal.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
