Skip to main content

Withdrawals

A withdrawal sends funds from your available balance to an on-chain address you specify.

How it works​

  1. Decide how much the recipient should receive — that number is your amount.
  2. Create a withdrawal with POST /v1/withdrawals and a unique Idempotency-Key.
  3. Cryptoreq reserves amount from your available balance, broadcasts the payout, and updates status as it confirms.
  4. You receive a webhook when the payout succeeds or fails.

Amount vs fee — the short version​

  • amount = what the destination gets. Send the exact payout you want them to receive.
  • Do not subtract gas from amount. Network fees are not taken from your balance.
  • You need available ≥ amount in the asset you are withdrawing (USDC, ETH, etc.).

If you want someone to receive 100 USDC, set "amount": "100000000" (at 6 decimals). Your balance goes down by 100 USDC; they receive 100 USDC.

Withdrawal statuses​

StatusMeaning
PENDING_APPROVALCreated; awaiting approval if your account requires it.
APPROVEDCleared for execution.
PROCESSINGBeing prepared for broadcast.
BROADCASTTransaction sent to the network.
CONFIRMEDConfirmed on-chain; reservation settled.
FAILEDExecution failed; reserved amount released back to available.
REJECTEDDenied before broadcast; reservation released.

Idempotency​

Always send an Idempotency-Key header when creating withdrawals. Network retries with the same key return the original withdrawal instead of creating a duplicate payout.