{"slug":"ws-head-latency-ethereum","title":"Fastest Ethereum 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 Ethereum 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.381768,"leader":{"name":"PublicNode","slug":"publicnode","value":0.381768},"rankings":[{"name":"PublicNode","slug":"publicnode","ms":{"p50":0.381768,"p90":106.723,"p99":10240,"mean":37.858},"successRate":100,"sampleSize":22528,"sampleHealth":3.2182857142857144,"dataConfidence":"healthy"},{"name":"dRPC","slug":"drpc","ms":{"p50":747.932,"p90":10240,"p99":10240,"mean":519.976},"successRate":99.93339999999999,"sampleSize":22513.1,"sampleHealth":3.2161571428571425,"dataConfidence":"healthy"},{"name":"Tenderly","slug":"tenderly","ms":{"p50":2763.87,"p90":10240,"p99":10240,"mean":1678.04},"successRate":99.94229999999999,"sampleSize":22513.1,"sampleHealth":3.2161571428571425,"dataConfidence":"healthy"}],"sparkline":[3.65582,0.486352,0.426168,0.411548,0.417982,0.448043,0.455418,0.434887,0.413424,0.390914,0.386481,0.378653,0.369417,0.354043,0.349941,0.346154,0.394947,0.43805,0.494328,0.485037,0.475414,0.449548,0.412638,0.394511,0.398,0.385806,0.371875,0.353192,0.347011,0.344367,0.340413,0.339387,0.340262,0.343678,0.343678,0.34271,0.339225,0.341456,0.339022,0.340286,0.339147],"sampleSize":67554.2,"expectedN":7000,"dataConfidence":"healthy","asOf":"2026-07-17T04:34:54.498Z","headline":"PublicNode leads block push lag at 0.4 ms (p50, 24h) on Fastest Ethereum WebSocket newHeads push, live block-push lag across RPC providers.","quote":"PublicNode leads block push lag at 0.4 ms (p50, 24h) on Fastest Ethereum WebSocket newHeads push, live block-push lag across RPC providers. Source: OpenChainBench (https://openchainbench.com/benchmarks/ws-head-latency-ethereum).","cite":{"plain":"OpenChainBench. \"Fastest Ethereum WebSocket newHeads push, live block-push lag across RPC providers\". Retrieved 2026-07-17. https://openchainbench.com/benchmarks/ws-head-latency-ethereum","bibtex":"@misc{ocb_ws_head_latency_ethereum,\n  author = {OpenChainBench},\n  title  = {Fastest Ethereum WebSocket newHeads push, live block-push lag across RPC providers},\n  year   = {2026},\n  url    = {https://openchainbench.com/benchmarks/ws-head-latency-ethereum},\n  note   = {Retrieved 2026-07-17}\n}","apa":"OpenChainBench. (2026). Fastest Ethereum WebSocket newHeads push, live block-push lag across RPC providers. Retrieved July 17, 2026, from https://openchainbench.com/benchmarks/ws-head-latency-ethereum","ris":"TY  - GEN\r\nAU  - OpenChainBench\r\nTI  - Fastest Ethereum WebSocket newHeads push, live block-push lag across RPC providers\r\nPY  - 2026\r\nUR  - https://openchainbench.com/benchmarks/ws-head-latency-ethereum\r\nY2  - 2026-07-17\r\nER  - \r\n"},"pageUrl":"https://openchainbench.com/benchmarks/ws-head-latency-ethereum","ogImage":"https://openchainbench.com/api/og/ws-head-latency-ethereum","source":"https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/ws-head-latency","methodology":["Providers measured (keyless WebSocket endpoints): PublicNode (wss://ethereum-rpc.publicnode.com), dRPC (wss://eth.drpc.org), Tenderly (wss://mainnet.gateway.tenderly.co), Onfinality (wss://eth.api.onfinality.io/public-ws). Keyed providers (Alchemy, Infura, Chainstack, QuickNode) join the cohort when contributor keys are wired via WS_URL_<PROVIDER>_ETHEREUM env vars; the harness skips them cleanly when unset.","Cohort saturation: Ankr, Blast, LlamaRPC, BlockPI, 1RPC, NodeReal and Omniatech all reject a keyless WebSocket handshake at the time of ship (verified 2026-07), which is why the keyless tier stops at four (PublicNode, dRPC, Tenderly, Onfinality).","Chains: Ethereum (headline, all three providers compete), Base via newHeads and Solana via slotSubscribe as secondary cohorts. Headline queries on this page are pinned to chain=ethereum so the ranking never mixes block cadences.","Race scoring: the first provider to deliver block N sets T0. Each provider's sample for block N is arrival(N) minus T0 in milliseconds. The cohort closes 5 seconds after the first arrival; a provider arriving later than that is scored as a missed block (ws_block_gap_total), not as a huge latency sample.","Relative, not absolute: a single vantage point cannot separate its own network path from provider pipeline time, so we subtract the two arrivals over the same path instead. Consequence: the fastest provider reads ~0 by construction, and the honest readings are win rate, the trailers' lag distribution, and gap counts, not the leader's absolute number.","Blocks where only one provider delivered within the window emit no lag samples and no win: a one-horse race carries no relative information. Gap counters still increment for live providers that missed the block.","Connection discipline: one persistent WebSocket per (provider, chain), client ping every 30s, read deadline 60s, plus a 90s head watchdog that forces a reconnect when a provider keeps the socket heartbeat alive but silently drops the subscription (a failure mode we have observed in production on other benches). Reconnects use exponential backoff 2s to 60s and are counted in ws_reconnects_total.","Coverage score: ws_head_blocks_seen_total per provider divided by the cohort maximum over the same 24h window, clamped to 1. A provider that pushes fast but skips blocks loses on this column rather than hiding in the latency percentiles.","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. Duplicate announcements of the same block on one connection are dropped; per-provider liveness is exported as ws_health (1 = connected and delivered a message in the last 120s).","Cheat vector disclosure: a provider could theoretically pre-announce heads it has not fully validated to win the race. We keyed the cohort on block number as pushed; hash-level cross-checking against a reference node is on the v2 list. Reading win rate together with the gap counter already flags a provider that pushes early but wrong (retracted heads show up as cohort inconsistencies and reorg noise).","Vantage point: a single eu-west host. Geography moves absolute arrival times but affects all providers over the same path; still, a provider whose nearest edge is far from eu-west is disadvantaged, and a us-east probe is the planned second vantage before any cross-region claim is made."],"license":"CC-BY-4.0"}