Skip to content

API

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 broadcast
  • created -> cancelled -- merchant cancels (only valid transition for cancel)
  • created -> failed -- signing failed
  • created -> completed -- the merchant simulates completion via POST /v1/sandbox/withdrawals/{id}/simulate-completion (sandbox only — no signing, no chain)
  • signed -> completed -- transaction confirmed on-chain
  • signed -> pending_review -- signed TX not found (or reverted) on-chain after TTL; a reverted TX stays signed until the TTL escalates it
  • pending_review -> cancelling -- admin issues cancellation
  • pending_review -> completed -- the original TX is found on-chain and confirms (scanner-driven, not an admin action)
  • pending_review -> failed -- admin abandons the stuck payout
  • cancelling -> completed -- the original transaction confirmed first, so the payout went through
  • cancelling -> failed -- the cancellation transaction confirmed on-chain instead; funds returned to balance
  • completed -> signed -- rare: a chain reorg displaced the confirmed payout TX, so the payout drops back to signed and 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.