Get Withdrawal Details
GET /withdrawal/:id/
Retrieves detailed information about a specific withdrawal by its ID. This endpoint allows you to check the current status and details of any withdrawal.
Request Headers
| Header | Description |
|---|---|
| Authorization | Bearer token for authentication: Bearer <access_token> |
| X-API-Key | API key for authentication (alternative to OAuth 2.0 token) |
URL Parameters
| Parameter | Type | Description |
|---|---|---|
| id | string | The unique identifier of the withdrawal to retrieve |
Example Request
GET /withdrawal/550e8400-e29b-41d4-a716-446655440000/
Authorization: Bearer eyJ0eXAiOiJPQXV0aFRva2VuIiwiYWxnIjoiUlMyNTYifQ...
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| withdrawal_id | string | Unique identifier for the withdrawal |
| status | string | Current status of the withdrawal (see Status Values table) |
| amount | number | Withdrawal amount |
| fee | number | Fee charged for the withdrawal |
| address | string | Destination wallet address |
| blockchain | string | Blockchain network used |
| token | string | Token being withdrawn |
| memo | string | Memo or tag, if provided |
| created_at | string | ISO 8601 timestamp of withdrawal creation |
| updated_at | string | ISO 8601 timestamp of last status update |
| completed_at | string | ISO 8601 timestamp of withdrawal completion (if completed) |
| custom_id | string | Your custom identifier for this withdrawal, if provided |
| transaction_hash | string | Blockchain transaction hash, if available |
| confirmations | integer | Number of blockchain confirmations (if submitted) |
| required_confirmations | integer | Required number of confirmations for completion |
| batch_id | string | ID of the withdrawal batch, if part of a batch |
| status_history | array | Historical status changes with timestamps |
| error_message | string | Error message if status is 'failed' or 'rejected' |
Example Response
{
"withdrawal_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"amount": 100.50,
"fee": 1.50,
"address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"blockchain": "ETH",
"token": "USDT",
"memo": null,
"created_at": "2025-04-10T15:30:00Z",
"updated_at": "2025-04-10T16:45:12Z",
"completed_at": "2025-04-10T16:45:12Z",
"custom_id": "WITHDRAWAL-123",
"transaction_hash": "0xab5d35434fe46ef9c5d215238a3dbb42d2f3c84e7a36f80c61244ea9ac81ef73",
"confirmations": 24,
"required_confirmations": 12,
"batch_id": "batch-980cf45a",
"status_history": [
{
"status": "pending",
"timestamp": "2025-04-10T15:30:00Z"
},
{
"status": "approved",
"timestamp": "2025-04-10T15:45:23Z"
},
{
"status": "processing",
"timestamp": "2025-04-10T16:00:05Z"
},
{
"status": "submitted",
"timestamp": "2025-04-10T16:10:30Z"
},
{
"status": "confirmed",
"timestamp": "2025-04-10T16:35:45Z"
},
{
"status": "completed",
"timestamp": "2025-04-10T16:45:12Z"
}
],
"error_message": null
}
Status Values
| Status | Description | When to Expect |
|---|---|---|
| pending | Initial status; withdrawal has been created but not yet processed | When withdrawal is created |
| confirmed | Transaction has received the required number of confirmations | When blockchain confirms the transaction | | completed | Withdrawal has been fully processed and is complete | When all processing is done | | rejected | Withdrawal was rejected during review | If the withdrawal is rejected | | failed | Withdrawal failed during processing | If blockchain or system errors occur | | cancelled | Withdrawal was cancelled by the user or an administrator | If the withdrawal is canceled |
Webhook Events
When a withdrawal status changes, a webhook notification is sent to your callback URL with the standardized event type withdrawal_status_update. The webhook payload includes the withdrawal details, current status, and previous status. See our Implementing Webhook Callbacks guide for details on how to handle these notifications.
Error Codes
| Status Code | Error Code | Description |
|---|---|---|
| 401 | unauthorized | Authentication failed or token is missing |
| 403 | forbidden | Insufficient permissions to view this withdrawal |
| 404 | not_found | The specified withdrawal does not exist or belongs to another user |
| 429 | rate_limit_exceeded | Too many requests in a short period |
Notes
- The
transaction_hashfield is only available for withdrawals that have been submitted to the blockchain - The
confirmationsfield indicates how many blockchain confirmations the transaction has received - The
required_confirmationsfield indicates how many confirmations are required for the withdrawal to be considered complete - The
status_historyarray provides a complete history of all status changes for the withdrawal - The
error_messagefield is only populated if the withdrawal has failed or been rejected - The
batch_idfield is only present if the withdrawal is part of a processing batch - The status values match those used in webhook notifications, providing a consistent status lifecycle across the API
Transaction Verification
Once a withdrawal has the status submitted or later, you can verify the transaction on the blockchain using the transaction_hash and the following blockchain explorers:
- Ethereum (ETH): https://etherscan.io/tx/TRANSACTION_HASH
- Binance Smart Chain (BSC): https://bscscan.com/tx/TRANSACTION_HASH
- Tron (TRX): https://tronscan.org/#/transaction/TRANSACTION_HASH
- Solana (SOL): https://explorer.solana.com/tx/TRANSACTION_HASH
Webhook Integration
For real-time status updates, we recommend implementing webhook handling for withdrawal status changes. This will allow your application to automatically process status updates without polling this endpoint. See our Webhook Reference documentation for detailed information about webhook formats and implementation best practices.