BchainPayBchainPay

Withdrawals


title: "Withdrawals" description: "Move funds from a pocket to an address you control. BchainPay signs and broadcasts the transaction." section: "Concepts" order: 3 updated: "2026-04-18" sourcePath: "content/docs/concepts/withdrawals.mdx"

A withdrawal debits a pocket and sends the funds to an external address on the same network. BchainPay signs the transaction in our vault, broadcasts it, watches for confirmation, and emits a withdrawal.completed webhook with the resulting tx_hash.

Lifecycle

  1. queued — accepted, waiting for the vault to sign.
  2. broadcasting — signed and submitted to the network. tx_hash appears.
  3. completed — confirmed on-chain. Webhook fires.
  4. failed — broadcast or confirmation failed; pocket balance is restored.

Network fees

Network fees are deducted from the pocket alongside amount_cents. They are reported as network_fee_cents on the withdrawal object. Choose fee_strategy: "fast" to bid a higher gas tip on EVM networks; the default is standard.

Address validation

BchainPay rejects destinations that are not valid on the pocket's network and addresses that match a sanctioned list. See the error codes on Create a withdrawal.

Last updated Edit on GitHub