{"slug":"rpc-reliability","title":"Most reliable free public RPC, correctness incidents across 7 EVM chains","subtitle":"Correctness incidents per 24 hours for free no-key RPC endpoints: block hashes disagreeing with the cross-provider quorum, eth_getLogs counts deviating from the majority, divergent eth_getBalance state and blocked or gated methods, measured continuously alongside consensus head lag.","category":"RPCs","metric":"Reliability incidents","unit":"count","status":"live","higherIsBetter":false,"filters":null,"value":7.00159,"leader":{"name":"Lava","slug":"lava","value":7.00159},"rankings":[{"name":"Lava","slug":"lava","ms":{"p50":7.00159,"p90":0,"p99":0,"mean":2.65956},"successRate":95.27029999999999,"sampleSize":148.034,"sampleHealth":3.70085,"dataConfidence":"healthy"},{"name":"PublicNode","slug":"publicnode","ms":{"p50":21.0046,"p90":0,"p99":0.047619,"mean":0.00241107},"successRate":95.2381,"sampleSize":420.093,"sampleHealth":10.502325,"dataConfidence":"healthy"},{"name":"Binance","slug":"binance","ms":{"p50":23.0053,"p90":0,"p99":0,"mean":0},"successRate":50,"sampleSize":46.0107,"sampleHealth":1.1502675,"dataConfidence":"healthy"},{"name":"Nodies","slug":"nodies","ms":{"p50":24.0054,"p90":0,"p99":0,"mean":0},"successRate":93.5829,"sampleSize":374.085,"sampleHealth":9.352125,"dataConfidence":"healthy"},{"name":"Flashbots","slug":"flashbots","ms":{"p50":34.0078,"p90":0,"p99":0,"mean":0},"successRate":58.53660000000001,"sampleSize":82.0187,"sampleHealth":2.0504675,"dataConfidence":"healthy"},{"name":"dRPC","slug":"drpc","ms":{"p50":99.022,"p90":0.0833333,"p99":0.291667,"mean":0.0632367},"successRate":76.4286,"sampleSize":420.093,"sampleHealth":10.502325,"dataConfidence":"healthy"}],"sparkline":[0,0,0,0,0,1.00037,1.0018,0,0,1.00127,1.00127,1.00278,0,1.00202,2.00403,2.00752,1.00255,0,0,0,1.00388,1.00388,1.00388,0,0,0,0,0,0,0,0,0,0,0,1.00405,1.00405,1.00405,0,0,1.00418,1.00418,1.00418,0,0,0,0,0,0,0,0,0,0,0,0],"sampleSize":2266.5108999999998,"expectedN":40,"dataConfidence":"healthy","asOf":"2026-07-17T04:34:41.509Z","headline":"Lava leads reliability incidents at 7 (24h) on Most reliable free public RPC, correctness incidents across 7 EVM chains.","quote":"Lava leads reliability incidents at 7 (24h) on Most reliable free public RPC, correctness incidents across 7 EVM chains. Source: OpenChainBench (https://openchainbench.com/benchmarks/rpc-reliability).","cite":{"plain":"OpenChainBench. \"Most reliable free public RPC, correctness incidents across 7 EVM chains\". Retrieved 2026-07-17. https://openchainbench.com/benchmarks/rpc-reliability","bibtex":"@misc{ocb_rpc_reliability,\n  author = {OpenChainBench},\n  title  = {Most reliable free public RPC, correctness incidents across 7 EVM chains},\n  year   = {2026},\n  url    = {https://openchainbench.com/benchmarks/rpc-reliability},\n  note   = {Retrieved 2026-07-17}\n}","apa":"OpenChainBench. (2026). Most reliable free public RPC, correctness incidents across 7 EVM chains. Retrieved July 17, 2026, from https://openchainbench.com/benchmarks/rpc-reliability","ris":"TY  - GEN\r\nAU  - OpenChainBench\r\nTI  - Most reliable free public RPC, correctness incidents across 7 EVM chains\r\nPY  - 2026\r\nUR  - https://openchainbench.com/benchmarks/rpc-reliability\r\nY2  - 2026-07-17\r\nER  - \r\n"},"pageUrl":"https://openchainbench.com/benchmarks/rpc-reliability","ogImage":"https://openchainbench.com/api/og/rpc-reliability","source":"https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities","methodology":["Consensus lag: the bench-010 latency probe fetches the full latest header every 60 seconds per (provider, chain); its height and hash, previously discarded, feed this bench. rpc_consensus_lag_blocks is the gap between the provider's reported head and the highest head any probed provider reported for that chain (rolling max). Valid-but-stale responses still count as observations; failed probes delete the series so dead endpoints age out.","Hash quorum: per chain, a height-to-hash vote map. When one hash at height H is backed by at least 2 providers AND strictly more than any competing hash, it is canonical; a provider that reported a different hash at H is counted in rpc_hash_mismatch_total, at most once per (provider, height). A 2-2 split, the signature of a live reorg, resolves to no quorum and counts nobody.","Fixed-vector integrity, cadence: every 5 minutes ONE chain is checked, rotating through the 7 chains with a canonical high-traffic USDC deployment (Ethereum, Arbitrum, Optimism, Base, Polygon, BNB, Avalanche). Each provider on that chain gets 2 checks per round, so a single-chain provider accrues ~82 checks per day and a 7-chain provider ~575.","Logs completeness vector: eth_getLogs for the chain's canonical USDC contract (Circle native deployments; Binance-peg on BNB) over a 10-block window ending at tip minus N. Returned log counts are compared across providers; deviation from the strict majority count increments rpc_logs_disagreement_total and books a disagree incident. Live calibration on Ethereum returned 1371 logs consistently on drpc, tenderly and blastapi over the same fixed range.","Anti-gaming rotation: N rotates daily over {20, 30, 40, 50, 60} blocks, so a provider cannot special-case a published fixed range, and request ids rotate on every call (the same edge-cache defeat as the latency probe). All depths stay far inside non-archive territory, so a pruned-but-honest node is never penalized.","State consistency vector: eth_getBalance of a fixed well-known address (the same Vitalik address the archive-depth probe uses) at the tip-minus-N block. The hex answer must be byte-identical across providers; divergence from the strict majority increments rpc_state_disagreement_total. Live calibration showed byte-identical balances across all responding providers at a fixed block.","Errors are signal: rpc_integrity_check_total{result} is ok, error or disagree. error covers blocked methods (1RPC answers eth_getLogs with -32000), depth gating (PublicNode keyless regressed to under 150 blocks of archive depth in July 2026, returning -32602 asking for a personal token), and transport failures. The headline counts error and disagree alike: a method you cannot call is unreliable regardless of why.","Headline: incidents per 24h = increase of integrity checks with result error or disagree, plus increase of hash mismatches, from the eu-west vantage. Raw counts, no weighting; the p90/p99 columns are consensus-lag quantiles in blocks, published as raw companion dimensions.","Single-region disclosure: incidents are counted from the eu-west probe only. Correctness, unlike latency, is location-independent in principle, but every provider fronts with anycast, so what we audit is the serving cluster eu-west traffic lands on; a diverged cache in another region is invisible to this bench. The us-east and sgp replicas emit the same metrics for cross-checking on the time-series chart.","Quorum honesty: strict plurality everywhere. Two agreeing providers outvote one dissenter; two against two resolves to no quorum and books nothing; a lone answer with no second opinion is unverifiable, not wrong, and books ok. Disagreement requires being outvoted by an established majority.","Cohort: 12 keyless providers from the bench-010 audited matrix. Excluded: LlamaRPC (fully down, HTTP 521, already delisted from the harness), 1RPC (delisted 2026-07-09 at under 13 percent success; when probed live it also blocked eth_getLogs with -32000, exactly the incident class this bench counts), Ankr / NodeReal / GetBlock / Chainstack (key-gated). Avalanche's foundation endpoint is probed by the harness and visible on bench 010; it is left out here only to keep the cohort at 12.","Provider matrix and vector addresses are documented in harnesses/rpc-capabilities/cmd/script/config.go and integrity.go; the harness is shared with bench 010, so both benches see the identical provider set and probe budget."],"license":"CC-BY-4.0"}