Create Withdrawal

This end point initiates the withdrawal of an authenticated account.

🚧

Verify Details Before Initiating Withdrawals.

Please take a moment to verify the details before proceeding with the withdrawal process. Once submitted, funds cannot be recovered if sent to an incorrect address.


PATH PARAMS

user_id - string
The User ID. Use 'me' if you are creating withdrawal from the master account, use the user_id if creating withdrawal from the Sub-account linked to the authenticated user.

BODY PARAMS

ParameterTypeRequiredDescription
currencystringYesCurrency to withdraw. Allowed values: qdx, usd, ngn, ghs, btc, usdt, busd, cfx, usdc, cnhc, eth, bnb, xrp, ltc, wkd, bch, doge, dash, trx, one, link, cake, xlm, axs, shib, afen, bls, fil, ada, dot, babydoge, xtz, matic, sfm, aave, wsg, ckt, floki, sol, mana, ftm, sand, slp, enj, lrc, ape, sushi, zil.
amountstringYesValue to be sent to the recipient.
fund_uidstringYesThis can be the ID of your sub-user or a crypto address.
transaction_notestringNoNotes for the recipient.
narrationstringNoNarration for the recipient.
fund_uid2stringNoDestination tag.
referencestringYesUnique reference for each withdrawal.
networkstringNoBlockchain network for the transaction. See supported blockchains: https://docs.quidax.com/docs/supported-cryptocurrencies

Sample Request

curl --request POST \
     --url https://openapi.quidax.io/exchange-open-api/api/v1/users/<user_id>/withdraws \
     --header 'Authorization: Bearer s3cr3tk3y' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "currency": "btc",
  "amount": "0.0000004",
  "transaction_note": "Stay safe",
  "narration": "We love you.",
  "fund_uid": <wallet address or sub account>,
  "reference": <your_unique_reference>,
  "network": <required_for_blockchain_withdraw>
}
'
const options = {
  method: 'POST',
  headers: {
    accept: 'application/json',
    'content-type': 'application/json',
    Authorization: 'Bearer s3cr3tk3y'
  },
  body: JSON.stringify({
    currency: 'btc',
    amount: '0.0000004',
    transaction_note: 'Stay safe',
    narration: 'We love you.'
  })
};

fetch('https://www.quidax.com/api/v1/users/me/withdraws', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));

Sample Response

{
  "status": "success",
  "message": "Successful",
  "data": {
    "id": "CW-36ebbb20fc93456d8503625e9dee9829",
    "reference": "cmnnnncc",
    "type": "coin_address",
    "currency": "usdt",
    "amount": "1.4538",
    "fee": "0.5",
    "total": "1.9538",
    "txId": null,
    "narration": null,
    "status": "processing",
    "reason": null,
    "wallet": {
      "id": null,
      "currency": "usdt",
      "balance": "0.500000",
      "locked": "0.0000000000",
      "staked": "0.0000000000",
      "converted_balance": "682.400000",
      "reference_currency": "NGN",
      "is_crypto": "1",
      "created_at": "2026-02-10T11:48:38.000Z",
      "updated_at": "2026-02-26T10:38:48.000Z",
      "deposit_address": "bc1qel75acv9tdwqdx86tla6yyxagp2fvq2tntxntp",
      "destination_tag": null
    },
    "user": {
      "id": "24rhpmow",
      "sn": "Qw1os7uj7",
      "email": "[email protected]",
      "reference": null,
      "first_name": "test",
      "last_name": "tester",
      "display_name": "Adigun Efon Exchange",
      "created_at": "2026-02-09T13:22:14.000Z",
      "updated_at": "2026-02-13T10:45:42.000Z"
    },
    "recipient": {
      "type": "coin_address",
      "details": {
        "address": "0xEBd827CC80D8BD95B42824467D45A6faAe91A05e",
        "name": "N/A",
        "destination_tag": ""
      }
    },
    "transaction_note": null,
    "created_at": "2026-02-26T10:38:47.485Z",
    "done_at": ""
  }
}
{
  "status": "error",
  "message": "Invalid secret key.",
  "data": {
    "code": "E0001",
    "message": "Invalid secret key."
  }
}