{"slug":"ws-head-latency-base","title":"Fastest Base WebSocket newHeads push, live block-push lag across RPC providers","subtitle":"Per-block WebSocket push lag in milliseconds versus the earliest provider to deliver the same Base head, measured continuously from one eu-west vantage point.","category":"RPCs","metric":"Block push lag","unit":"ms","status":"live","higherIsBetter":false,"filters":null,"value":0.362889,"leader":{"name":"PublicNode","slug":"publicnode","value":0.362889},"rankings":[{"name":"PublicNode","slug":"publicnode","ms":{"p50":0.362889,"p90":4.76209,"p99":137.209,"mean":2.79018},"successRate":100,"sampleSize":164180,"sampleHealth":23.454285714285714,"dataConfidence":"healthy"},{"name":"dRPC","slug":"drpc","ms":{"p50":92.6859,"p90":10240,"p99":10240,"mean":121.311},"successRate":99.90679999999999,"sampleSize":164180,"sampleHealth":23.454285714285714,"dataConfidence":"healthy"}],"sparkline":[3.83923,3.94023,3.91333,3.93131,3.86481,3.92296,4.04337,4.01418,3.89328,3.53616,0.493496,0.413419,0.339388,0.335121,0.335705,0.335483,0.336334,0.444941,0.439357,0.443851,0.416627,0.403521,0.371964,0.366582,0.355419,0.350991,0.344702,0.342173,0.339544,0.338674,0.337494,0.336832,0.3373,0.334359,0.333968,0.335085,0.335518,0.335642,0.334892,0.334002,0.333831,0.336945,0.336575,0.337931,0.336941,0.339973,0.357623,0.376108,0.37236,0.357251,0.351334,0.36232,0.363405,0.357129,0.352667,0.357329,0.362917,0.363962,0.360206,0.354001,0.356728,0.369376,0.384517,0.396412],"sampleSize":328360,"expectedN":7000,"dataConfidence":"healthy","asOf":"2026-08-19T05:19:21.861Z","headline":"PublicNode leads block push lag at 0.4 ms (p50, 24h) on Fastest Base WebSocket newHeads push, live block-push lag across RPC providers.","quote":"PublicNode leads block push lag at 0.4 ms (p50, 24h) on Fastest Base WebSocket newHeads push, live block-push lag across RPC providers. Source: OpenChainBench (https://openchainbench.com/benchmarks/ws-head-latency-base).","cite":{"plain":"OpenChainBench. \"Fastest Base WebSocket newHeads push, live block-push lag across RPC providers\". Retrieved 2026-08-19. https://openchainbench.com/benchmarks/ws-head-latency-base","bibtex":"@misc{ocb_ws_head_latency_base,\n  author = {OpenChainBench},\n  title  = {Fastest Base WebSocket newHeads push, live block-push lag across RPC providers},\n  year   = {2026},\n  url    = {https://openchainbench.com/benchmarks/ws-head-latency-base},\n  note   = {Retrieved 2026-08-19}\n}","apa":"OpenChainBench. (2026). Fastest Base WebSocket newHeads push, live block-push lag across RPC providers. Retrieved August 19, 2026, from https://openchainbench.com/benchmarks/ws-head-latency-base","ris":"TY  - GEN\r\nAU  - OpenChainBench\r\nTI  - Fastest Base WebSocket newHeads push, live block-push lag across RPC providers\r\nPY  - 2026\r\nUR  - https://openchainbench.com/benchmarks/ws-head-latency-base\r\nY2  - 2026-08-19\r\nER  - \r\n"},"pageUrl":"https://openchainbench.com/benchmarks/ws-head-latency-base","ogImage":"https://openchainbench.com/api/og/ws-head-latency-base","source":"https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/ws-head-latency","methodology":["Providers measured (keyless WebSocket endpoints): PublicNode (wss://base-rpc.publicnode.com), dRPC (wss://base.drpc.org). Tenderly does not expose a keyless Base WebSocket path and is scoped out until a public gateway is announced. Keyed providers (Alchemy, Infura, Chainstack, QuickNode) join the cohort when contributor keys are wired via WS_URL_<PROVIDER>_BASE env vars.","Cohort saturation: Blast, LlamaRPC, BlockPI, 1RPC, mainnet.base.org and Ankr all reject a keyless WebSocket handshake at the time of ship (verified 2026-07), which is why the keyless tier stops at two.","Chain scope: every query on this page is pinned to chain=\"base\". Base block cadence is 2 seconds, so a 24h window carries roughly 43000 samples per provider (versus ~7200 on Ethereum), well above the 7000 sample floor used by the parent bench.","Race scoring: identical to the parent [ws-head-latency](https://openchainbench.com/benchmarks/ws-head-latency-ethereum) benchmark. First provider to deliver block N sets T0. Each provider's sample for block N is arrival(N) minus T0 in milliseconds. Cohort closes 5 seconds after the first arrival; late arrivals are scored as missed blocks via ws_block_gap_total rather than as huge latency samples.","Relative, not absolute: subtraction of two arrivals over the same path removes vantage-point network latency. Consequence: the fastest provider reads near zero by construction. The honest readings are win rate, trailers' lag distribution, and gap counts.","Aggregation: per-provider lag histogram with a sub-millisecond floor (0.5 ms bucket up through 10 s tail), p50/p90/p99 via histogram_quantile over the 24h rate. Coverage score = ws_head_blocks_seen_total divided by cohort maximum, clamped to 1. A provider that pushes fast but skips blocks loses on this column, not on the latency percentiles.","Connection discipline: one persistent WebSocket per (provider, chain), client ping every 30s, read deadline 60s, 90s head watchdog forcing reconnect when a socket keeps the heartbeat alive but silently drops the subscription. Exponential backoff 2s to 60s on reconnect.","Vantage point: a single eu-west host. Multi-region deployment is a follow-up on the parent bench roadmap; the same limitation and the reasoning behind it are documented there."],"license":"CC-BY-4.0"}