Confirm transactions in ~13 seconds — down from ~13 minutes. No hard fork required.
FCR reduces L1 deposit time to a single slot — approximately 13 seconds. That's a ~98% reduction compared to waiting for finality.
FCR relies on counting attestations and is proven safe under normal network conditions. Waiting for a fixed number of blocks is not.
No hard fork. No devnet. FCR is a consensus client feature. Enable it with a configuration flag and query a single API endpoint.
Watch how FCR confirms blocks in real time compared to waiting for finality.
From exchanges to rollups, any application waiting on Ethereum confirmations can benefit from FCR. Here's how different players in the ecosystem can put single-slot confirmation to work.
safe block tag will return the last fast-confirmed block. RPCs automatically support FCR — no implementation required.
safe tag returning the last justified block.
FCR sits between k-deep confirmation and full finality — offering deterministic guarantees at near-instant speed. The right choice depends on your security requirements and latency tolerance.
| k-deep | FCR | Finality | |
|---|---|---|---|
| Communication model | Synchrony | Synchrony See in action ↓ | Asynchrony |
| Adversarial threshold | Unknown | 25% See in action ↓ | 33% |
| Economic security | ✗ | ✗ | ✓ |
| Latency | k × 12s | ~13 seconds | ~13 minutes |
| Deterministic guarantee | ✗ | ✓ | ✓ |
| Confidence model | — | Deterministic under network assumptions | Unconditional permanence |
| Best suited for | — | L2 deposits, exchange deposits, bridge transfers | High-value settlements, irreversible operations |
| Failure behavior | — | Falls back to finalized block | Stalls until supermajority restored |
| Summary | Waits for a fixed number of blocks with no formal safety guarantee. | Deterministic confirmation in ~13 seconds under normal network conditions — falling back to finality if conditions deteriorate. | Unconditional permanence backed by slashable stake, but takes ~13 minutes. |
FCR relies on two assumptions. When either breaks, it falls back to finality. Under rare conditions, a briefly-confirmed block may be reorganized.
FCR requires attestations to arrive within the synchrony bound. If the network becomes asynchronous, FCR falls back to the finalized block. In rare cases, brief asynchrony may go undetected — a confirmed block could be reorganized before the fallback triggers.
FCR requires that at least 75% of total stake is honest and participating. If adversarial stake exceeds 25%, FCR may lose liveness (stalling confirmations) or, in adversarial conditions combined with network issues, safety.
Enable a configuration flag on your consensus client. Query the safe block via JSON-RPC — no new endpoints needed. No hard fork. No devnet. No protocol change.
Add the flag to your consensus client startup command.
lighthouse bn --fast-confirmation-rule
Use the existing JSON-RPC API to get the most recent confirmed block. The safe tag will return the last fast-confirmed block.
eth_getBlockByNumber("safe")
eth_getBlockByNumber("safe") via JSON-RPC. The safe tag will return the last fast-confirmed block. No new API endpoints are needed.
High value. Low lift. Start using Fast Confirmation Rule today.
Get in TouchGet in touch via fastconfirm@ethereum.org for questions