Withdrawals
A withdrawal sends funds from your available balance to an on-chain address you specify.
How it works
- Decide how much the recipient should receive — that number is your
amount. - Create a withdrawal with
POST /v1/withdrawalsand a uniqueIdempotency-Key. - Cryptoreq reserves
amountfrom your available balance, broadcasts the payout, and updates status as it confirms. - 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 ≥ amountin 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
| Status | Meaning |
|---|---|
PENDING_APPROVAL | Created; awaiting approval if your account requires it. |
APPROVED | Cleared for execution. |
PROCESSING | Being prepared for broadcast. |
BROADCAST | Transaction sent to the network. |
CONFIRMED | Confirmed on-chain; reservation settled. |
FAILED | Execution failed; reserved amount released back to available. |
REJECTED | Denied 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.