Skip to content
Payfim - Secure. Simple. Yours.
Guides

Blockchain Confirmations Explained for Merchants

A confirmation is a new block added to the chain after the block that holds a payment; each one makes that payment harder to undo. Merchants wait for a set number of confirmations, or a network's own finality signal, before treating a crypto payment as final and releasing the goods.

PFPayfim Team · September 23, 2026 · 8 min read
Blockchain Confirmations Explained for Merchants
Key takeaways
  • An unconfirmed transaction is only a promise. Once it is buried under enough blocks, reversing it becomes impractical.
  • Bitcoin-style chains give probabilistic finality (more blocks, more certainty). TRON, Solana, XRP Ledger and Ethereum also expose explicit finality signals.
  • Payfim ships with per-coin defaults, such as 1 for Bitcoin, 6 for Ethereum tokens and solidified for TRON, and lets you change each one.
  • Match confirmations to risk: fewer for small, instantly delivered digital goods; more for high-value orders you cannot claw back.

The first time you accept crypto, the wait can feel odd. The customer has pressed "Send", their wallet says the payment is on its way, and yet your order still shows "Confirming". That short wait is deliberate. It is what turns a crypto payment from "probably" into "yes". This article explains what is going on and how to tune it for your store.

What is a blockchain confirmation?

A blockchain is a chain of blocks, each containing a batch of transactions. When a customer sends you coins, the transaction first sits in a waiting area (on Bitcoin this is called the mempool). When a miner or validator includes it in a block, it has one confirmation. Every block added after that one adds another.

Think of it like wet cement. A transaction in the latest block is freshly poured: in rare cases the network can reorganize its most recent blocks and that block can be replaced. Each new block on top is another layer, and after a few layers nothing is going to shift.

Why shouldn't you ship on zero confirmations?

An unconfirmed transaction can still fail or be replaced. On Bitcoin, the sender can often broadcast a new version of an unconfirmed transaction with a higher fee that sends the coins somewhere else. A merchant who delivers on sight of an unconfirmed payment is trusting that this does not happen. For a $2 sticker that may be fine; for a $900 laptop it is not.

Waiting for a confirmation also protects you from simpler problems: a customer's wallet broadcasting a transaction with a fee so low it is never mined, or an exchange showing "sent" before it has actually broadcast anything. Payfim only marks an invoice paid once the transaction has reached the number of confirmations you chose, and it reserves each transaction hash so the same payment can never be counted for two orders.

How long do confirmations take on each coin?

Block times and finality rules differ by network. These are the Payfim defaults, with timing notes where the network's own documentation gives one (as of September 2026):

Coin / networkPayfim defaultWhat the default means in time
Bitcoin1 confirmationBitcoin targets an average of about 10 minutes per block, so usually within one block interval.
Litecoin2 confirmationsLitecoin blocks are about 2.5 minutes apart, so roughly five minutes.
Ethereum, USDT ERC20, USDC, LINK6 confirmationsEthereum has 12-second slots, so six blocks is typically a little over a minute. Full protocol finality takes about two epochs (roughly 12.8 minutes).
USDT TRC20, TRXSolidifiedTRON's documentation says a block is solidified once 19 super representatives have built on it, typically about one minute.
SolanaConfirmedA block voted on by a supermajority of stake; the stricter "finalized" level comes later.
XRPValidatedThe ledger version containing the payment has been validated by consensus.
Dogecoin / Bitcoin Cash / Cardano3 / 2 / 5Depends on each network's block rate.
BNB Smart Chain / HYPE15 / 3Fast-block EVM chains, so these still complete quickly.
Monero2 confirmationsSee our Monero guide.

The full list with data sources is on the supported coins page.

What is the difference between confirmations and finality?

Bitcoin, Litecoin, Dogecoin and Bitcoin Cash use proof of work. On those chains finality is probabilistic: there is no moment when a block is officially final, but the chance of a reversal drops sharply with every block added on top. Counting confirmations is the right tool.

Many newer networks have an explicit finality signal instead. Ethereum marks checkpoints as "justified" and then "finalized". TRON marks blocks as "solidified". Solana's RPC reports "processed", "confirmed" and "finalized". The XRP Ledger reports whether a ledger version is "validated". For TRON, Solana and XRP, Payfim waits for those signals rather than counting blocks, which is why the table shows a word rather than a number.

How many confirmations should your store require?

There is no single right answer. Consider three questions:

  1. What happens if a payment is reversed? If you deliver a license key instantly, a reversal costs you one key. If you ship a $1,200 graphics card, it costs you the card.
  2. How long will the customer wait? For downloads and SaaS accounts, speed matters. For physical goods that ship tomorrow, an extra ten minutes changes nothing.
  3. How valuable is the order? Many merchants scale the requirement with value.

A practical pattern:

To change a value, open Wallets & coins in your gateway and set the confirmations field for that coin. Leave it empty to use the default. The wallet setup guide shows where.

How do confirmations interact with the locked exchange rate?

Two clocks run during a crypto checkout, and it helps not to confuse them. The first is the quote: when the customer picks a coin, Payfim locks the exchange rate and the exact amount for 30 minutes by default. The customer needs to send within that window. The second is confirmation: once the transaction is broadcast, the network takes as long as it takes to confirm it.

A payment sent inside the quote window is honored at the locked amount even if its confirmations complete after the window closes. A customer who sends at minute 29 on Bitcoin is not penalized because the next block arrives at minute 38. That also means any price movement between sending and confirming is yours, not the customer's. With stablecoins this is irrelevant; with volatile coins over a few minutes it is usually small, but it is one more reason to keep confirmation counts sensible rather than extreme.

You can change the quote length under the gateway settings if your customers regularly need longer, for example when they pay from an exchange that holds withdrawals for review.

Do exchanges wait for the same number of confirmations?

Not necessarily. Exchanges set their own deposit rules and often require more confirmations than a shop would, because they credit balances that can be withdrawn immediately to anywhere. That is a different risk from selling a product. Don't copy an exchange's deposit table as your default; use it as a sanity check for your largest orders.

What does the customer see while they wait?

On your Payfim checkout page, the status changes to "Payment detected! Waiting for network confirmations" as soon as the transaction is seen, so the customer knows it arrived. In your gateway dashboard the invoice shows as Confirming, with the current confirmation count, and most store modules add a note to the order at this stage. When the threshold is reached, the gateway sends a signed webhook and your store marks the order paid. The customer can close the page after sending; the order will still update.

That last point relies on your cron job. The gateway checks open invoices every minute in the background, so confirmations keep advancing even when nobody is looking at the payment page.

What if a payment is stuck unconfirmed?

Usually the sender chose a very low network fee during a busy period, most often on Bitcoin. The transaction will either be confirmed when fees drop or eventually be dropped from the network. Payfim keeps checking; a payment that confirms after the rate lock expires is still picked up if it was broadcast in time. If a customer contacts you, look up the transaction hash on a block explorer, and if needed use Check blockchain now on the invoice. Our troubleshooting guide covers the other common causes, and handling underpayments and refunds covers payments that arrive short.

Sources

Third-party facts were checked on the date shown above. Prices and features of other services change - always confirm on their official pages.

  1. Bitcoin developer guide: block chain, as of September 2026
  2. ethereum.org: Proof-of-stake (slots, epochs, finality), as of September 2026
  3. TRON Developer Hub: transaction confirmation and solidification, as of September 2026
  4. Litecoin Learning Center (block time), as of September 2026
  5. Solana RPC docs: commitment levels, as of September 2026
  6. XRP Ledger docs: consensus protocol, as of September 2026

Frequently asked questions

What does "1 confirmation" mean?

The transaction has been included in one block. Each additional block built on top adds another confirmation and makes the payment harder to reverse.

Why does USDT on TRON say "solidified" instead of a number?

TRON has its own finality signal. A block is solidified once enough super representatives have built on it, which TRON documents as typically about a minute. Payfim waits for that signal.

Can I accept zero-confirmation payments?

Payfim waits for at least the confirmation level you set because unconfirmed transactions can still be replaced or dropped. For very low-value digital goods, keep the lowest default rather than going to zero.

Do more confirmations cost the customer more?

No. The network fee is paid once when the customer sends. Confirmations only affect how long you wait before marking the order paid.

Why is my order still pending after the customer paid?

It is usually waiting for confirmations. Check the counter on the invoice in your gateway, and make sure the cron job is running so the gateway keeps checking in the background.

Accept crypto on your store today

Self-hosted, non-custodial, zero fees. Lifetime license.