Withdraw
Send funds from your off-chain balance (activeBalance) to an external address. Estimate the fee first, then create the withdrawal. Supported on EVM and Tron networks. All endpoints require authentication.
Balance type: Withdrawals spend off-chain balance. The
insufficient balanceerror means youractiveBalancefor that token is too low. Xellar then sends the tokens on-chain to the recipient address.
Estimate Withdraw
POST /api/v1/withdraws/estimate
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
amount | number | Yes | Amount to withdraw |
network | string | Yes | Network token code |
recipientAddress | string | Yes | Destination address |
{
"amount": 50,
"network": "USDT",
"recipientAddress": "0xdef..."
}Response 200
{
"data": {
"amount": 50,
"withdrawGasFee": 0.5,
"withdrawTransactionFee": "exclusive",
"netAmount": 49.5,
"totalDeducted": 50.5,
"networkTokenCode": "USDT",
"network": "ethereum",
"recipientAddress": "0xdef..."
}
}| Code | Meaning |
|---|---|
| 400 | Invalid amount/recipient/token, insufficient off-chain activeBalance, or fee exceeds amount |
Create Withdraw
POST /api/v1/withdraws
Same body as estimate, plus optional reference (string).
Response 201
{
"data": {
"id": "wd_abc123",
"amount": 50,
"withdrawGasFee": 0.5,
"withdrawTransactionFee": "exclusive",
"netAmount": 49.5,
"totalDeducted": 50.5,
"amountInDecimals": "50000000",
"networkTokenCode": "USDT",
"network": "ethereum",
"recipientAddress": "0xdef...",
"reference": null,
"status": "pending",
"withdrawWalletId": "wal_1"
}
}status can be pending, success, failed, or canceled.
| Code | Meaning |
|---|---|
| 400 | Validation error or insufficient off-chain activeBalance |
| 503 | MPC signing service unavailable |
List Withdraws
GET /api/v1/withdraws
Query Parameters
| Param | Type | Default | Description |
|---|---|---|---|
page | int | 1 | Page number |
limit | int | 20 | Items per page |
status | string | — | Filter by status |
networkTokenCode | string | — | Filter by token code |
network | string | — | Filter by network |
Response 200
{
"data": {
"items": [ /* withdraw objects */ ],
"total": 10,
"page": 1,
"limit": 20
}
}Get Withdraw
GET /api/v1/withdraws/:id → { "data": { /* withdraw */ } }
| Code | Meaning |
|---|---|
| 404 | Withdraw not found |