{"slug":"l2-block-time","title":"Fastest L2 block time, live across Robinhood, Arbitrum, Base and 7 more","subtitle":"Wall-clock interval in milliseconds between two consecutive newHeads events on each L2 sequencer, refreshed continuously.","category":"Blockchains","metric":"Block time","unit":"ms","status":"live","higherIsBetter":false,"filters":null,"value":86.677,"leader":{"name":"Robinhood Chain","slug":"robinhood","value":86.677},"rankings":[{"name":"Robinhood Chain","slug":"robinhood","ms":{"p50":86.677,"p90":174.612,"p99":356.632,"mean":100.236},"successRate":100,"sampleSize":845692},{"name":"Arbitrum One","slug":"arbitrum","ms":{"p50":336.809,"p90":470.971,"p99":635.508,"mean":252.424},"successRate":99.16669999999999,"sampleSize":337297},{"name":"Mantle","slug":"mantle","ms":{"p50":1779.06,"p90":2722.48,"p99":2974.02,"mean":1999.55},"successRate":99.16669999999999,"sampleSize":42644.8},{"name":"Scroll","slug":"scroll","ms":{"p50":1837.36,"p90":17865.1,"p99":55004,"mean":5909.57},"successRate":98.8889,"sampleSize":14332},{"name":"zkSync Era","slug":"zksync","ms":{"p50":1885.45,"p90":7549.19,"p99":24108.1,"mean":3133.3},"successRate":99.9306,"sampleSize":27549.6},{"name":"Optimism","slug":"optimism","ms":{"p50":1926.31,"p90":2782.83,"p99":2978.42,"mean":1999.64},"successRate":99.0278,"sampleSize":42641.8},{"name":"Base","slug":"base","ms":{"p50":1945.19,"p90":2787.81,"p99":2978.92,"mean":1999.59},"successRate":99.0278,"sampleSize":42612.8},{"name":"Taiko","slug":"taiko","ms":{"p50":1974.94,"p90":2814.37,"p99":3535.48,"mean":2024.93},"successRate":98.9583,"sampleSize":41926.6},{"name":"Blast","slug":"blast","ms":{"p50":1982.95,"p90":2796.89,"p99":2980.16,"mean":1999.71},"successRate":99.0278,"sampleSize":42517.8},{"name":"Linea","slug":"linea","ms":{"p50":5089.55,"p90":17609.9,"p99":48179.2,"mean":8246.52},"successRate":99.0278,"sampleSize":10305.6}],"sparkline":[142.644,127.694,118.792,112.399,117.739,120.389,121.773,120.536,112.505,109.447,110.977,112.369,110.879,114.281,115.422,117.44,125.328,126.133,132.522,116.217,121.273,128.081,131.778,125.045,111.439,109.332,109.023,114.775,121.689,126.71,135.309,135.313,138.663,154.605,173.893,195.109,190.759,216.031,205.6,205.716,181.794,203.195,199.514,187.486,157.635,144.307,133.91,126.866,142.033,142.293,161.522,164.895,157.73,131.707,103.064,103.945,104.643,102.725,103.634,105.506,107.333,104.064,110.595,115.524,121.6,122.218,117.793,132.153,121.226,121.932,119.533,137.56,152.502],"sampleSize":1447520.0000000005,"asOf":"2026-09-15T21:46:29.014Z","headline":"Robinhood Chain posts the lowest block time at 87 ms (p50, 24h) on Fastest L2 block time, live across Robinhood, Arbitrum, Base and 7 more.","quote":"Robinhood Chain posts the lowest block time at 87 ms (p50, 24h) on Fastest L2 block time, live across Robinhood, Arbitrum, Base and 7 more. Source: OpenChainBench (https://openchainbench.com/benchmarks/l2-block-time).","cite":{"plain":"OpenChainBench. \"Fastest L2 block time, live across Robinhood, Arbitrum, Base and 7 more\". Retrieved 2026-09-15. https://openchainbench.com/benchmarks/l2-block-time","bibtex":"@misc{ocb_l2_block_time,\n  author = {OpenChainBench},\n  title  = {Fastest L2 block time, live across Robinhood, Arbitrum, Base and 7 more},\n  year   = {2026},\n  url    = {https://openchainbench.com/benchmarks/l2-block-time},\n  note   = {Retrieved 2026-09-15}\n}","apa":"OpenChainBench. (2026). Fastest L2 block time, live across Robinhood, Arbitrum, Base and 7 more. Retrieved September 15, 2026, from https://openchainbench.com/benchmarks/l2-block-time","ris":"TY  - GEN\r\nAU  - OpenChainBench\r\nTI  - Fastest L2 block time, live across Robinhood, Arbitrum, Base and 7 more\r\nPY  - 2026\r\nUR  - https://openchainbench.com/benchmarks/l2-block-time\r\nY2  - 2026-09-15\r\nER  - \r\n"},"pageUrl":"https://openchainbench.com/benchmarks/l2-block-time","ogImage":"https://openchainbench.com/api/og/l2-block-time","source":"https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/l2-block-time","methodology":["Robinhood Chain exception: the sequencer exposes no public WebSocket, so its block time is derived from eth_blockNumber deltas polled every 2 seconds over HTTP. A window that advanced N blocks contributes N samples of (elapsed / N) ms, which preserves per-block weighting and yields an accurate average; per-block jitter is not captured on this chain and this note is the disclosure.","Cadence: continuous WebSocket subscription per L2, one persistent connection, no polling.","Subscribe payload: `{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_subscribe\",\"params\":[\"newHeads\"]}`. No API key, public endpoints (publicnode.com mostly, era.zksync.io/ws for zkSync).","Sample: block-time(N) = T_recv(N) − T_recv(N-1), measured in milliseconds with `time.Now()` precision on the harness clock. Block-number duplicates from the same connection are filtered.","Sanity bound: any single sample > 5 min is dropped (reconnect artifact, never a real block-time).","Reconnect logic: exponential backoff 2 s → 60 s on dial / read errors. Per-chain `l2_block_time_reconnects_total` counter exposed for instability alerting.","Endpoint health: client-side ping every 30 s defensive against idle close, pong handler resets the read deadline. publicnode and era.zksync.io endpoints verified live for 90-second windows during harness inception (full table in the harness README).","Excluded by design: Polygon zkEVM and Mode (no public no-key WS available, would require an API-keyed contributor endpoint; deferred to v2). Starknet excluded, Cairo stack with a different RPC shape, would live in its own bench."],"license":"CC-BY-4.0"}