Withdrawals
Base path: /v1/withdrawals. Requires authentication.
| Method | Path | Description |
|---|---|---|
POST | /v1/withdrawals | Request a payout. |
GET | /v1/withdrawals | List your withdrawals (paginated). |
GET | /v1/withdrawals/:id | Get one withdrawal. |
Amount vs network fee
amount is what the destination receives. Do not subtract the network fee from it.
| What you send | What gets reserved from your balance | |
|---|---|---|
amount | Net payout to destinationAddress | Exactly amount of the withdrawal asset |
| Network fee | Not part of your request body | Not debited from your balance |
Network fees (gas) are paid by the platform from its operational wallet. You do not add or subtract them from amount.
Example — USDC on Ethereum
You want your customer to receive 1.5 USDC:
{
"chainId": "sepolia",
"symbol": "USDC",
"amount": "1500000",
"destinationAddress": "0x7099…"
}
- Your balance drops by 1.5 USDC (
1500000base units at 6 decimals). - The destination receives 1.5 USDC.
- Gas is paid separately in ETH by the platform; your USDC balance is unchanged by the gas cost.
Example — native ETH
You want the destination to receive 0.1 ETH:
{
"chainId": "sepolia",
"symbol": "ETH",
"amount": "100000000000000000",
"destinationAddress": "0x7099…"
}
- Your balance drops by 0.1 ETH.
- The destination receives 0.1 ETH on-chain.
- Gas is still separate — do not reduce
amountto "leave room" for gas.
You only need enough available balance of the asset you are withdrawing to cover amount.
Create a withdrawal
POST body:
| Field | Required | Description |
|---|---|---|
chainId | yes | Chain from Chains. |
symbol | yes | Asset symbol, e.g. USDC. |
amount | yes | Net payout in base units (smallest denomination). |
destinationAddress | yes | On-chain address to receive funds. |
metadata | no | Opaque JSON attached to the withdrawal. |
Idempotency is required: send an Idempotency-Key header (or idempotencyKey in the body), at least 8 characters. Retrying with the same key is safe and returns the same withdrawal.
Creating a withdrawal immediately reserves amount from your available balance and queues on-chain execution. See Withdrawals guide for statuses and webhooks.
After broadcast, a confirmed withdrawal includes networkFee on the response — the actual on-chain cost in the chain native asset, for your records only.