Sending a crypto transaction feels instant. You tap confirm, you see a hash. But the transaction isn't final — not yet. What you've actually done is broadcast a request to a network that hasn't accepted it yet. The confirmation process is the gap between that moment and when your transaction becomes part of the permanent record.
Understanding that gap matters. It explains why exchanges require six confirmations before crediting your account, why some transactions fail despite appearing to go through, and why "fast" doesn't mean the same thing across different blockchains.
When you initiate a crypto transaction, your wallet constructs a signed message that includes: the sender's address, the recipient's address, the amount, a fee offer, and a cryptographic signature proving the sender authorized the transfer. This message gets sent to one or more nodes on the network.
From there, nodes propagate the transaction to their peers using the gossip protocol — INV announcements followed by GETDATA requests. Within seconds, most connected nodes have a copy of your transaction sitting in their mempool: the waiting room for unconfirmed transactions.
Being in the mempool doesn't mean your transaction is confirmed. It means the network has seen it, validated that the inputs aren't already spent and the signature is valid, and agreed it's a candidate for inclusion in the next block. Candidacy is not confirmation.
Confirmation happens when a miner (in proof-of-work) or a validator (in proof-of-stake) includes your transaction in a block and that block is accepted by the rest of the network.
Here's the sequence:
1. Block construction. A miner or validator assembles a block from the mempool, selecting transactions based on fee bids. Higher-fee transactions get priority because the block producer captures those fees as revenue. Transactions offering below-market fees can wait hours or days.
2. Block propagation. Once the block is produced, it's broadcast across the network. Other nodes independently verify the block: they check that the proof of work meets the current difficulty target (Bitcoin), or that the validator had the right to propose this block (Ethereum's proof of stake), and that every transaction in the block is valid.
3. Chain acceptance. If the block is valid, nodes append it to their local copy of the blockchain. The block is now one confirmation deep.
4. Subsequent blocks. As the network continues producing blocks, each new block added after yours increases its confirmation count by one. A transaction with six confirmations has had six sequential blocks built on top of it.
One confirmation isn't always enough because blockchains can reorganize.
A reorganization — "reorg" — happens when two miners find valid blocks at nearly the same time. For a brief moment, the network has two competing chains at equal length. Nodes temporarily disagree about which is the canonical chain. This resolves when one chain gets a subsequent block, making it longer. Nodes then switch to the longer chain, and the transactions in the orphaned block go back to the mempool.
If your transaction was in the orphaned block, it's not confirmed anymore. It hasn't been reversed in any sinister sense — it's still in the mempool and will likely get included in the next block — but anyone who considered it confirmed at one block was wrong.
The deeper a transaction sits in the chain, the more computational work would need to be redone to rewrite it. At six confirmations on Bitcoin, you'd need to redo six blocks' worth of proof-of-work faster than the honest chain extends — which becomes economically irrational for any value below the cost of that attack. This is why exchanges use confirmation thresholds tied to the dollar value being transferred. Small amounts clear at one or two confirmations; large transfers require more.
Confirmation speed varies significantly across chains, and it's worth understanding why.
Bitcoin targets one block every ten minutes. A single confirmation takes roughly ten minutes; six confirmations take roughly an hour. The ten-minute target is enforced by the difficulty adjustment mechanism — it's not just a design preference but an active maintenance task the protocol performs every 2,016 blocks.
Ethereum moved to proof of stake in September 2022. Block times are around twelve seconds. Ethereum has a concept called finality — after a sufficient number of validator attestations, a block is cryptographically finalized and cannot be reverted without 33% of staked ETH being slashed. This is a stronger guarantee than Bitcoin's probabilistic confirmations, though the mechanism is different. Economic finality on Ethereum is reached in roughly 15 minutes under normal conditions.
Solana, Avalanche, and other newer chains target sub-second or low-second block times with faster finality mechanisms. They achieve this through different architectural trade-offs — typically smaller validator sets or different consensus designs that sacrifice some decentralization for speed.
None of these is universally "better." They're different points on the same design tradeoff space.
A transaction can fail to confirm for a few reasons:
Fee too low. During periods of high network activity, the mempool fills with high-fee transactions. If your fee bid is below the current clearing rate, your transaction sits and waits. On Bitcoin, transactions can stay in the mempool for days before being dropped. On Ethereum, you can speed up a stuck transaction by resubmitting with a higher fee (using the "replace by fee" mechanism).
Nonce gaps on Ethereum. Ethereum transactions include a sequential nonce that prevents replay attacks. If transaction #47 is stuck (low fee), transaction #48 can't confirm until #47 does — even if #48 has a high fee. This sequencing constraint occasionally creates stuck queues for power users.
Invalid inputs. Rarely, a transaction reaches nodes that have already seen the inputs spent in a competing transaction. This results in a double-spend attempt being rejected outright — not confirmation failure, but a clean rejection.
The core confirmation mechanism is stable. What's shifting is the user experience layer around it.
Fee estimation has improved substantially. Wallets now use mempool monitoring and historical fee data to suggest appropriate fees, reducing stuck transactions from user error. Layer 2 networks (Lightning on Bitcoin, rollups on Ethereum) move high-frequency, low-value transactions off the base layer, where finality works differently — often sub-second, relying on the L2's security model rather than base layer confirmation depth.
Confirmation signals: Low orphan rates (below 1%), stable mempool clearing times at market fee rates, no systematic 51% attack activity on major networks.
Invalidation signals: Sustained orphan rates above 2–3% suggesting propagation issues, mempool consistently backlogged with no fee-market clearing, reorganizations deeper than 2–3 blocks on Bitcoin.
Now: Confirmation works as described on Bitcoin and Ethereum. Most transactions confirm within expected timeframes at appropriate fees.
Next: L2 adoption continues moving volume off base layers, potentially reducing base-layer fee competition and average confirmation wait.
Later: Full economic finality on Bitcoin (probabilistic model replaced by explicit finality) is a theoretical discussion, not a near-term change.
This post covers the confirmation mechanism — what happens between broadcast and finality. It doesn't address transaction fees in detail, the specifics of Lightning Network settlement, or the mechanics of reorganization attacks. Nothing here constitutes advice on how to size fees or when to consider a transaction settled for any particular use case. That judgment depends on context and value at risk, not a fixed rule.
The mechanism works as described. The thresholds that matter for your specific situation live elsewhere.




