Block
A block header at that height. The cheapest thing that proves the block is still held.
Benchmarks
Every other measurement on this site is taken at the chain head, which is the easy case — every provider serves it competently. They differ at depth, and depth is what somebody choosing between a free tier and an archive plan is actually choosing between.
Five rungs — a thousand blocks back, then ten, a hundred, a million and five million — asked in three ways. Fixed rungs rather than a search for the exact boundary: the exact boundary moves with the head every block and means nothing to a reader, while an order of magnitude is the answer and makes two providers directly comparable.
| Provider | Asked for | Reaches back | 1k · 10k · 100k · 1M · 5M | Where it stopped |
|---|---|---|---|---|
| Blast API | Block | 26 daysat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| Blast API | Logs | not measured | 1k back: not measured10k back: not measured100k back: not measured1M back: not measured5M back: not measured | rate limited or refused outright |
| Blast API | State | 26 daysat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| BNB Chain | Block | 26 daysat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| BNB Chain | Logs | nothing served | 1k back: declined10k back: declined100k back: not measured1M back: not measured5M back: not measured | at 1k“limit exceeded” |
| BNB Chain | State | nothing served | 1k back: declined10k back: declined100k back: not measured1M back: not measured5M back: not measured | at 1k“missing trie node” |
| BNB Chain | Block | 26 daysat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| BNB Chain | Logs | nothing served | 1k back: declined10k back: declined100k back: not measured1M back: not measured5M back: not measured | at 1k“limit exceeded” |
| BNB Chain | State | nothing served | 1k back: declined10k back: declined100k back: not measured1M back: not measured5M back: not measured | at 1k“missing trie node” |
| NodeReal | Block | 26 daysat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| NodeReal | Logs | 26 daysat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| NodeReal | State | 26 daysat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| 1RPC | Block | 26 days5M back | 1k back: answered10k back: answered100k back: answered1M back: no data5M back: answered | at 1M“answered with no data” |
| 1RPC | Logs | 8 minutesat least 1k back | 1k back: answered10k back: not measured100k back: not measured1M back: not measured5M back: not measured | deeper than this ladder reaches |
| 1RPC | State | nothing served | 1k back: declined10k back: declined100k back: not measured1M back: not measured5M back: not measured | at 1k“not supported” |
| PublicNode | Block | 26 daysat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| PublicNode | Logs | 8 minutesat least 1k back | 1k back: answered10k back: not measured100k back: not measured1M back: not measured5M back: not measured | deeper than this ladder reaches |
| PublicNode | State | not measured | 1k back: not measured10k back: not measured100k back: not measured1M back: not measured5M back: not measured | rate limited or refused outright |
| Blast API | Block | 3 hoursat least 1k back | 1k back: answered10k back: not measured100k back: not measured1M back: not measured5M back: not measured | deeper than this ladder reaches |
| Blast API | Logs | 4.6 monthsat least 1M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: not measured | deeper than this ladder reaches |
| Blast API | State | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| dRPC | Block | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| dRPC | Logs | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| dRPC | State | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| Merkle | Block | 33 hoursat least 10k back | 1k back: answered10k back: answered100k back: not measured1M back: not measured5M back: not measured | deeper than this ladder reaches |
| Merkle | Logs | not measured | 1k back: not measured10k back: not measured100k back: not measured1M back: not measured5M back: not measured | rate limited or refused outright |
| Merkle | State | not measured | 1k back: not measured10k back: not measured100k back: not measured1M back: not measured5M back: not measured | rate limited or refused outright |
| MEV Blocker | Block | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| MEV Blocker | Logs | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| MEV Blocker | State | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| NodeReal | Block | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| NodeReal | Logs | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| NodeReal | State | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| 1RPC | Block | 4.6 months1M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: failed | at 5M“provider returned HTTP 503” |
| 1RPC | Logs | 3 hoursat least 1k back | 1k back: answered10k back: not measured100k back: not measured1M back: not measured5M back: not measured | deeper than this ladder reaches |
| 1RPC | State | 14 days100k back | 1k back: answered10k back: answered100k back: answered1M back: declined5M back: declined | at 1M“historical state c2b62fe6e3f8ab8e27fddd44993c7abce8194d7ce7eb4d00cd4ed0bebe25e8b9 is not available” |
| PublicNode | Block | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| PublicNode | Logs | not measured | 1k back: not measured10k back: not measured100k back: not measured1M back: not measured5M back: not measured | rate limited or refused outright |
| PublicNode | State | not measured | 1k back: not measured10k back: not measured100k back: not measured1M back: not measured5M back: not measured | rate limited or refused outright |
| Tenderly | Block | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| Tenderly | Logs | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| Tenderly | State | 1.9 yearsat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| PublicNode | Block | 12 hours100k back | 1k back: answered10k back: answered100k back: answered1M back: declined5M back: declined | at 1M“Block 440407819 cleaned up, does not exist on node. First available block: 440879025” |
| Solana Foundation | Block | 24 daysat least 5M back | 1k back: answered10k back: answered100k back: answered1M back: answered5M back: answered | deeper than this ladder reaches |
| Tatum | Block | 12 hours100k back | 1k back: answered10k back: answered100k back: answered1M back: declined5M back: not measured | at 1M“Slot 440407986 was skipped, or missing in long-term storage” |
A block header at that height. The cheapest thing that proves the block is still held.
An account balance at that height. What a pruned node cannot answer even while it still holds the block — and the single sharpest divide between an archive tier and a free one.
A ten-block log range, filtered to one contract. Where free tiers impose caps that have nothing to do with retention.
A node can keep every block header and no historical state — BNB Chain’s own public endpoint answers about a block five million back and says missing trie node for a balance a thousand back. Asking one question and reporting it as depth would miss that entirely.
The question is whether the endpoint holds the history, not how fast it returns it. It runs every six hours rather than every minute, and its timings are kept out of the latency figures — so no deliberately expensive query moves a percentile anywhere on this site.
Every query carries the same address and topic filter the head-adjacent scenarios use. Unfiltered, a log range returns more at a busy depth than a quiet one, and a provider refusing on result size would be recorded as refusing on age.
An endpoint that answered at five million blocks has a limit deeper than this ladder goes. It is reported as reaching five million, never as stopping there.
Rate limiting, and a bare 401 or 403, are recorded as not measured. They can mean the provider does not serve that depth, or that we asked too often, and those are not distinguishable from here — so nothing is claimed from either. The rest of the method
How far back an endpoint will answer, in the chain's own unit — blocks on an EVM chain, slots on Solana. A capability rather than a performance measurement: it asks whether the endpoint holds the history, not how fast it returns it, so it runs every six hours rather than every minute and its timings never enter a latency percentile. Three kinds are asked separately because providers differ on each. A node can keep every block header and no historical state; a free tier can serve state and cap log ranges. Every query uses the same address and topic filter the head-adjacent scenarios use, so depth is the only variable — an unfiltered log range returns more at a busy depth than a quiet one, which reads as a limit that is really a result size. Nothing is claimed from an ambiguous refusal. Rate limiting, and a bare 401 or 403, are recorded as not measured rather than as a limit: they can mean the provider does not serve that depth, or that it was asked too often, and those are not distinguishable from here.