Skip to content

Block confirmations

A verification-first guide to PoW confirmation depth, PoS safe and finalized states, mempool replacement, reorganizations and exchange deposit-credit policy.

Updated

For educational purposes only; not financial or security advice. Confirmation, finality, replacement and deposit-credit rules vary by network, node, asset, venue and incident state.

Direct answer

A block confirmation is an observer- and protocol-specific statement that a transaction is included in a block on the observer’s current canonical chain. Bitcoin Core’s common inclusive convention counts the containing block as confirmation one: for inclusion height h and best-chain height H, depth is H - h + 1. Some services display only descendants as H - h, so the convention must be named.

Proof-of-work depth lowers reorganization risk under stated assumptions but never creates a magic point of absolute finality. Proof-of-stake systems may expose protocol-native states instead. Ethereum distinguishes latest, safe and finalized; a fixed number of blocks, slots or elapsed minutes is not a substitute for those labels. A platform’s detected, credited, tradable and withdrawable states are separate internal policies even after the chain threshold is met.

Expected wait
1.2 min
Illustrative range
54s - 1.5 min

Outputs are educational approximations. They exclude venue rules, taxes, latency, oracle behavior, and other protocol-specific parameters unless shown.

How it works

  1. Pin the chain and network, asset, transaction identifier, node or API, observer time, consensus model and counting convention. Verify the recipient, amount and any memo or tag before treating a matching hash as the intended payment.
  2. Separate signed, broadcast, accepted by one node’s local mempool and propagated. Mempools are policy views, not a global consensus queue. Check fee state, unconfirmed ancestors, Replace-by-Fee or same-nonce replacement and conflicting spends.
  3. Verify inclusion against the block hash, height, transaction index and canonical ancestry, not height alone or an explorer badge. For account chains, also inspect the receipt status, logs and actual state change; included execution can still revert.
  4. Apply the consensus model. For PoW, declare the convention, compute depth and compare independent best-chain and cumulative-work views. For PoS, query native head, safe, justified or finalized states; do not infer them from a fixed block or slot distance.
  5. Track the lifecycle as explicit states: created, broadcast, local-mempool accepted, included, canonical depth or safe/finalized status, reorganized, re-included, replaced or conflicted. A reorganization does not guarantee that the original transaction returns to every mempool.
  6. Keep the platform ledger separate: observed, network threshold met, credited, tradable and withdrawable. Apply the venue’s current asset-, network-, amount- and incident-specific policy; maintenance, compliance and manual review can add independent delays.
  7. Cross-check independent nodes or providers and continue monitoring until the required state. Record hashes, heights, timestamps, RPC labels and policy snapshot, and rehearse replacement, reorganization, finality delay, stale-node, bridge-relay and platform-outage paths.

Worked examples

  • Counting convention. A Bitcoin transaction is in canonical block h = 900,000 and the best-chain tip is H = 900,005. Inclusive depth is 900,005 - 900,000 + 1 = 6 confirmations; a descendants-only display reports 900,005 - 900,000 = 5. The difference is terminology, provided both refer to the same block hash and ancestry.
  • Reorganization and re-inclusion. The transaction first has 1 confirmation in block 900,000, then that block leaves the best chain and the transaction returns to 0 if it remains valid and unconflicted. If it is re-included at 900,003 and the tip reaches 900,006, inclusive depth is 900,006 - 900,003 + 1 = 4 confirmations. If a confirmed conflict replaces it, Bitcoin Core may instead report negative confirmations.
  • PoS labels are not block counts. Suppose an Ethereum transaction is in execution block 20,000,000, while one node reports latest = 20,000,020, safe = 20,000,012 and finalized = 19,999,980, all on one ancestry. Numerical latest depth is 20,000,020 - 20,000,000 + 1 = 21, the transaction is safe, but it is not finalized. Hash ancestry and the client’s consensus labels are required; heights alone are insufficient.
  • Chain threshold versus platform credit. A venue policy requires 6 confirmations. A deposit in block 900,000 is at 5/6 when the tip is 900,004 and reaches 6/6 at 900,005. If the venue then applies a 15-minute compliance hold, chain eligibility and internal credit, trading or withdrawal times remain different states; the hold is not a seventh confirmation.

Risks

  • Inspecting the wrong chain, network or asset.
  • Using the wrong transaction hash, recipient, memo or tag.
  • Treating a signed but unbroadcast transaction as pending.
  • Treating one node’s mempool as a global network state.
  • Missing policy rejection, eviction or non-propagation.
  • Ignoring an RBF, same-nonce or conflicting replacement.
  • Misreading unconfirmed ancestors, descendants or package fees.
  • Mixing inclusive and descendants-only confirmation counts.
  • Trusting a stale, syncing or isolated node.
  • Comparing heights without verifying block hashes and ancestry.
  • Losing confirmations in a short PoW reorganization.
  • Treating a fixed depth as absolute security for every value and adversary.
  • Confusing elapsed time, slots, epochs and produced blocks.
  • Treating a PoS head block as safe.
  • Treating a safe block as finalized.
  • Missing a finality delay while the chain still produces blocks.
  • Treating included but reverted execution as application success.
  • Confusing token logs or an explorer UI with the resulting state.
  • Equating platform detection, credit, trading and withdrawal permission.
  • Treating source-chain confirmation as completion of a bridge, issuer or destination workflow.

Common misconceptions

  • A searchable transaction hash or local mempool entry is already confirmed.
  • One confirmation count convention and six-confirmation threshold apply to every chain, amount and service.
  • Paying a higher fee makes later blocks or PoS finality arrive faster.
  • A fixed Ethereum block or slot count is equivalent to safe or finalized.
  • Chain inclusion or finality guarantees successful contract execution, correct recipient details, platform credit or bridge completion.

Sources

Navigation

Search the wiki...