01What a confirmation is
When a transaction is included in a block it has one confirmation; each block built on top of it adds another. The more confirmations, the less likely the transaction is ever reversed by the network. Each chain needs a different number for a payment to be treated as final, so a gateway reports both required and current on the invoice rather than a single flag.
"confirmations": { "required": 19, "current": 4 }02The statuses your backend sees
| Status | Meaning | Act on it? |
|---|---|---|
pending | Invoice created; nothing received yet. | Keep the order open. |
detected | A transaction to the deposit address has been seen. | No — not confirmed. |
confirming | Waiting for the required confirmations. | No. |
confirmed | Required confirmations reached; the ledger is credited. | Yes — release the order. |
forwarding | The deposit is being swept to the merchant's wallet. | Informational. |
settled | The sweep has confirmed; the credit is withdrawable. | Informational. |
underpaid | Less than the amount due was received. | Decide: refund or ask for the balance. |
expired | The payment window closed. Treat as final unless a later transition arrives. | Handle late payments. |
failed | The invoice could not be completed. | Investigate. |
Release goods or access on confirmed, not on detected. A detected transaction has not reached its required confirmations.
03Credited is not the same as withdrawable
Payaries credits your ledger the moment an invoice reaches confirmed, but that amount is shown as pending sweep until the deposit has been swept to your wallet and the sweep itself confirms on-chain. Only then does it move to available. A withdrawal request against the not-yet-swept portion is rejected rather than queued, and the gap is usually short.
04Let webhooks drive it
Don't poll. Every transition fires a signed invoice.status_changed webhook; make your handler idempotent on the invoice and status, because retries can deliver the same event more than once. See verifying webhook signatures.
Questions
- How many confirmations does a crypto payment need?
- It depends on the network. The invoice reports the number required and the number so far in its confirmations field, so your integration never has to hard-code a figure per chain.
- When should I release the order?
- When the invoice status is confirmed. A detected or confirming invoice has not yet reached its required confirmations.
- Why can't I withdraw the moment an invoice is confirmed?
- The ledger is credited at confirmed, but the funds become withdrawable once the sweep from the one-time deposit address to your wallet settles on-chain. Until then the amount is pending sweep.
Keep reading
- How a crypto payment gateway works, from invoice to settlementHow a crypto payment gateway works, step by step: invoices, one-time deposit addresses, confirmations, settlement and withdrawals.
- How blockchain works, step by stepHow a blockchain works, from one transaction to a confirmed block: signing, the mempool, validators, proof of work vs proof of stake, and confirmations.
- Handling underpaid, late and unmatched crypto paymentsWhat to do when a customer underpays, pays after an invoice expires or sends money that matches no invoice — and how to build order logic for each.
- A crypto payment API that behaves like the rest of your stackA REST crypto payment API: create an invoice, get a one-time deposit address, receive signed webhooks and withdraw on demand. HMAC-signed and idempotent.
- Accept USDT payments on Ethereum, BNB Smart Chain, Polygon, Arbitrum, Tron and moreAccept USDT on Ethereum, BNB Smart Chain, Polygon, Arbitrum and Tron — and more networks as they ship — through one API, with a locked fiat rate and on-demand withdrawals.
- How to verify crypto payment webhook signaturesVerify a crypto payment webhook's HMAC-SHA256 signature against the raw body, guard against replays, dedupe retries and acknowledge fast — with working Node.js code.
- The new Tesla Roadster: what Tesla claimed, what is verified, and how a $50,000 reservation is paidWhat Tesla claimed at the 15 Oct 2026 Roadster reveal, what changed since 2017, how the $50,000 reservation works, and whether you can pay in crypto.