> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockra.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Request a Withdrawal — POST /withdrawals

> Withdraw your balance to an external wallet. Blockra deducts the payout and network fee, then signs and broadcasts. Requires withdrawals:write.

Withdraws part of your available balance to an external wallet. Blockra validates the address and your balance, deducts the payout fee and the on-chain network fee, then signs and broadcasts the transaction. Requires the `withdrawals:write` scope.

<Warning>
  A `withdrawals:write` key can move funds. Treat it as a spending credential — keep it server-side and scope your keys tightly.
</Warning>

## Request

**`POST https://api.blockra.io/withdrawals`**

### Body parameters

<ParamField body="asset" type="string" required>
  The coin to withdraw. One of `BTC`, `LTC`, `ETH`, `USDC`, or `USDT`.
</ParamField>

<ParamField body="amount" type="string" required>
  The amount to withdraw, as a decimal string in the coin (e.g. `"0.05"`). The payout fee and network fee are deducted from this; the recipient receives the net.
</ParamField>

<ParamField body="destination_address" type="string" required>
  The external wallet address to send to. Must be valid for the coin's network.
</ParamField>

<Tip>
  Preview the fees first with **`POST /withdrawals/quote`** (same body, needs `withdrawals:read`). It returns `amount`, `payout_fee`, `network_fee`, and `net` without moving any funds.
</Tip>

## Response

<ResponseField name="id" type="string">
  The withdrawal ID, prefixed `wd_`.
</ResponseField>

<ResponseField name="status" type="string">
  `requested`, `broadcast`, `completed`, or `failed`.
</ResponseField>

<ResponseField name="asset" type="string">
  The coin.
</ResponseField>

<ResponseField name="network" type="string">
  The chain: `bitcoin`, `litecoin`, or `ethereum`.
</ResponseField>

<ResponseField name="amount_atoms" type="string">
  The gross amount debited from your balance, in the coin's smallest unit.
</ResponseField>

<ResponseField name="fee_atoms" type="string">
  The Blockra payout fee, in the coin's smallest unit.
</ResponseField>

<ResponseField name="net_atoms" type="string">
  The amount actually sent on-chain (amount − payout fee − network fee).
</ResponseField>

<ResponseField name="destination_address" type="string">
  Where the funds were sent.
</ResponseField>

<ResponseField name="tx_hash" type="string">
  The broadcast transaction hash, once available.
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO-8601 creation time.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.blockra.io/withdrawals \
    -X POST \
    -H "X-API-Key: bk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
    -H "Content-Type: application/json" \
    -d '{
      "asset": "LTC",
      "amount": "0.5",
      "destination_address": "ltc1q0u0dnysyzuyua7tg2fu05ztgssazx0j5fqfhun"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json 201 theme={null}
  {
    "data": {
      "id": "wd_1a2b3c4d5e6f7g8h",
      "status": "broadcast",
      "asset": "LTC",
      "network": "litecoin",
      "amount_atoms": "50000000",
      "fee_atoms": "250000",
      "net_atoms": "49740000",
      "destination_address": "ltc1q0u0dnysyzuyua7tg2fu05ztgssazx0j5fqfhun",
      "tx_hash": "9f2c8a1b...",
      "created_at": "2026-07-09T02:12:00.000Z"
    },
    "error": null
  }
  ```
</ResponseExample>
