On this page
Get
Retrieve a withdrawal by ID, inspect its current state and transaction reference, and reconcile completion with the signed webhook.
GET/v1/withdrawals/:withdrawal_id
API key: Payout
Returns the current state of a withdrawal. The confirmed tx_hash and explorer_url appear once the payout reaches completed.
Response (200 OK)
{
"withdrawal_id": "wdr_2M8K6Q4P9X1Z7A3B",
"external_order_id": "payout-001",
"status": "completed",
"is_final": true,
"is_test": false,
"amount": "100.00",
"fee": "1.00",
"currency": "USDT",
"network": "TRC20",
"destination_address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
"tx_hash": "9f3b8c2a1d0e4f6789abc123def4567890abc123def4567890abc123def45678",
"explorer_url": "https://tronscan.org/#/transaction/9f3b8c2a1d0e4f6789abc123def4567890abc123def4567890abc123def45678",
"created_at": 1739289600,
"completed_at": 1739289932
}
Withdrawal statuses
| Status | Description | Terminal |
|---|---|---|
created |
Withdrawal created, awaiting signing | No |
signed |
Transaction signed and broadcast to blockchain | No |
cancelling |
Admin issued a cancellation while in pending_review; awaiting on-chain confirmation of which transaction lands |
No |
completed |
Transaction confirmed on-chain, payout delivered. Final on the wire (is_final: true), though a deep reorg can send it back to signed — see the transitions below |
Yes |
failed |
Signing failed before broadcast, or an operator abandoned a stuck payout, or a cancellation confirmed on-chain. Funds returned to balance | Yes |
cancelled |
Merchant cancelled while still in created status |
Yes |
pending_review |
Transaction was signed but not found on-chain after TTL expiry. Requires manual resolution | No |
Status Transitions
created->signed-- transaction signed and broadcastcreated->cancelled-- merchant cancels (only valid transition for cancel)created->failed-- signing failedcreated->completed-- the merchant simulates completion viaPOST /v1/sandbox/withdrawals/{id}/simulate-completion(sandbox only — no signing, no chain)signed->completed-- transaction confirmed on-chainsigned->pending_review-- signed TX not found (or reverted) on-chain after TTL; a reverted TX stayssigneduntil the TTL escalates itpending_review->cancelling-- admin issues cancellationpending_review->completed-- the original TX is found on-chain and confirms (scanner-driven, not an admin action)pending_review->failed-- admin abandons the stuck payoutcancelling->completed-- the original transaction confirmed first, so the payout went throughcancelling->failed-- the cancellation transaction confirmed on-chain instead; funds returned to balancecompleted->signed-- rare: a chain reorg displaced the confirmed payout TX, so the payout drops back tosignedand completes again once that transaction (or its replacement) is mined
Errors
See Error Codes for the full catalogue. The type URI in every error response deep-links to the matching row.