Skip to content

api-reference

On this page

Withdrawal Statuses

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