Skip to main content
TLDR:
  • On Ethereum Hoodi Global Nodes, the safe block tag follows the Fast Confirmation Rule and trails latest by a few blocks, typically less than a minute.
  • finalized does not change: it still trails latest by two to three epochs.
  • Fast confirmation relies on network synchrony assumptions. Use finalized for actions you cannot reverse.
  • On Ethereum Mainnet and Sepolia Global Nodes, safe keeps its standard meaning: the latest justified block.

What the safe block tag returns with fast confirmation

With fast confirmation, safe returns the most recent block that the consensus client confirmed under the Fast Confirmation Rule. The consensus client passes that block to the execution client as its safe block, so every method that takes a block tag resolves safe to it, including eth_getBlockByNumber, eth_call, eth_getBalance, and eth_getLogs. Under normal network conditions, the Fast Confirmation Rule confirms a block within one or two slots, 12 to 24 seconds. A skipped slot, or a slot in which the rule does not advance, delays the next confirmation.

When the safe block tag falls back to finalized

The Fast Confirmation Rule reverts to the finalized block when its latest confirmed block:
  • Is older than the previous epoch, for example after the consensus client was offline or fell behind.
  • Is no longer on the canonical chain.
  • Cannot be confirmed again at the start of the current epoch.
During a fallback, safe returns the same block as finalized, 64 to 96 blocks behind latest. At the next epoch, the rule can restart from the justified block and then catches up to a few blocks behind latest. Code that follows safe must handle a safe block number that stays the same, jumps forward by many blocks, or moves back to the finalized block. A block that safe returned can also be reorganized out of the chain, so track safe by block hash as well as by number.

When to use finalized instead of safe

Use finalized when a reorganization past your confirmation point would cost money or cannot be undone. Reverting a finalized block requires validators that hold at least one third of the staked ether to be slashed, whatever the network conditions. A fast-confirmed block can be reorganized without any slashing if attestations arrive after the end of their slot.
  • Use finalized to credit deposits, release bridge withdrawals, and settle payouts.
  • Use safe with fast confirmation for confirmations shown in an interface, for indexers that already handle reorganizations, and to test how your application handles a safe block a few blocks behind latest.

Which Chainstack endpoints use fast confirmation

Fast confirmation is on for Ethereum Hoodi Global Nodes. Ethereum Mainnet and Sepolia Global Nodes return the standard justified block for safe. To see which behavior an endpoint has, compare safe with latest and finalized:
  • With fast confirmation, safe is a few blocks behind latest, or equal to finalized during a fallback.
  • Without fast confirmation, safe is about one epoch, 32 blocks, ahead of finalized.
check-safe.mjs
Run the script with your Hoodi endpoint:
On a Hoodi Global Node, the output is similar to the following:

Additional resources

Last modified on November 12, 2026