Per-chain notes
Every endpoint serves the chain from the earliest block below to the head. EVM data is either extended (from an instrumented node: call traces, balance and storage changes) or base (rebuilt from JSON-RPC: transactions, receipts and logs only); see Base vs Extended blocks. “Final when” says when a new block near the head becomes final and can no longer be undone. Older history is already final, including the base-tier history of chains that later moved to extended blocks.
| Network | Data | Earliest block | Final when | Block schema |
|---|---|---|---|---|
eth | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
solana | Native block | 0 | Sent at confirmed, final at finalized | firehose-solana |
bsc | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
base | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
polygon | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
optimism | Extended from 105,235,064 (base before) | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
arbone | Extended from 22,207,818 (base before) | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
avalanche | Base | 0 | 200 blocks behind head | firehose-ethereum |
unichain | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
arc | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
bitcoin | Native block | 0 | 6 blocks behind head | firehose-bitcoin |
blast | Base | 0 | 200 blocks behind head | firehose-ethereum |
celo | Base | 0 | 200 blocks behind head | firehose-ethereum |
eos | Native block | 2 | Chain's last irreversible block | firehose-antelope |
hyperevm | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
ink | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
linea | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
litecoin | Native block | 0 | 6 blocks behind head | firehose-bitcoin |
megaeth | Base | 0 | 200 blocks behind head | firehose-ethereum |
robinhood | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
soneium | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
tempo | Base | 0 | 200 blocks behind head | firehose-ethereum |
wax | Native block | 2 | Chain's last irreversible block | firehose-antelope |
xlayer | Base | 0 | 200 blocks behind head | firehose-ethereum |
zora | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
amoy | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
arbsepolia | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
basesepolia | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
chapel | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
eth-cl | Native block | 0 | Finalized checkpoint | firehose-beacon |
gnosis-cl | Native block | 0 | Finalized checkpoint | firehose-beacon |
hoodi | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
hoodi-cl | Native block | 0 | Finalized checkpoint | firehose-beacon |
jungle4 | Native block | 2 | Chain's last irreversible block | firehose-antelope |
lineasepolia | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
minato | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
opsepolia | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
sepolia | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
sepolia-cl | Native block | 0 | Finalized checkpoint | firehose-beacon |
soldev | Native block | 391,843,999 | Sent at confirmed, final at finalized | firehose-solana |
unisepolia | Extended | 0 | Node's finalized block (≤ 200 behind head) | firehose-ethereum |
waxtest | Native block | 2 | Chain's last irreversible block | firehose-antelope |
Use the finality the stream sends with each block (Firehose metadata.lib_num, Substreams final_block_height) rather than hard-coding a depth: it is the stream's own statement of finality and follows the rules above. Solana slot numbers skip slots that produced no block, so gaps in slot numbers are normal there.