Skip to main content

Status Lifecycles

PayChain exposes statuses so your system can decide what to do next. Build your integration around lifecycle states, not raw transaction observations alone.
Fulfillment rule: Fulfill customer orders from confirmed invoice state, not from raw balance changes or unverified transaction history.

Invoice statuses

Confirmation progress: When an invoice is confirming, invoice detail responses include confirmationProgress so your UI can show current confirmations, required confirmations, remaining confirmations, progress percent, and transaction hash.

Withdrawal statuses

Payout routing statuses

Gas-blocked state

Gas-blocked means PayChain can see the payment or operation, but an eligible sponsored outbound action is paused because gas credits are insufficient. Inbound payment detection does not stop when gas credits run out. Sponsored outbound actions may pause, including:
  • Automatic settlement.
  • Sponsored withdrawals.
  • Payout route withdrawal legs.
  • Dynamic payout recipient withdrawal legs.
  • Contract execution where PayChain sponsors network cost.

Status handling rules

  • Treat unknown statuses as non-final.
  • Make fulfillment idempotent.
  • Store PayChain IDs and your own order references together.
  • Fetch the resource after webhook verification.
  • Do not assume a transaction hash alone means the invoice is payable or fulfilled.