{"slug":"rpc-capabilities","title":"Fastest free public RPC for Ethereum, BNB, Polygon and 7 more EVM chains","subtitle":"HTTP round-trip latency for eth_blockNumber against free, no-key public RPC endpoints across 10 EVM chains, audited every 15 seconds.","category":"RPCs","metric":"RPC latency","unit":"ms","status":"live","higherIsBetter":false,"value":22.3667,"leader":{"name":"dRPC","slug":"drpc","value":22.3667},"rankings":[{"name":"dRPC","slug":"drpc","ms":{"p50":22.3667,"p90":32.51,"p99":66.2693,"mean":25.9704},"successRate":93.6334,"sampleSize":86397.3},{"name":"Binance","slug":"binance","ms":{"p50":32.6667,"p90":34,"p99":61.0533,"mean":33.6976},"successRate":100,"sampleSize":8639.93},{"name":"Cloudflare","slug":"cloudflare","ms":{"p50":44.6667,"p90":66.3333,"p99":110.14,"mean":49.1446},"successRate":100,"sampleSize":8638.93},{"name":"PublicNode","slug":"publicnode","ms":{"p50":68.4,"p90":77.7333,"p99":135.664,"mean":72.2976},"successRate":99.9896,"sampleSize":86400.3},{"name":"Merkle","slug":"merkle","ms":{"p50":114.5,"p90":121.667,"p99":139.048,"mean":118.636},"successRate":98.96979999999999,"sampleSize":17279.9},{"name":"Avalanche","slug":"avalanche-official","ms":{"p50":117.667,"p90":141.333,"p99":193.033,"mean":118.719},"successRate":100,"sampleSize":8639.93},{"name":"Nodies","slug":"nodies","ms":{"p50":119.762,"p90":134.238,"p99":220.19,"mean":125.894},"successRate":99.0967,"sampleSize":60477.7},{"name":"Tenderly","slug":"tenderly","ms":{"p50":121.222,"p90":143.4,"p99":335.389,"mean":131.926},"successRate":99.9537,"sampleSize":77757.3},{"name":"Arbitrum","slug":"arbitrum-official","ms":{"p50":125,"p90":135,"p99":216.617,"mean":130.324},"successRate":99.9768,"sampleSize":8638.93},{"name":"Base","slug":"base-official","ms":{"p50":128,"p90":142.1,"p99":498.943,"mean":141.94},"successRate":99.9884,"sampleSize":8638.93},{"name":"Optimism","slug":"optimism-official","ms":{"p50":160.333,"p90":172.667,"p99":263.43,"mean":168.427},"successRate":99.9074,"sampleSize":8639.93},{"name":"1RPC","slug":"1rpc","ms":{"p50":167.937,"p90":2170.38,"p99":6282.35,"mean":613.554},"successRate":2.22254,"sampleSize":69117.4},{"name":"Lava","slug":"lava","ms":{"p50":168.667,"p90":912.167,"p99":2416.99,"mean":391.545},"successRate":99.3806,"sampleSize":17276.9},{"name":"MeowRPC","slug":"meowrpc","ms":{"p50":169.5,"p90":349.833,"p99":547.822,"mean":201.508},"successRate":98.3796,"sampleSize":17281.9},{"name":"Flashbots","slug":"flashbots","ms":{"p50":350.667,"p90":373.667,"p99":400.093,"mean":352.016},"successRate":99.9653,"sampleSize":8640.93}],"sparkline":[26.6975,26.2349,26.3776,26.6181,27.1535,27.1861,27.5862,26.6622,27.1199,25.5917,25.9678,24.4946,24.2136,22.9721,22.5167,22.3839,22.4215,22.3182,22.2485,23.7125,28.079,30.4614,29.2054,25.0979,23.0133,23.1217,23.1906,23.501,23.7886,23.8851,23.3231,23.0468,22.8514,23.3422,23.4028,23.7361,23.5943,23.8365,23.906,24.1497,24.2343,24.4761,24.811,25.5054,25.6621,26.9529,27.0554,26.686,25.0011,24.5164,24.8144,25.1249,25.1864,25.3217,25.4387,27.0615,28.3832,29.5362,29.7558,29.6222,29.9825,29.0993,33.0165,32.1736,31.8749,27.1949,30.2761,29.9425,30.609,27.9185,27.7631,26.77,26.0508],"sampleSize":492466.21,"asOf":"2026-06-11T18:25:40.455Z","headline":"dRPC leads rpc latency at 22 ms (p50, 24h) on Fastest free public RPC for Ethereum, BNB, Polygon and 7 more EVM chains.","quote":"dRPC leads rpc latency at 22 ms (p50, 24h) on Fastest free public RPC for Ethereum, BNB, Polygon and 7 more EVM chains. Source: OpenChainBench (https://openchainbench.com/benchmarks/rpc-capabilities).","pageUrl":"https://openchainbench.com/benchmarks/rpc-capabilities","ogImage":"https://openchainbench.com/api/og/rpc-capabilities","source":"https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities","methodology":["Cadence: every 15 seconds per (provider, chain) pair, from each of 3 Railway replicas (us-east Virginia, eu-west Amsterdam, sgp Singapore). The harness reads `$RAILWAY_REPLICA_REGION` at boot, normalizes it to the canonical 3-region set, and stamps a `region` label on every emitted metric. Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are available on the time-series chart.","Payload: `{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_blockNumber\",\"params\":[]}`. Plain HTTP POST, identical for every endpoint, no API key in any request.","Latency: client-side `time.Now()` delta around the round-trip, in milliseconds. Exposed as both a gauge (`rpc_latency_milliseconds`) and a histogram (`rpc_latency_milliseconds_histogram`) with buckets 50 ms → 10 s, so p50/p90/p99 are computed via Prometheus `histogram_quantile` / `quantile_over_time`.","Call-result classification: `ok` (HTTP 200 + non-empty result), `http_err` (status ≠ 200 or transport failure), `jsonrpc_err` (HTTP 200 with an `error` field, the Cloudflare-eth trap), `stale` (returned block more than 20 behind the cross-provider tip for that chain), `timeout`. Counter `rpc_call_total{result}` powers the reliability leaderboard.","Archive depth: every 5 minutes we issue `eth_getBalance` at (head, depth) for `depth` in {300, 7200, 216_000, 1_296_000, 5_000_000}. Gauge `rpc_archive_depth_supported{depth}` is 1 when the response is non-pruned, 0 otherwise. The 300/7200 thresholds cover Geth's default pruned-cap range; 216k ≈ 1 month; 1.3M ≈ 6 months; 5M ≈ genesis-era full archive.","Chain coverage: 10 EVM chains. Ethereum (9 providers), Arbitrum (8), Base (6), Optimism (6), Avalanche (6), BNB (5), Polygon (5), Linea (4), Scroll (4), Mantle (4). Provider matrix per chain is documented in `miniapps/rpc-capabilities/cmd/script/config.go`.","Excluded by design: Ankr (key-gated), gateway.fm (29 req/IP budget too tight for 15s polling), LlamaRPC + BlockPI + OmniaTech (Cloudflare 521 region-blocked), Alchemy demo (rate-limited dead), NodeReal + GetBlock + Chainstack (key-gated). Merkle on Ethereum + Lava on non-ETH/Arb + MeowRPC on non-ETH/Arb all excluded chain-by-chain. Every (provider, chain) was live-verified no-key before inclusion."],"license":"CC-BY-4.0"}