diff --git a/answers/alchemy-vs-quicknode-vs-infura-latency.yml b/answers/alchemy-vs-quicknode-vs-infura-latency.yml
index 4833fba0..3a92ecb7 100644
--- a/answers/alchemy-vs-quicknode-vs-infura-latency.yml
+++ b/answers/alchemy-vs-quicknode-vs-infura-latency.yml
@@ -1,7 +1,7 @@
slug: alchemy-vs-quicknode-vs-infura-latency
question: "Alchemy vs QuickNode vs Infura, which has the lowest RPC latency in 2026?"
short_answer: |
- {{best_name}} currently leads the keyed free-tier RPC leaderboard at {{best_p50}} p50 latency (24h avg), measured live from three regions by OpenChainBench against the keyed free tiers of Alchemy, QuickNode, Infura, Chainstack, Ankr and Helius on the same eth_getBlockByNumber probe.
+ OpenChainBench probes Alchemy, QuickNode and Infura alongside Chainstack, Ankr and Helius from three regions on identical eth_getBlockByNumber calls. Cross-provider leadership swings by chain and region: QuickNode usually wins US-East on the majors, Chainstack often leads Singapore on BNB and Polygon, and Helius is the Solana leg. Live 24h ranking at openchainbench.com/benchmarks/rpc-keyed-latency.
benchmark: rpc-keyed-latency
@@ -19,7 +19,7 @@ limitations:
faq:
- q: "Which free-tier RPC provider is fastest right now, Alchemy, QuickNode or Infura?"
- a: "{{best_name}} leads at {{best_p50}} p50 (24h avg) on the free-tier keyed leaderboard measured across three regions. The full ranking including QuickNode, Alchemy, Helius, Chainstack, Ankr and Infura re-sorts every 60 seconds against fresh Prometheus samples."
+ a: "Leadership on the free-tier keyed leaderboard swings by chain and region rather than a single cross-chain winner. Between Alchemy, QuickNode and Infura specifically, QuickNode usually posts the tightest US-East p50 on the majors and Alchemy leads EU-West. The full 6-provider ranking (QuickNode, Alchemy, Helius, Chainstack, Ankr, Infura) re-sorts every 60 seconds against fresh Prometheus samples at openchainbench.com/benchmarks/rpc-keyed-latency."
- q: "Why does Infura sit lower on this leaderboard than Alchemy or QuickNode?"
a: "Infura's free-tier throughput has degraded in 2026 due to daily credit brownouts that turn into 429 responses. Because latency is only recorded on successful calls, Infura's p50 looks acceptable in isolation but the Success column reveals sub-95% ok-rate on the free tier. QuickNode and Alchemy pair fast latency with 99.9%+ success, which is why they sit above Infura in a fair ranking."
- q: "Are these numbers different from what Alchemy or QuickNode publish on their own marketing pages?"
@@ -39,5 +39,5 @@ related:
- which-solana-rpc-lands-the-most-transactions
seo_title: "Alchemy vs QuickNode vs Infura RPC latency, live 2026"
-seo_description: "{{best_name}} leads at {{best_p50}} p50 (24h avg) on the free-tier keyed RPC leaderboard. Alchemy, QuickNode, Infura, Chainstack, Ankr and Helius ranked live from three regions by OpenChainBench."
+seo_description: "OpenChainBench ranks Alchemy, QuickNode and Infura alongside Chainstack, Ankr and Helius on identical eth_getBlockByNumber probes from three regions. Live per chain and per region leaders on the bench page."
status: live
diff --git a/answers/cheapest-bridge-usdc-to-base.yml b/answers/cheapest-bridge-usdc-to-base.yml
index 20c9267f..b0c32767 100644
--- a/answers/cheapest-bridge-usdc-to-base.yml
+++ b/answers/cheapest-bridge-usdc-to-base.yml
@@ -1,7 +1,7 @@
slug: cheapest-bridge-usdc-to-base
question: "Which bridge is cheapest to move USDC to Base?"
short_answer: |
- {{best_name}} currently offers the lowest effective fee for a USDC bridge to Base at {{best_p50}} bps all in (24h avg), measured live by OpenChainBench across Across, Stargate, LI.FI, Squid, Socket, Relay and Near Intents on a $300 USDC probe.
+ OpenChainBench measures the all in cost of a $300 USDC bridge (fee plus slippage plus destination gas) across six routers: Mobula, Relay, LI.FI, deBridge, Across and Near Intents. Since the bench aggregates across the Solana, Base and Arbitrum corridors, the USDC-to-Base leader on a specific corridor is on the per corridor breakdown at openchainbench.com/benchmarks/bridge-fee.
benchmark: bridge-fee
@@ -15,19 +15,19 @@ limitations:
- "Quote fee only. This measures router-quoted effective fee, not settlement. Any router that quotes tighter than it settles would show a fast p50 with degraded real-world execution; the sibling bridge-quote-latency bench flags routers where quote-to-settle drift is measurable."
- "One size, one route. The $300 USDC to Base pair is the highest-search-volume small-ticket bridge query. At $50k notional the leaderboard re-orders because the spread and LP fee components dominate. Producers moving treasury size should read the per-size breakdown on the bench page."
- "Destination gas at quote time. Destination gas is included in the effective fee at the quoted receiver payout, not at a delayed execution instant. A destination gas spike between quote and settle would degrade the actual fee below what this leaderboard reports."
- - "No canonical CCTP fast path. The USDC canonical bridge via Circle CCTP has different guarantees and speeds than the market-maker routers ranked here. The leaderboard measures the market-maker path (Across, LI.FI, Stargate, Squid, Socket, Relay, Near Intents) because it is the head-to-head every comparison article ranks."
+ - "No canonical CCTP fast path. The USDC canonical bridge via Circle CCTP has different guarantees and speeds than the market-maker routers ranked here. The leaderboard measures the market-maker path (Mobula, Relay, LI.FI, deBridge, Across, Near Intents) because it is the head-to-head every comparison article ranks."
faq:
- q: "Which bridge is cheapest for a $300 USDC transfer to Base?"
- a: "{{best_name}} leads the leaderboard at {{best_p50}} bps effective fee (24h avg) measured live on the same USDC to Base $300 probe. The full ranking including Across, Stargate, LI.FI, Squid, Socket, Relay and Near Intents re-sorts every 5 minutes against fresh Prometheus samples."
+ a: "The bench-fee leaderboard on the Base corridor is at openchainbench.com/benchmarks/bridge-fee. Six routers compete on the same $300 USDC probe (Mobula, Relay, LI.FI, deBridge, Across and Near Intents) and the ranking re-sorts every 5 minutes against fresh Prometheus samples."
- q: "Why $300, and does the winner change at $10k or $100k?"
- a: "$300 is the small-ticket regime that dominates retail search. At $10k the leaderboard shifts because LP-based routers (Stargate) start to lose ground to intent-based routers (Across, Near Intents) whose quotes are less size-dependent. At $100k the spread widens further and the choice becomes size-specific; the per-size tab on the bench page shows the leader at each notional."
+ a: "$300 is the small-ticket regime that dominates retail search. At $10k the leaderboard shifts because aggregator markups compress against intent-based routers (Across, Near Intents, Mobula) whose quotes are less size-dependent. At $100k the spread widens further and the choice becomes size-specific; the per-size tab on the bench page shows the leader at each notional."
- q: "Is Circle CCTP not on this ranking?"
a: "CCTP is Circle's canonical burn-and-mint path for USDC. It has different guarantees, speeds and a fixed protocol path, so it is not directly comparable to market-maker routers that price a swap through a pool. The bench measures the market-maker rankings because that is the choice retail actually makes; canonical CCTP is a separate decision users make once they know their maximum acceptable latency."
- q: "How is Across usually so cheap on this route?"
a: "Across runs an intent-based settlement model where relayers compete to fill from destination inventory. That model compresses the spread component to near zero on high-liquidity pairs like USDC Ethereum to Base. On less-liquid destinations Across loses its edge; that per-destination effect is why the leaderboard re-ranks by pair rather than emitting a single global cheapest bridge."
- - q: "Is Stargate outdated for Base?"
- a: "Stargate remains competitive on high-throughput pairs where its LP depth matters more than intent competition. On USDC to Base the pair-specific LP depth in 2026 has been narrower than intent-based competitors, which is why the leaderboard usually shows an intent router on top. Stargate wins on pairs where LP depth is the constraint."
+ - q: "Which USDC routers are on this leaderboard?"
+ a: "Six routers: Mobula, Relay, LI.FI, deBridge, Across and Near Intents. LP-based venues (Stargate, Squid, Socket) are not measured on this bench because their $300 USDC quote APIs did not meet the harness's coverage or reliability threshold; those venues remain competitive on higher notionals where LP depth dominates the spread."
- q: "How often is the leaderboard refreshed?"
a: "Every 5 minutes. The harness probes every router's quote API at that cadence, publishes bridge_effective_fee_bps to Prometheus, and the page reads a 24h rolling average. Because the recording rules re-aggregate every 30 seconds the on-screen ranking re-orders within a minute of any router changing quote behavior."
@@ -37,5 +37,5 @@ related:
- which-blockchain-has-cheapest-transaction-fees
seo_title: "Cheapest bridge for USDC to Base 2026 live"
-seo_description: "{{best_name}} leads at {{best_p50}} bps effective fee on a $300 USDC to Base probe. Across, Stargate, LI.FI, Squid, Socket, Relay and Near Intents ranked live by OpenChainBench."
+seo_description: "OpenChainBench ranks six USDC routers (Mobula, Relay, LI.FI, deBridge, Across, Near Intents) on all in cost at $300 notional across Solana, Base and Arbitrum. Live per corridor breakdown on the bench page."
status: live
diff --git a/answers/drpc-vs-publicnode-vs-1rpc.yml b/answers/drpc-vs-publicnode-vs-1rpc.yml
index cb2bb1cc..a2636e94 100644
--- a/answers/drpc-vs-publicnode-vs-1rpc.yml
+++ b/answers/drpc-vs-publicnode-vs-1rpc.yml
@@ -1,7 +1,7 @@
slug: drpc-vs-publicnode-vs-1rpc
question: "dRPC vs PublicNode vs 1RPC, which no-key public RPC is fastest?"
short_answer: |
- {{best_name}} currently leads the no-key public RPC leaderboard at {{best_p50}} p50 (24h), measured live from three regions across 10 EVM chains by OpenChainBench. dRPC, PublicNode and 1RPC each cover a different subset of chains and OpenChainBench ranks them under identical measurement conditions.
+ OpenChainBench ranks dRPC, PublicNode and 1RPC alongside 12 other no-key public RPCs on identical eth_getBlockByNumber probes from three regions across 10 EVM chains. Aggregate leaders on the full 15-provider board are often chain-official gateways (Binance, Base, Avalanche) rather than the multi-chain trio, and 1RPC was delisted from the leaderboard 2026-07-09 for a sustained sub-13 percent success rate. Live per chain and per region ranking at openchainbench.com/benchmarks/rpc-capabilities.
benchmark: rpc-capabilities
@@ -19,7 +19,7 @@ limitations:
faq:
- q: "Which no-key public RPC is fastest right now, dRPC, PublicNode or 1RPC?"
- a: "{{best_name}} leads the leaderboard at {{best_p50}} p50 (24h) on the cross-chain average measured live from three regions. Per-chain leaders are different: PublicNode wins some chains, dRPC wins others, and 1RPC's ranking is bounded by its Success column more than by its raw p50."
+ a: "On the aggregate 15-provider board a chain-official gateway (Binance, Base, Avalanche) usually posts the fastest p50, not the multi-chain trio. Between the three named providers dRPC and PublicNode trade places by chain and region; 1RPC was delisted on 2026-07-09 for sub-13 percent success rate and is pinned below the ranked table. Live per chain and per region breakdown is at openchainbench.com/benchmarks/rpc-capabilities."
- q: "Why does 1RPC show fast latency but a low Success rate?"
a: "The privacy-preserving gateway introduces additional processing between the client and the underlying node, and 1RPC has run into rate-limit and staleness issues at minimal probe load in 2025 to 2026. Because latency is recorded only on successful calls, the fast p50 hides how often a request would have failed in production. Read the Success column before ranking 1RPC alongside dRPC and PublicNode."
- q: "Does dRPC's consensus-checking add latency compared to PublicNode?"
@@ -37,5 +37,5 @@ related:
- alchemy-vs-quicknode-vs-infura-latency
seo_title: "dRPC vs PublicNode vs 1RPC no-key RPC latency 2026"
-seo_description: "{{best_name}} leads at {{best_p50}} p50 (24h) on the OpenChainBench no-key public RPC leaderboard. dRPC, PublicNode and 1RPC ranked live across 10 EVM chains from three regions."
+seo_description: "OpenChainBench ranks dRPC, PublicNode and 1RPC alongside 12 other no-key public RPCs on identical probes from three regions across 10 EVM chains. Live ranking on the bench page."
status: live
diff --git a/answers/helius-vs-triton-vs-quicknode-solana.yml b/answers/helius-vs-triton-vs-quicknode-solana.yml
index 5a65b0f8..00f3c17f 100644
--- a/answers/helius-vs-triton-vs-quicknode-solana.yml
+++ b/answers/helius-vs-triton-vs-quicknode-solana.yml
@@ -1,7 +1,7 @@
slug: helius-vs-triton-vs-quicknode-solana
question: "Helius vs Triton vs QuickNode, which lands the most Solana transactions?"
short_answer: |
- {{best_name}} currently lands the highest share of Solana transactions on the OpenChainBench active-probe harness at {{best_p50}} (24h), measured live from three regions by broadcasting identical transfers through each provider's mainnet RPC and confirming inclusion onchain.
+ OpenChainBench broadcasts identical Solana transfers through Helius, Triton and QuickNode every measurement cycle from three regions and confirms inclusion onchain, so the landed-rate head-to-head is measured live rather than self-reported. Jito bundle submission is also on the leaderboard as a separate priority-lane comparator. Full 24h landed-rate ranking for the three named providers is at openchainbench.com/benchmarks/solana-tx-landing.
benchmark: solana-tx-landing
@@ -19,7 +19,7 @@ limitations:
faq:
- q: "Which Solana RPC lands the most transactions right now, Helius, Triton or QuickNode?"
- a: "{{best_name}} leads the OpenChainBench active-probe leaderboard at {{best_p50}} (24h) on real broadcasts confirmed onchain. The full ranking including Helius, Triton, QuickNode, Alchemy and public RPCs re-sorts every measurement cycle against fresh Prometheus samples."
+ a: "The live 24h ranking for the three named providers is on openchainbench.com/benchmarks/solana-tx-landing. Each cycle the harness broadcasts an identical SOL transfer through Helius, Triton and QuickNode from three regions and polls the signature onchain until it is confirmed or crosses the landing deadline, so the ranking is reproducible from public data rather than derived from provider self-reports. Jito bundle submission is included on the same leaderboard as a separate priority-lane comparator, which is why an aggregate leader may name Jito rather than one of the three RPC providers in the question."
- q: "Why measure landing rate instead of just latency?"
a: "On Solana under congestion, the failure mode that matters to users is dropped transactions, not slow responses. A provider can return a fast success ack from sendTransaction and never actually get the tx into a block. OpenChainBench confirms inclusion onchain by polling for the signature, so the landed rate reflects what a user actually experiences, not what the provider self-reports."
- q: "Is Helius Sender factored into this ranking?"
@@ -37,5 +37,5 @@ related:
- which-crypto-price-api-is-the-fastest
seo_title: "Helius vs Triton vs QuickNode Solana landing rate 2026"
-seo_description: "{{best_name}} leads at {{best_p50}} (24h) on the OpenChainBench active-probe Solana landing leaderboard. Helius, Triton, QuickNode ranked live by real onchain confirmation."
+seo_description: "Helius, Triton and QuickNode Solana landed-rate head-to-head measured live onchain from three regions. Live 24h ranking at openchainbench.com/benchmarks/solana-tx-landing."
status: live
diff --git a/answers/polymarket-vs-kalshi-resolution-speed.yml b/answers/polymarket-vs-kalshi-resolution-speed.yml
index d7d51bca..6938ed24 100644
--- a/answers/polymarket-vs-kalshi-resolution-speed.yml
+++ b/answers/polymarket-vs-kalshi-resolution-speed.yml
@@ -1,7 +1,7 @@
slug: polymarket-vs-kalshi-resolution-speed
question: "Polymarket vs Kalshi, which resolves prediction markets faster?"
short_answer: |
- {{best_name}} currently resolves faster on the OpenChainBench harness at {{best_p50}} median resolution delay (24h), measured directly onchain for Polymarket and via official settlement events for Kalshi across sports, politics and crypto market categories.
+ OpenChainBench measures Polymarket resolution delay directly onchain on Polygon: median across sports, politics and crypto categories is in the tens of minutes today, with crypto markets fastest and politics slowest by a wide margin. Kalshi settlement is offchain through a CFTC-registered exchange and is not yet in the harness; the venue-versus-venue head-to-head on this page will populate as soon as Kalshi settlement events are ingested. Live numbers per category at openchainbench.com/benchmarks/polymarket-resolution-delay.
benchmark: polymarket-resolution-delay
@@ -19,7 +19,7 @@ limitations:
faq:
- q: "Polymarket vs Kalshi, which resolves faster right now?"
- a: "{{best_name}} leads at {{best_p50}} median resolution delay (24h). The per-category breakdown at the top of the bench page shows the venue that wins on sports, politics and crypto separately, which is the honest way to answer a question that depends heavily on category."
+ a: "Only Polymarket is measured live in this benchmark today. Polymarket resolution delay is read directly from UMA OptimisticOracleV2 events on Polygon and broken out by market category (sports, politics, crypto). Kalshi settles offchain through its own CFTC-registered exchange and its settlement events are not yet ingested by the harness; the venue-versus-venue head-to-head cell on this page will populate as soon as they are. In the meantime, the per-category delays for Polymarket are on the bench page."
- q: "Why is Polymarket resolution slower on politics than sports?"
a: "Polymarket runs on UMA's optimistic oracle. The liveness window (time between outcome proposal and dispute deadline) is proportional to stakes, and politics markets have both larger stakes and higher dispute probability than clean sports outcomes. The result is a category-specific delay that sports mostly avoid."
- q: "Is Kalshi always faster than Polymarket?"
@@ -37,5 +37,5 @@ related:
- which-hyperliquid-frontend-has-the-most-builder-revenue
seo_title: "Polymarket vs Kalshi resolution speed 2026 live"
-seo_description: "{{best_name}} leads at {{best_p50}} median resolution delay (24h) on the OpenChainBench prediction market resolution benchmark. Polymarket and Kalshi ranked live across sports, politics, crypto."
+seo_description: "OpenChainBench measures Polymarket resolution delay live onchain across sports, politics and crypto markets. Kalshi ingestion pending. Full per-category numbers at openchainbench.com."
status: live
diff --git a/answers/which-bridge-has-the-cheapest-usdc-fee.yml b/answers/which-bridge-has-the-cheapest-usdc-fee.yml
index e25adc76..89523132 100644
--- a/answers/which-bridge-has-the-cheapest-usdc-fee.yml
+++ b/answers/which-bridge-has-the-cheapest-usdc-fee.yml
@@ -1,12 +1,12 @@
slug: which-bridge-has-the-cheapest-usdc-fee
question: "Which cross-chain bridge has the cheapest USDC transfer fee in 2026?"
short_answer: |
- {{best_name}} currently posts the lowest all in bridging cost at {{best_p50}} (p50, 24h) on a $300 USDC notional across the Solana, Base and Arbitrum corridors measured live by OpenChainBench.
+ OpenChainBench ranks six USDC routers (Mobula, Relay, LI.FI, deBridge, Across and Near Intents) on all in bridging cost (fee plus slippage plus destination gas) at $300 notional across the Solana, Base and Arbitrum corridors. The 24h p50 leader today is at openchainbench.com/benchmarks/bridge-fee; per corridor breakdown available on the same page.
benchmark: bridge-fee
intro: |
- Bridge fee comparisons in the wild quote rack rates at $1000 or $10000 notionals where fixed costs dilute into the percentage, then publish a single advertised fee per bridge. The reality every retail user faces is different. At small ticket sizes the destination gas, the base protocol fee and the solver spread combine into one number that often exceeds the advertised "0.05% fee" by an order of magnitude. This page answers the only question that matters before signing a bridge transaction. What does a $300 USDC transfer actually cost, all in, on each major venue, right now. OpenChainBench polls deBridge (direct protocol with a native token fee), LI.FI (aggregator routing through underlying bridges), Mobula (intent layer compressing cost into a settlement spread) and Relay (cross chain relay) every five minutes for a $300 USDC quote on Solana, Base and Arbitrum corridors. The reported figure is `bridge_cost_percent`, the full bottom line (fees plus slippage plus destination gas), not the explicit fee field most providers advertise. The 24h p50 sets the leaderboard, so a single favourable quote cannot crown a winner.
+ Bridge fee comparisons in the wild quote rack rates at $1000 or $10000 notionals where fixed costs dilute into the percentage, then publish a single advertised fee per bridge. The reality every retail user faces is different. At small ticket sizes the destination gas, the base protocol fee and the solver spread combine into one number that often exceeds the advertised "0.05% fee" by an order of magnitude. This page answers the only question that matters before signing a bridge transaction. What does a $300 USDC transfer actually cost, all in, on each major venue, right now. OpenChainBench polls deBridge (direct protocol with a native token fee), LI.FI (aggregator routing through underlying bridges), Mobula (intent layer compressing cost into a settlement spread), Relay (cross chain relay), Across (intent based settlement) and Near Intents (solver settled) every five minutes for a $300 USDC quote on Solana, Base and Arbitrum corridors. The reported figure is `bridge_cost_percent`, the full bottom line (fees plus slippage plus destination gas), not the explicit fee field most providers advertise. The 24h p50 sets the leaderboard, so a single favourable quote cannot crown a winner.
methodology: |
Each bridge is queried every five minutes from a single eu-west origin on the same set of USDC corridors (Solana, Base, Arbitrum) at $300 notional. The harness records `bridge_cost_percent`, which sums the explicit fee, the price impact (slippage) and the destination gas component returned by each provider's quote endpoint. Quotes that error (unsupported route, quote_failed, timeout) are excluded from the cost aggregate and counted toward the success rate so a fast but broken provider cannot game the headline. The 24h p50 of `bridge_cost_percent{bridge="X", amount_usd="300"}` is the headline number; p90 and p99 capture the worst minutes. Provider types are surfaced as badges because each pricing architecture (direct protocol, aggregator, intent layer) absorbs cost differently and they do not converge under the same query.
@@ -20,7 +20,7 @@ limitations:
faq:
- q: "What is the cheapest cross-chain bridge for USDC right now?"
- a: "{{best_name}} currently leads at {{best_p50}} (p50, 24h) for $300 USDC transfers across the measured Solana, Base and Arbitrum corridors. The leaderboard refreshes every five minutes against fresh Prometheus samples; the 24h p50 smooths a single favourable quote so the ranking reflects sustained competitiveness. Per corridor leaders can diverge from this aggregate when one solver has deep inventory on a specific route, that breakdown is on the roadmap."
+ a: "The 24h p50 leader on $300 USDC across the measured Solana, Base and Arbitrum corridors is at openchainbench.com/benchmarks/bridge-fee. Six routers compete (Mobula, Relay, LI.FI, deBridge, Across, Near Intents) and the ranking refreshes every five minutes against fresh Prometheus samples; the 24h p50 smooths a single favourable quote so the ranking reflects sustained competitiveness. Per corridor leaders can diverge from this aggregate when one solver has deep inventory on a specific route."
- q: "Why use $300 USDC instead of $1000 or $10000?"
a: "Most published bridge comparisons quote at $1000 or $10000 where fixed fee components (destination gas, base protocol fee) dilute into the percentage. At $300 the fixed component becomes the dominant share of the cost, matching the regime real retail users actually face. The harness records $5, $50, $300, $1000 and $10000 buckets; the $300 bucket is the most representative of small ticket flows where intent layers compress costs hardest and aggregator markups become visible."
- q: "How is bridge cost calculated, fee or all in?"
@@ -38,5 +38,5 @@ related:
- which-evm-aggregator-has-the-fastest-quote
seo_title: "Which cross-chain bridge has the cheapest USDC fee in 2026?"
-seo_description: "{{best_name}} posts the lowest all in $300 USDC bridging cost at {{best_p50}} (p50, 24h) across Solana, Base and Arbitrum, measured live by OpenChainBench. Methodology and limitations on this page."
+seo_description: "OpenChainBench ranks six USDC routers (Mobula, Relay, LI.FI, deBridge, Across, Near Intents) on all in cost at $300 notional across Solana, Base and Arbitrum. Live 24h p50 leader on the bench page."
status: live
diff --git a/answers/which-crypto-oracle-is-the-most-accurate.yml b/answers/which-crypto-oracle-is-the-most-accurate.yml
index e29fe94d..e21d3560 100644
--- a/answers/which-crypto-oracle-is-the-most-accurate.yml
+++ b/answers/which-crypto-oracle-is-the-most-accurate.yml
@@ -1,7 +1,7 @@
slug: which-crypto-oracle-is-the-most-accurate
question: "Which crypto price oracle is the most accurate in 2026?"
short_answer: |
- {{best_name}} currently shows the tightest cross oracle agreement at {{best_p50}} (p99 max pairwise deviation in bps, 24h) across Chainlink, Pyth, Binance and Coinbase on 10 USD pairs, measured live by OpenChainBench.
+ OpenChainBench does not name a single "most accurate" oracle because the bench is per pair, not per provider. It measures cross oracle agreement (p99 max pairwise deviation in bps, 24h) between Chainlink, Pyth, Binance and Coinbase on 10 USD pairs; the ranking by pair shows on which asset the four sources converge tightest and on which they drift. Live per pair numbers at openchainbench.com/benchmarks/oracle-deviation.
benchmark: oracle-deviation
@@ -26,7 +26,7 @@ faq:
- q: "Does Chainlink break when it lags?"
a: "Chainlink doesn't break, it intentionally doesn't push every tick. On chain updates cost gas; node operators post a new round only when the off chain aggregated price has drifted past the deviation trigger or the heartbeat interval has elapsed. Between updates the on chain value is the last pushed one, so during fast moves the on chain price can lag the live market by 1 trigger width for as long as the next round takes to land. The bench's round age gauge surfaces the gap directly."
- q: "Which oracle should a perp DEX integrate for liquidations?"
- a: "Depends on the asset and the trader experience the protocol is willing to accept. For BTC and ETH, all four oracles in the bench typically agree within single digit bps, so Chainlink's economic security model is the dominant factor. For SOL, settling on Chainlink alone inherits the multi minute lag as trader slippage during liquidations; protocols often combine Chainlink with Pyth or a pull oracle to reduce that. The bench surfaces the actual gap live so the integration decision is grounded in measured data."
+ a: "The bench does not vote a single winner because accuracy depends on the asset traded. For BTC and ETH, all four oracles typically agree within single digit bps, so Chainlink's economic security model becomes the dominant factor. For SOL, settling on Chainlink alone inherits the multi minute lag as trader slippage during liquidations; protocols often combine Chainlink with Pyth or a pull oracle to reduce that. Read the per pair deviation on the bench page and match it to the asset being liquidated."
- q: "Why these four oracles and not Redstone, Uniswap TWAP or DIA?"
a: "Two filters: free no auth public endpoint and continuous gauge. Chainlink, Pyth Hermes, Binance and Coinbase all expose continuously updating price feeds via REST or `eth_call` with no API key. Redstone is push pull (on demand pulled into a transaction via signed off chain quote), so there is no continuous gauge to scrape without deploying an integration contract. Uniswap V3 TWAP is a derivation of the CEX prints already polled directly. DIA has smaller deployment footprint than the four kept."
- q: "How often is each oracle polled?"
@@ -38,5 +38,5 @@ related:
- which-perp-dex-has-the-lowest-fees
seo_title: "Which crypto price oracle is the most accurate in 2026?"
-seo_description: "{{best_name}} leads cross oracle agreement at {{best_p50}} (p99 max pairwise deviation, 24h) across Chainlink, Pyth, Binance and Coinbase on 10 USD pairs. Methodology and limitations included."
+seo_description: "OpenChainBench measures cross oracle agreement (p99 max pairwise deviation in bps, 24h) between Chainlink, Pyth, Binance and Coinbase on 10 USD pairs. Live per pair numbers on the bench page."
status: live
diff --git a/answers/which-perp-dex-has-the-lowest-fees.yml b/answers/which-perp-dex-has-the-lowest-fees.yml
index 07b36f2a..695b00b9 100644
--- a/answers/which-perp-dex-has-the-lowest-fees.yml
+++ b/answers/which-perp-dex-has-the-lowest-fees.yml
@@ -1,7 +1,7 @@
slug: which-perp-dex-has-the-lowest-fees
question: "Which perpetual DEX has the lowest all in fees on ETH?"
short_answer: |
- {{best_name}} currently leads the cheapest perp DEX leaderboard at {{best_p50}} all in (24h avg) on a $1000 ETH long 10x position, measured live by OpenChainBench across Lighter, Hyperliquid, dYdX, GMX and gains.trade.
+ OpenChainBench ranks eight perp DEXes on the same $1000 ETH long 10x open cost (taker fee plus half spread plus impact): Lighter, Hyperliquid, dYdX, GMX, gains.trade, Paradex, Extended and Polymarket. The 24h aggregate leader plus per venue breakdown is at openchainbench.com/benchmarks/perp-fees.
benchmark: perp-fees
@@ -20,7 +20,7 @@ limitations:
faq:
- q: "What is the cheapest perpetual DEX right now?"
- a: "{{best_name}} currently leads the leaderboard at {{best_p50}} all in (24h avg) for opening a $1000 ETH long 10x position. The leaderboard re-sorts every 5 minutes against fresh Prometheus samples; the 24h window smooths intraday spread volatility so the headline reflects sustained competitiveness."
+ a: "The 24h aggregate all in leader on a $1000 ETH long 10x is at openchainbench.com/benchmarks/perp-fees. Eight venues compete on identical measurement (Lighter, Hyperliquid, dYdX, GMX, gains.trade, Paradex, Extended and Polymarket) and the leaderboard re-sorts every 5 minutes against fresh Prometheus samples; the 24h window smooths intraday spread volatility so the headline reflects sustained competitiveness."
- q: "Is Lighter really zero fees on perp trading?"
a: "The taker fee on Lighter is 0 bps, confirmed live via `/orderBookDetails` rather than a marketing page. The all in cost is not zero, however, because every market order still crosses the half spread and eats price impact at notional. The Lighter line on this leaderboard shows what that residual cost actually is at $1000, which is the right number to compare against a paid venue's all in figure."
- q: "Why include spread and impact instead of just the taker fee?"
@@ -40,5 +40,5 @@ related:
- which-hyperliquid-frontend-has-the-most-builder-revenue
seo_title: "Which perpetual DEX has the lowest all in fees on ETH in 2026?"
-seo_description: "{{best_name}} leads the cheapest perp DEX leaderboard at {{best_p50}} all in (24h avg) on a $1000 ETH 10x long. Lighter, Hyperliquid, dYdX, GMX and gains.trade ranked live by OpenChainBench."
+seo_description: "OpenChainBench ranks eight perp DEXes (Lighter, Hyperliquid, dYdX, GMX, gains.trade, Paradex, Extended, Polymarket) on the same $1000 ETH 10x long all in cost. Live 24h leader on the bench page."
status: live
diff --git a/benchmarks/arbitrum-rpc.yml b/benchmarks/arbitrum-rpc.yml
index 7e2b4d31..d25001ee 100644
--- a/benchmarks/arbitrum-rpc.yml
+++ b/benchmarks/arbitrum-rpc.yml
@@ -17,7 +17,7 @@ seo_intro: |
Arbitrum is the second-largest cohort in the cluster: 7 no-key providers including the Arbitrum Foundation's own `arb1.arbitrum.io/rpc`, and one of the few chains where Lava and MeowRPC still compete on a free tier. Foundation endpoints are documented best-effort, and our data shows what that means in practice: a respectable median with a p99 roughly ten times worse. Every provider answers the identical `eth_getBlockByNumber` probe every 60 seconds from us-east, eu-west and Singapore.
abstract: |
- Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Arbitrum endpoint that sustains continuous probing, 8 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Arbitrum-scoped answer with per-region breakdowns as a first-class dimension.
+ Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Arbitrum endpoint that sustains continuous probing, 7 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Arbitrum-scoped answer with per-region breakdowns as a first-class dimension.
methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are first-class on this page via the region tabs."
@@ -26,10 +26,10 @@ methodology:
- "Call-result classification: `ok` (HTTP 200 + non-empty result), `http_err`, `jsonrpc_err` (HTTP 200 carrying an error body), `stale` (more than 20 blocks behind the cross-provider tip), `timeout`. Latency without reliability is a misleading ranking signal."
- "Archive depth: every 5 minutes we issue `eth_getBalance` at (head − depth) for depths from Geth's default pruned cap up to 5M blocks, exposing which free endpoints actually serve historical state."
- "This page is part of the per-chain RPC cluster derived from the cross-chain [rpc-capabilities](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, methodology and exclusion rules apply on every chain."
- - "Chain scope: every query on this page is pinned to chain=\"arbitrum\". Provider coverage: 8 no-key endpoints (PublicNode, dRPC, Tenderly, Nodies, Lava, MeowRPC, Arbitrum). Exclusions follow the cluster-wide rules documented on the parent benchmark."
+ - "Chain scope: every query on this page is pinned to chain=\"arbitrum\". Provider coverage: 7 no-key endpoints (PublicNode, dRPC, Tenderly, Nodies, Lava, MeowRPC, Arbitrum). Exclusions follow the cluster-wide rules documented on the parent benchmark."
findings:
- - "{{best_name}} currently leads free Arbitrum RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 8 measured providers."
+ - "{{best_name}} currently leads free Arbitrum RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 7 measured providers."
- "The Arbitrum Foundation endpoint is the textbook best-effort profile: usable median, heavy tail. Its p99 routinely runs ~10x its p50, which matters if your product retries on timeout."
- "Arbitrum is one of only two chains (with Ethereum) where {{name:lava}} and {{name:meowrpc}} qualify no-key, both providers key-gate or skip most other chains."
- "{{name:drpc}} at {{p50:drpc}} and {{name:publicnode}} at {{p50:publicnode}} anchor the multi-chain gateway tier; regional splits between them flip depending on probe origin."
@@ -38,7 +38,7 @@ faq:
- q: "What is the fastest free Arbitrum RPC right now?"
a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 7 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
- q: "Which Arbitrum RPCs work without an API key?"
- a: "The 8 providers on this page: PublicNode, dRPC, Tenderly, Nodies, Lava, MeowRPC, Arbitrum. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
+ a: "The 7 providers on this page: PublicNode, dRPC, Tenderly, Nodies, Lava, MeowRPC, Arbitrum. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
- q: "Does the fastest Arbitrum RPC change by region?"
a: "Frequently. The headline number averages three probe origins (us-east, eu-west, Singapore), but per-region leaders regularly diverge, a gateway that wins from Virginia can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number on the page to a single origin; pick the one closest to where your requests actually originate."
- q: "How is Arbitrum RPC latency measured here?"
diff --git a/benchmarks/avalanche-rpc.yml b/benchmarks/avalanche-rpc.yml
index c7459546..87bfe8d8 100644
--- a/benchmarks/avalanche-rpc.yml
+++ b/benchmarks/avalanche-rpc.yml
@@ -4,7 +4,7 @@ slug: avalanche-rpc
number: "048"
title: Fastest free Avalanche RPC, live no-key endpoint latency
seo_title: "Fastest free Avalanche RPC 2026"
-seo_description: "{{best_name}} leads free Avalanche RPC at {{best_p50}} (eth_getBlockByNumber p50, 24h). 5 no-key providers measured every 60s from 3 regions."
+seo_description: "{{best_name}} leads free Avalanche RPC at {{best_p50}} (eth_getBlockByNumber p50, 24h). 4 no-key providers measured every 60s from 3 regions."
subtitle: HTTP round-trip latency for eth_getBlockByNumber against every free, no-key public Avalanche RPC endpoint, audited every 60 seconds from 3 regions.
category: RPCs
@@ -14,10 +14,10 @@ unit: ms
higher_is_better: false
seo_intro: |
- Avalanche's C-Chain field combines Ava Labs' official `api.avax.network` with 5 no-key multi-chain gateways. The official endpoint shows one of the tightest distributions among foundation RPCs, a contrast with the best-effort profiles on Arbitrum and Optimism. Every provider answers the identical probe every 60 seconds from us-east, eu-west and Singapore, with stale-head detection flagging anything more than 20 blocks behind the cross-provider tip.
+ Avalanche's C-Chain field combines Ava Labs' official `api.avax.network` with 4 no-key multi-chain gateways. The official endpoint shows one of the tightest distributions among foundation RPCs, a contrast with the best-effort profiles on Arbitrum and Optimism. Every provider answers the identical probe every 60 seconds from us-east, eu-west and Singapore, with stale-head detection flagging anything more than 20 blocks behind the cross-provider tip.
abstract: |
- Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Avalanche endpoint that sustains continuous probing, 6 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Avalanche-scoped answer with per-region breakdowns as a first-class dimension.
+ Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Avalanche endpoint that sustains continuous probing, 4 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Avalanche-scoped answer with per-region breakdowns as a first-class dimension.
methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are first-class on this page via the region tabs."
@@ -26,18 +26,18 @@ methodology:
- "Call-result classification: `ok` (HTTP 200 + non-empty result), `http_err`, `jsonrpc_err` (HTTP 200 carrying an error body), `stale` (more than 20 blocks behind the cross-provider tip), `timeout`. Latency without reliability is a misleading ranking signal."
- "Archive depth: every 5 minutes we issue `eth_getBalance` at (head − depth) for depths from Geth's default pruned cap up to 5M blocks, exposing which free endpoints actually serve historical state."
- "This page is part of the per-chain RPC cluster derived from the cross-chain [rpc-capabilities](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, methodology and exclusion rules apply on every chain."
- - "Chain scope: every query on this page is pinned to chain=\"avalanche\". Provider coverage: 5 no-key endpoints (PublicNode, dRPC, Tenderly, Avalanche). Nodies was delisted 2026-07 when its Avalanche endpoint moved behind a paid plan. Exclusions follow the cluster-wide rules documented on the parent benchmark."
+ - "Chain scope: every query on this page is pinned to chain=\"avalanche\". Provider coverage: 4 no-key endpoints (PublicNode, dRPC, Tenderly, Avalanche). Nodies was delisted 2026-07 when its Avalanche endpoint moved behind a paid plan. Exclusions follow the cluster-wide rules documented on the parent benchmark."
findings:
- - "{{best_name}} currently leads free Avalanche RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 5 measured providers."
+ - "{{best_name}} currently leads free Avalanche RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 4 measured providers."
- "Unlike the Arbitrum and Optimism foundation endpoints, `api.avax.network` keeps a tight p50-to-p99 ratio, an official endpoint that behaves like managed infrastructure rather than a best-effort courtesy."
- "{{name:publicnode}} ({{p50:publicnode}}) and {{name:drpc}} ({{p50:drpc}}) give the C-Chain the same reliable gateway floor they provide on every EVM chain we measure."
faq:
- q: "What is the fastest free Avalanche RPC right now?"
- a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 5 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
+ a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 4 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
- q: "Which Avalanche RPCs work without an API key?"
- a: "The 5 providers on this page: PublicNode, dRPC, Tenderly, Avalanche. Nodies was delisted in July 2026 when its Avalanche endpoint moved behind a paid plan. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
+ a: "The 4 providers on this page: PublicNode, dRPC, Tenderly, Avalanche. Nodies was delisted in July 2026 when its Avalanche endpoint moved behind a paid plan. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
- q: "Does the fastest Avalanche RPC change by region?"
a: "Frequently. The headline number averages three probe origins (us-east, eu-west, Singapore), but per-region leaders regularly diverge, a gateway that wins from Virginia can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number on the page to a single origin; pick the one closest to where your requests actually originate."
- q: "How is Avalanche RPC latency measured here?"
diff --git a/benchmarks/base-rpc.yml b/benchmarks/base-rpc.yml
index 94b0f8d6..7bf1f151 100644
--- a/benchmarks/base-rpc.yml
+++ b/benchmarks/base-rpc.yml
@@ -4,7 +4,7 @@ slug: base-rpc
number: "046"
title: Fastest free Base RPC, live no-key endpoint latency
seo_title: "Fastest free Base RPC 2026"
-seo_description: "{{best_name}} leads free Base RPC at {{best_p50}} (eth_getBlockByNumber p50, 24h). 6 no-key providers measured every 60s from 3 regions."
+seo_description: "{{best_name}} leads free Base RPC at {{best_p50}} (eth_getBlockByNumber p50, 24h). 5 no-key providers measured every 60s from 3 regions."
subtitle: HTTP round-trip latency for eth_getBlockByNumber against every free, no-key public Base RPC endpoint, audited every 60 seconds from 3 regions.
category: RPCs
@@ -14,10 +14,10 @@ unit: ms
higher_is_better: false
seo_intro: |
- Base offers the cleanest official-versus-gateway comparison in the cluster: Coinbase operates both the sequencer and the chain-official `mainnet.base.org`, so the house endpoint has every locational advantage, and it still has to beat PublicNode, dRPC, Tenderly, Nodies and Merkle on a level probe. 6 providers, the same `eth_getBlockByNumber` call every 60 seconds, three regions, stale-head detection against the cross-provider tip.
+ Base offers the cleanest official-versus-gateway comparison in the cluster: Coinbase operates both the sequencer and the chain-official `mainnet.base.org`, so the house endpoint has every locational advantage, and it still has to beat PublicNode, dRPC, Tenderly and Nodies on a level probe. 5 providers, the same `eth_getBlockByNumber` call every 60 seconds, three regions, stale-head detection against the cross-provider tip.
abstract: |
- Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Base endpoint that sustains continuous probing, 6 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Base-scoped answer with per-region breakdowns as a first-class dimension.
+ Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Base endpoint that sustains continuous probing, 5 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Base-scoped answer with per-region breakdowns as a first-class dimension.
methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are first-class on this page via the region tabs."
@@ -29,12 +29,12 @@ methodology:
- "Chain scope: every query on this page is pinned to chain=\"base\". Provider coverage: 5 no-key endpoints (PublicNode, dRPC, Tenderly, Nodies, Base). Blink (formerly Merkle) was delisted 2026-07: its gateway does not serve `eth_getBlockByNumber`, the anti-cache probe this cluster standardized on, so it cannot be measured on equal terms. Exclusions follow the cluster-wide rules documented on the parent benchmark."
findings:
- - "{{best_name}} currently leads free Base RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 6 measured providers."
+ - "{{best_name}} currently leads free Base RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 5 measured providers."
- "The official `mainnet.base.org` and the multi-chain gateways trade the lead depending on region, a reminder that \"fastest\" is a per-origin question, not a global one."
faq:
- q: "What is the fastest free Base RPC right now?"
- a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 6 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
+ a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 5 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
- q: "Which Base RPCs work without an API key?"
a: "The 5 providers on this page: PublicNode, dRPC, Tenderly, Nodies, Base. Blink (formerly Merkle) was delisted in July 2026 because its gateway does not serve `eth_getBlockByNumber` (JSON-RPC -32601), the anti-cache probe used across the cluster, so its latency cannot be compared on equal terms. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
- q: "Does the fastest Base RPC change by region?"
diff --git a/benchmarks/bnb-rpc.yml b/benchmarks/bnb-rpc.yml
index 21bc9530..95ca204e 100644
--- a/benchmarks/bnb-rpc.yml
+++ b/benchmarks/bnb-rpc.yml
@@ -4,7 +4,7 @@ slug: bnb-rpc
number: "049"
title: Fastest free BNB Chain RPC, live no-key endpoint latency
seo_title: "Fastest free BNB Chain RPC 2026"
-seo_description: "{{best_name}} leads free BNB Chain RPC at {{best_p50}} (eth_getBlockByNumber p50, 24h). 5 no-key providers measured every 60s from 3 regions."
+seo_description: "{{best_name}} leads free BNB Chain RPC at {{best_p50}} (eth_getBlockByNumber p50, 24h). 4 no-key providers measured every 60s from 3 regions."
subtitle: HTTP round-trip latency for eth_getBlockByNumber against every free, no-key public BNB Chain RPC endpoint, audited every 60 seconds from 3 regions.
category: RPCs
@@ -14,10 +14,10 @@ unit: ms
higher_is_better: false
seo_intro: |
- BNB Chain is the incumbent's chain: Binance's `bsc-dataseed1.binance.org` has been the copy-paste default since 2020, and from some regions it is still the single fastest RPC response we measure anywhere in the cluster. The catch is that it serves exactly one chain, while PublicNode, dRPC, Nodies and Merkle bring multi-chain coverage with increasingly competitive latency from EU origins. 5 providers, identical probes, three regions.
+ BNB Chain is the incumbent's chain: Binance's `bsc-dataseed1.binance.org` has been the copy-paste default since 2020, and from some regions it is still the single fastest RPC response we measure anywhere in the cluster. The catch is that it serves exactly one chain, while PublicNode, dRPC and Nodies bring multi-chain coverage with increasingly competitive latency from EU origins. 4 providers, identical probes, three regions.
abstract: |
- Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public BNB Chain endpoint that sustains continuous probing, 5 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the BNB Chain-scoped answer with per-region breakdowns as a first-class dimension.
+ Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public BNB Chain endpoint that sustains continuous probing, 4 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the BNB Chain-scoped answer with per-region breakdowns as a first-class dimension.
methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are first-class on this page via the region tabs."
@@ -29,12 +29,12 @@ methodology:
- "Chain scope: every query on this page is pinned to chain=\"bnb\". Provider coverage: 4 no-key endpoints (PublicNode, dRPC, Nodies, Binance). Blink (formerly Merkle) was delisted 2026-07: its gateway does not serve `eth_getBlockByNumber`, the anti-cache probe this cluster standardized on, so it cannot be measured on equal terms. Exclusions follow the cluster-wide rules documented on the parent benchmark."
findings:
- - "{{best_name}} currently leads free BNB Chain RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 5 measured providers."
+ - "{{best_name}} currently leads free BNB Chain RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 4 measured providers."
- "Binance's dataseed is a single-chain specialist: blisteringly fast near its home regions (single-digit milliseconds from us-east at times) and 10x slower from Singapore, the widest regional spread in the cluster."
faq:
- q: "What is the fastest free BNB Chain RPC right now?"
- a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 5 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
+ a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 4 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
- q: "Which BNB Chain RPCs work without an API key?"
a: "The 4 providers on this page: PublicNode, dRPC, Nodies, Binance. Blink (formerly Merkle) was delisted in July 2026 because its gateway does not serve `eth_getBlockByNumber` (JSON-RPC -32601), the anti-cache probe used across the cluster, so its latency cannot be compared on equal terms. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
- q: "Does the fastest BNB Chain RPC change by region?"
diff --git a/benchmarks/celo-rpc.yml b/benchmarks/celo-rpc.yml
index edc49f4f..1908d4da 100644
--- a/benchmarks/celo-rpc.yml
+++ b/benchmarks/celo-rpc.yml
@@ -17,7 +17,7 @@ seo_intro: |
Celo brings 4 no-key providers anchored by Forno (`forno.celo.org`), cLabs' public endpoint that predates most of the gateway industry. Since Celo's migration to an Ethereum L2 the RPC surface is standard EVM, so the multi-chain gateways (PublicNode, dRPC, Tenderly) compete directly with the house endpoint on the identical `eth_getBlockByNumber` probe every 60 seconds from three regions.
abstract: |
- Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Celo endpoint that sustains continuous probing, 5 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Celo-scoped answer with per-region breakdowns as a first-class dimension.
+ Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Celo endpoint that sustains continuous probing, 4 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Celo-scoped answer with per-region breakdowns as a first-class dimension.
methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are first-class on this page via the region tabs."
@@ -26,7 +26,7 @@ methodology:
- "Call-result classification: `ok` (HTTP 200 + non-empty result), `http_err`, `jsonrpc_err` (HTTP 200 carrying an error body), `stale` (more than 20 blocks behind the cross-provider tip), `timeout`. Latency without reliability is a misleading ranking signal."
- "Archive depth: every 5 minutes we issue `eth_getBalance` at (head − depth) for depths from Geth's default pruned cap up to 5M blocks, exposing which free endpoints actually serve historical state."
- "This page is part of the per-chain RPC cluster derived from the cross-chain [rpc-capabilities](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, methodology and exclusion rules apply on every chain."
- - "Chain scope: every query on this page is pinned to chain=\"celo\". Provider coverage: 5 no-key endpoints (PublicNode, dRPC, Tenderly, Celo (Forno)). Exclusions follow the cluster-wide rules documented on the parent benchmark."
+ - "Chain scope: every query on this page is pinned to chain=\"celo\". Provider coverage: 4 no-key endpoints (PublicNode, dRPC, Tenderly, Celo (Forno)). Exclusions follow the cluster-wide rules documented on the parent benchmark."
findings:
- "{{best_name}} currently leads free Celo RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 4 measured providers."
@@ -38,7 +38,7 @@ faq:
- q: "What is the fastest free Celo RPC right now?"
a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 4 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
- q: "Which Celo RPCs work without an API key?"
- a: "The 5 providers on this page: PublicNode, dRPC, Tenderly, Celo (Forno). Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
+ a: "The 4 providers on this page: PublicNode, dRPC, Tenderly, Celo (Forno). Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
- q: "Does the fastest Celo RPC change by region?"
a: "Frequently. The headline number averages three probe origins (us-east, eu-west, Singapore), but per-region leaders regularly diverge, a gateway that wins from Virginia can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number on the page to a single origin; pick the one closest to where your requests actually originate."
- q: "How is Celo RPC latency measured here?"
diff --git a/benchmarks/cronos-rpc.yml b/benchmarks/cronos-rpc.yml
index bd8182c4..9afe294d 100644
--- a/benchmarks/cronos-rpc.yml
+++ b/benchmarks/cronos-rpc.yml
@@ -24,7 +24,7 @@ seo_intro: |
regions with the cluster's anti-cache payload.
abstract: |
- Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Cronos endpoint that sustains continuous probing, 4 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Cronos-scoped answer with per-region breakdowns as a first-class dimension.
+ Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Cronos endpoint that sustains continuous probing, 3 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Cronos-scoped answer with per-region breakdowns as a first-class dimension.
methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are first-class on this page via the region tabs."
@@ -35,7 +35,7 @@ methodology:
- "This page is part of the per-chain RPC cluster derived from the cross-chain [rpc-capabilities](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, methodology and exclusion rules apply on every chain."
findings:
- - "{{best_name}} currently leads free Cronos RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 4 measured providers."
+ - "{{best_name}} currently leads free Cronos RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 3 measured providers."
- "{{name:publicnode}} ({{p50:publicnode}}) hides behind a naming trap: the working subdomain is `cronos-evm-rpc`, while `cronos-rpc` resolves and then returns non-JSON, a failure mode that looks like an outage if you guessed the URL."
- "{{name:drpc}} ({{p50:drpc}}) delivers its usual three-region steadiness, the anycast pattern behind its 10-of-12 record across this long-tail expansion."
- "MeowRPC, historically listed for Cronos in RPC directories, is absent by measurement: its long-tail DNS is gone and the provider appears defunct outside a handful of legacy chains."
diff --git a/benchmarks/ethereum-rpc.yml b/benchmarks/ethereum-rpc.yml
index be8d0b09..1207a0ec 100644
--- a/benchmarks/ethereum-rpc.yml
+++ b/benchmarks/ethereum-rpc.yml
@@ -17,7 +17,7 @@ seo_intro: |
Ethereum carries the largest free-RPC cohort we measure: 8 no-key providers answering the same `eth_getBlockByNumber` probe every 60 seconds from three regions. It is also the chain where reliability analysis earns its keep. Cloudflare-eth answers HTTP 200 in well under a second while an increasing share of calls resolve to a JSON-RPC error body (`-32046 Cannot fulfill request`), and Merkle is excluded outright after recurring Cloudflare lockouts that froze our probes for 20 minutes after a single request. If you paste a free RPC URL into an Ethereum dapp, this page is the live answer to which one deserves it.
abstract: |
- Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Ethereum endpoint that sustains continuous probing, 9 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Ethereum-scoped answer with per-region breakdowns as a first-class dimension.
+ Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Ethereum endpoint that sustains continuous probing, 8 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Ethereum-scoped answer with per-region breakdowns as a first-class dimension.
methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are first-class on this page via the region tabs."
@@ -29,7 +29,7 @@ methodology:
- "Chain scope: every query on this page is pinned to chain=\"ethereum\". Provider coverage: 8 no-key endpoints (PublicNode, dRPC, Tenderly, Nodies, Lava, MeowRPC, Flashbots, Cloudflare). Exclusions follow the cluster-wide rules documented on the parent benchmark."
findings:
- - "{{best_name}} currently leads the free Ethereum RPC field at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 9 measured providers, the largest cohort of any chain in the cluster."
+ - "{{best_name}} currently leads the free Ethereum RPC field at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 8 measured providers, the largest cohort of any chain in the cluster."
- "Cloudflare-eth is the resident cautionary tale: sub-second HTTP 200s that increasingly carry a JSON-RPC error instead of a block number. The success-rate column, not the latency column, tells the real story."
- "Merkle is excluded on Ethereum by design: its endpoint sits behind an aggressive bot filter that locks out programmatic clients for ~20 minutes after one request, invisible on any status page."
diff --git a/benchmarks/gas-estimation.yml b/benchmarks/gas-estimation.yml
index ce3a7096..1acd3997 100644
--- a/benchmarks/gas-estimation.yml
+++ b/benchmarks/gas-estimation.yml
@@ -36,7 +36,7 @@ seo_intro: |
p90 / p99 scheme, take the predicted priority fee in gwei, then
compare it against the realized percentile computed directly from
the actual transactions in the next mined block. The headline is
- the p99 of the absolute error (|predicted, realized|, in gwei)
+ the p99 of the absolute error (|predicted - realized|, in gwei)
over 24h, the worst 1% of blocks, because typical-minute errors
are micro-gwei noise while gas spikes are where predictions
actually diverge. A covered-rate column shows the share of time
@@ -115,7 +115,7 @@ faq:
- q: "What about gas prediction on Optimism / Base / Arbitrum?"
a: "L2 OP Stack chains have priority fee ≈ 0 because the sequencer is centralised (no MEV competition, no public mempool). The actually meaningful cost on an L2 is the L1 data fee, what the sequencer pays Ethereum mainnet to post the batch, which is a different prediction problem. We're considering a separate `l2-data-fee-prediction` bench for that. Including L2s in this bench would silently produce flat ~0 numbers that pollute the comparison."
- q: "How is gas prediction error measured here, technically?"
- a: "Per chain, every oracle is polled at its tier-tolerant cadence and the predicted priority fee per tier is buffered with the predicted block height. When that block is mined, the harness pulls the full block via `eth_getBlockByNumber(.., true)` on the chain's PublicNode RPC and computes the realized percentile from the actual `maxPriorityFeePerGas` values across every included transaction. Absolute error (|predicted, realized|, in gwei) is recorded per (oracle, tier, chain) as both a gauge and a histogram. p50 / p90 / p99 are computed via Prometheus `quantile_over_time` over the last 24 h. Empty or low-tx blocks are flagged separately because the realized percentile is noisy when transaction count is near zero."
+ a: "Per chain, every oracle is polled at its tier-tolerant cadence and the predicted priority fee per tier is buffered with the predicted block height. When that block is mined, the harness pulls the full block via `eth_getBlockByNumber(.., true)` on the chain's PublicNode RPC and computes the realized percentile from the actual `maxPriorityFeePerGas` values across every included transaction. Absolute error (|predicted - realized|, in gwei) is recorded per (oracle, tier, chain) as both a gauge and a histogram. p50 / p90 / p99 are computed via Prometheus `quantile_over_time` over the last 24 h. Empty or low-tx blocks are flagged separately because the realized percentile is noisy when transaction count is near zero."
- q: "Why is gas prediction so hard?"
a: "EIP-1559 makes the base fee deterministic (it adjusts by ±12.5% per block based on the previous block's gas used), so every oracle agrees on base fee within a fraction of a gwei. The hard part is predicting the priority-fee distribution in the *next* block. Priority fees are set by users in response to mempool congestion, which shifts on swap activity, MEV bot deployments, NFT mints and DEX volume in a way no historical-lookback model can fully anticipate. The leaderboard surfaces which oracle's lookback / inference scheme tracks reality best per chain, sustained over 24 h."
diff --git a/benchmarks/gnosis-rpc.yml b/benchmarks/gnosis-rpc.yml
index e252e3ba..a6fec488 100644
--- a/benchmarks/gnosis-rpc.yml
+++ b/benchmarks/gnosis-rpc.yml
@@ -4,7 +4,7 @@ slug: gnosis-rpc
number: "056"
title: Fastest free Gnosis RPC, live no-key endpoint latency
seo_title: "Fastest free Gnosis RPC 2026"
-seo_description: "{{best_name}} leads free Gnosis RPC at {{best_p50}} (eth_getBlockByNumber p50, 24h). 5 no-key providers measured every 60s from 3 regions."
+seo_description: "{{best_name}} leads free Gnosis RPC at {{best_p50}} (eth_getBlockByNumber p50, 24h). 4 no-key providers measured every 60s from 3 regions."
subtitle: HTTP round-trip latency for eth_getBlockByNumber against every free, no-key public Gnosis RPC endpoint, audited every 60 seconds from 3 regions.
category: RPCs
@@ -17,7 +17,7 @@ seo_intro: |
Gnosis is the cluster's clearest proof that official does not mean fast: the chain-official `rpc.gnosischain.com` is the slowest endpoint we measure on the chain, around 433 ms p50 on the 3-region average, while several third-party gateways beat it. 4 no-key providers, the same `eth_getBlockByNumber` call every 60 seconds, three regions.
abstract: |
- Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Gnosis endpoint that sustains continuous probing, 6 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Gnosis-scoped answer with per-region breakdowns as a first-class dimension.
+ Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Gnosis endpoint that sustains continuous probing, 4 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Gnosis-scoped answer with per-region breakdowns as a first-class dimension.
methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are first-class on this page via the region tabs."
@@ -26,18 +26,18 @@ methodology:
- "Call-result classification: `ok` (HTTP 200 + non-empty result), `http_err`, `jsonrpc_err` (HTTP 200 carrying an error body), `stale` (more than 20 blocks behind the cross-provider tip), `timeout`. Latency without reliability is a misleading ranking signal."
- "Archive depth: every 5 minutes we issue `eth_getBalance` at (head − depth) for depths from Geth's default pruned cap up to 5M blocks, exposing which free endpoints actually serve historical state."
- "This page is part of the per-chain RPC cluster derived from the cross-chain [rpc-capabilities](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, methodology and exclusion rules apply on every chain."
- - "Chain scope: every query on this page is pinned to chain=\"gnosis\". Provider coverage: 5 no-key endpoints (PublicNode, dRPC, Tenderly, Gnosis). Nodies was delisted 2026-07 when its Gnosis endpoint moved behind a paid plan. Exclusions follow the cluster-wide rules documented on the parent benchmark."
+ - "Chain scope: every query on this page is pinned to chain=\"gnosis\". Provider coverage: 4 no-key endpoints (PublicNode, dRPC, Tenderly, Gnosis). Nodies was delisted 2026-07 when its Gnosis endpoint moved behind a paid plan. Exclusions follow the cluster-wide rules documented on the parent benchmark."
findings:
- - "{{best_name}} currently leads free Gnosis RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 5 measured providers."
+ - "{{best_name}} currently leads free Gnosis RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 4 measured providers."
- "The chain-official endpoint anchors the wrong end of the board: ~433 ms p50 with a similar profile from every region, slower than every gateway on this page. It is honest about its blocks; it is just slow."
- "{{name:drpc}} ({{p50:drpc}}) shows its usual anycast consistency here, part of the pattern that has it leading 10 of the 12 long-tail chains on the 3-region average."
faq:
- q: "What is the fastest free Gnosis RPC right now?"
- a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 5 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
+ a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 4 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
- q: "Which Gnosis RPCs work without an API key?"
- a: "The 5 providers on this page: PublicNode, dRPC, Tenderly, Gnosis. Nodies was delisted in July 2026 when its Gnosis endpoint moved behind a paid plan. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
+ a: "The 4 providers on this page: PublicNode, dRPC, Tenderly, Gnosis. Nodies was delisted in July 2026 when its Gnosis endpoint moved behind a paid plan. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
- q: "Does the fastest Gnosis RPC change by region?"
a: "Frequently. The headline number averages three probe origins (us-east, eu-west, Singapore), but per-region leaders regularly diverge, a gateway that wins from Virginia can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number on the page to a single origin; pick the one closest to where your requests actually originate."
- q: "How is Gnosis RPC latency measured here?"
diff --git a/benchmarks/hyperliquid-frontends.yml b/benchmarks/hyperliquid-frontends.yml
index de0970f5..7ef67152 100644
--- a/benchmarks/hyperliquid-frontends.yml
+++ b/benchmarks/hyperliquid-frontends.yml
@@ -13,11 +13,11 @@ unit: usd
higher_is_better: true
disclaimer: |
- Ranking is by raw builder fee revenue in USD, not by value for users. Bigger number means more fees collected via the on chain builder code field. For the trader cost perspective, switch to the Effective fee bps companion tab. Native Hyperliquid UI orders carry no builder code and are excluded. Data from a local hl node tailing every fill on mainnet.
+ Ranking is by raw builder fee revenue in USD, not by value for users. Bigger number means more fees collected via the on-chain builder code field. For the trader cost perspective, switch to the Effective fee bps companion tab. Native Hyperliquid UI orders carry no builder code and are excluded. Data from a local hl node tailing every fill on mainnet.
seo_intro: |
- This page answers one question. Which Hyperliquid frontend collected the most builder fee revenue in USD over the last 24 hours, 7 days and 30 days. Every Hyperliquid order can attach an optional on chain builder field. Frontends like Phantom Perps, MetaMask, Rabby, Insilico, based dot app, OneKey, Axiom and pvp dot trade write their wallet address into this field on every fill they route, then collect a share of the taker fee as their own rebate (capped at 100 basis points on perps, 1000 on spot). The bench ranks 104 frontends by the dollar amount each one collected through this mechanism, surfacing the real revenue scale of the Hyperliquid frontend ecosystem rather than a percentage ratio that hides the actual numbers. Data comes from a local hl node operated on OCB infrastructure tailing the Hyperliquid mainnet fill stream. A Go harness reads every block of attributed fills, aggregates per builder over rolling 24h, 7 day and 30 day windows in memory, and exposes Prometheus gauges that this page consumes. End to end staleness from fill landing on chain to page render is typically under one minute. Companion tabs surface volume routed, unique users, the trader perspective effective fee in basis points, and an outage detector.
+ This page answers one question. Which Hyperliquid frontend collected the most builder fee revenue in USD over the last 24 hours, 7 days and 30 days. Every Hyperliquid order can attach an optional on-chain builder field. Frontends like Phantom Perps, MetaMask, Rabby, Insilico, based.app, OneKey, Axiom and pvp.trade write their wallet address into this field on every fill they route, then collect a share of the taker fee as their own rebate (capped at 100 basis points on perps, 1000 on spot). The bench ranks 104 frontends by the dollar amount each one collected through this mechanism, surfacing the real revenue scale of the Hyperliquid frontend ecosystem rather than a percentage ratio that hides the actual numbers. Data comes from a local hl node operated on OCB infrastructure tailing the Hyperliquid mainnet fill stream. A Go harness reads every block of attributed fills, aggregates per-builder over rolling 24h, 7 day and 30 day windows in-memory, and exposes Prometheus gauges that this page consumes. End-to-end staleness from fill landing on-chain to page render is typically under one minute. Companion tabs surface volume routed, unique users, the trader perspective effective fee in basis points, and an outage detector.
abstract: |
@@ -25,14 +25,14 @@ abstract: |
fees they collected over rolling 24 hour, 7 day and 30 day windows.
Source data is a local hl node operated on OCB infrastructure that
writes every block of fills to disk as one JSON line. A Go harness
- tails these files, decodes each fill, and increments per builder
+ tails these files, decodes each fill, and increments per-builder
hourly buckets keyed by the UTC hour floor of the fill timestamp.
At publish time, the harness sums the recent 24, 168 and 720 hourly
buckets to compute the 24h, 7d and 30d revenue figures, exposes
them as Prometheus gauges (hl_frontend_fees_usd_24h_v2, _7d_v2,
_30d_v2), and this page reads the gauges every 30 seconds. The
registry of tracked builder addresses lives at
- miniapps hyperliquid frontends local builders dot json in the
+ `miniapps/hyperliquid-frontends/local/builders.json` in the
open mobula api repo, currently 104 entries seeded from DefiLlama
dimension adapters plus a behavioral cross reference pass on the
top unidentified addresses. New builders ship via public PR. The
@@ -42,16 +42,16 @@ abstract: |
methodology:
- "Data source. A local hl node operated on OCB infrastructure tails the Hyperliquid mainnet and writes every block of attributed fills to node_fills_by_block hourly YYYYMMDD HH on local disk. Each line is one JSON block, the events array carries one entry per fill, and every fill that opted into the builder code attribution system includes the builder address plus builderFee in USDC."
- - "Cadence. The Go harness re reads the current and previous hourly files every 30 seconds, parses appended lines, and updates per builder hourly buckets keyed by the UTC hour floor of the fill timestamp. Prometheus scrapes the metrics every 30 seconds via a Caddy reverse proxy with basic auth. End to end staleness from fill landing on chain to bench page render is typically under one minute."
+ - "Cadence. The Go harness re-reads the current and previous hourly files every 30 seconds, parses appended lines, and updates per-builder hourly buckets keyed by the UTC hour floor of the fill timestamp. Prometheus scrapes the metrics every 30 seconds via a Caddy reverse proxy with basic auth. End-to-end staleness from fill landing on-chain to bench page render is typically under one minute."
- "Headline calculation. For each builder over the last 24 rolling hours, we sum the builderFee USD values of every attributed fill. The figure is the raw amount of USDC the frontend collected through the builder code field. The 7 day and 30 day figures sum the same field over the last 168 and 720 hourly buckets respectively, so the metric is consistent across the three ranges."
- - "Window mechanics. The harness keeps a small in memory hourly bucket map per builder going back 30 days. Memory footprint is about 600 KB total for 104 builders. Older buckets are pruned on every publish. This is cheaper than keeping fill level granularity for 30 days and lets the bench expose the three ranges without expanding the live fill window."
+ - "Window mechanics. The harness keeps a small in-memory hourly bucket map per-builder going back 30 days. Memory footprint is about 600 KB total for 104 builders. Older buckets are pruned on every publish. This is cheaper than keeping fill-level granularity for 30 days and lets the bench expose the three ranges without expanding the live fill window."
- "Volume companion. hl_frontend_volume_usd_24h_v2, _7d_v2 and _30d_v2 are computed the same way on the px times sz product of every fill. They feed the Volume tabs."
- - "Users 24h. Count of unique wallet addresses that placed at least one attributed fill on this builder in the last 24 hours. Computed on the fill level window, not the hourly buckets, because uniqueness requires the full set."
+ - "Users 24h. Count of unique wallet addresses that placed at least one attributed fill on this builder in the last 24 hours. Computed on the fill-level window, not the hourly buckets, because uniqueness requires the full set."
- "Effective fee bps companion. Volume weighted ratio computed as sum of builder fees divided by sum of notional, times ten thousand, over the rolling 24h window. Surfaces the trader perspective on cost. Volume share dashboards rank frontends by raw notional, this column ranks them by what a representative dollar of flow paid them."
- "Time since last fill. Seconds elapsed since this builder's most recent attributed fill. During active hours the cohort baseline runs under one minute, so anything above a few minutes is a real anomaly. Catches frontends whose routing pipeline is down and frontends that quietly stopped operating but still have their builder code in circulation."
- - "Builder registry. miniapps hyperliquid frontends local builders dot json is a hand curated array of slug, name, address and notes for every tracked frontend, currently 104 entries. New addresses ship via public PR. Builder addresses outside the registry remain visible in the raw node stream but stay off the leaderboard until added."
+ - "Builder registry. `miniapps/hyperliquid-frontends/local/builders.json` is a hand-curated array of slug, name, address and notes for every tracked frontend, currently 104 entries. New addresses ship via public PR. Builder addresses outside the registry remain visible in the raw node stream but stay off the leaderboard until added."
- "Exclusions. Native Hyperliquid UI orders carry no builder code and are not user attributable by this method. Roughly 95 percent of Hyperliquid fills land without a builder field. The 5 percent that do are the frontend ecosystem this bench measures."
- - "Reproducibility. Harness source at miniapps hyperliquid frontends local in the mobula api repo, written in Go. Anyone running their own hl node can clone, point the data flag at their node_fills_by_block hourly root, run the binary against a Prometheus scraper, and reproduce these metrics."
+ - "Reproducibility. Harness source at `miniapps/hyperliquid-frontends/local` in the mobula api repo, written in Go. Anyone running their own hl node can clone, point the data flag at their node_fills_by_block hourly root, run the binary against a Prometheus scraper, and reproduce these metrics."
- "Failures. Any read error on the hourly files leaves the previous gauge values in place. Hourly bucket pruning is idempotent. Restarts replay the warmup window from disk before going live tail."
@@ -67,23 +67,23 @@ findings:
faq:
- q: "What does this benchmark measure?"
- a: "The USD value of builder fees each Hyperliquid frontend collected over rolling 24 hour, 7 day and 30 day windows. A builder fee is the optional rebate the frontend writes into the builder field on every Hyperliquid order it routes. The on chain protocol caps this at 100 basis points on perps and 1000 on spot. The bench sums every fill's builderFee value attributed to a known frontend address and publishes the total per timeframe."
+ a: "The USD value of builder fees each Hyperliquid frontend collected over rolling 24 hour, 7 day and 30 day windows. A builder fee is the optional rebate the frontend writes into the builder field on every Hyperliquid order it routes. The on-chain protocol caps this at 100 basis points on perps and 1000 on spot. The bench sums every fill's builderFee value attributed to a known frontend address and publishes the total per timeframe."
- q: "Why USD revenue instead of effective fee in basis points?"
a: "The previous version of this bench ranked frontends by effective fee in basis points, which answered the trader question of cost per dollar routed. The dollar revenue framing answers the operator question of size and revenue scale, the same way CoinMarketMan and ASXN dashboards present builder leaderboards. Both views are useful. The effective fee bps view is still available as a companion tab."
- q: "Where does the data come from?"
- a: "A local hl node operated on OCB infrastructure tails the Hyperliquid mainnet. The node writes every block of fills to disk as one JSON line under node_fills_by_block hourly YYYYMMDD HH. A Go harness running on the same host reads these files continuously, parses each fill, and increments per builder hourly aggregates. No third party API, no daily CSV bucket dependency, no internal Mobula service. Source code is in miniapps hyperliquid frontends local in the open mobula api repo."
+ a: "A local hl node operated on OCB infrastructure tails the Hyperliquid mainnet. The node writes every block of fills to disk as one JSON line under node_fills_by_block hourly YYYYMMDD HH. A Go harness running on the same host reads these files continuously, parses each fill, and increments per-builder hourly aggregates. No third party API, no daily CSV bucket dependency, no internal Mobula service. Source code is in `miniapps/hyperliquid-frontends/local` in the open mobula api repo."
- q: "How are the 7 day and 30 day numbers built?"
- a: "The harness keeps a small in memory map of per builder hourly buckets going back 30 days. Each bucket stores the sum of builderFee values and the sum of notional values for fills that landed in that hour. The 7 day figure is the sum of the recent 168 buckets, the 30 day figure is the sum of the recent 720 buckets. Memory footprint is about 350 KB total for all 104 tracked frontends. Buckets older than 30 days are dropped on every publish."
+ a: "The harness keeps a small in-memory map of per-builder hourly buckets going back 30 days. Each bucket stores the sum of builderFee values and the sum of notional values for fills that landed in that hour. The 7 day figure is the sum of the recent 168 buckets, the 30 day figure is the sum of the recent 720 buckets. Memory footprint is about 350 KB total for all 104 tracked frontends. Buckets older than 30 days are dropped on every publish."
- q: "How is the 24 hour figure built?"
- a: "Same hourly bucket logic, last 24 buckets. The harness also keeps a separate fill level window for the 24h companions that require per fill granularity (unique users, taker share, slippage proxy)."
+ a: "Same hourly bucket logic, last 24 buckets. The harness also keeps a separate fill-level window for the 24h companions that require per fill granularity (unique users, taker share, slippage proxy)."
- q: "Which frontends are tracked?"
- a: "Sixty Hyperliquid frontends with a known builder address. The cohort spans consumer wallets (Phantom Perps, MetaMask, Rabby, OneKey, Trust Wallet), pro terminals (Insilico, Axiom, Pear, Lit Trade), social and pvp UIs (pvp dot trade, Senpi, FOMO), bots and signal apps (FlowBot, Tread fi, Moonbot, Hyperdash), based.app, defi.app and HIP-3 deployers. The registry is in miniapps hyperliquid frontends local builders dot json on the open mobula api repo. New addresses ship via public PR."
+ a: "104 Hyperliquid frontends with a known builder address. The cohort spans consumer wallets (Phantom Perps, MetaMask, Rabby, OneKey, Trust Wallet), pro terminals (Insilico, Axiom, Pear, Lit Trade), social and pvp UIs (pvp.trade, Senpi, FOMO), bots and signal apps (FlowBot, Tread fi, Moonbot, Hyperdash), based.app, defi.app and HIP-3 deployers. The registry is in `miniapps/hyperliquid-frontends/local/builders.json` on the open mobula api repo. New addresses ship via public PR."
- q: "Why are some frontends at zero?"
a: "Three reasons. The frontend stopped operating or hasn't routed any attributed fills in the window. The frontend never enabled the builder code attribution system. The frontend uses a builder address not yet in our registry. The Time since last fill companion separates these cases. A frontend with hours of inactivity is in the first bucket. A frontend with consistent zero across all timeframes is in the second or third."
- q: "Why does Phantom Perps usually lead?"
a: "Consumer wallets integrate Hyperliquid trading directly inside the wallet UI. Their effective fee is typically in the 5 to 10 basis point range and the user base is large. The combination of wide reach times a moderate fee produces the highest absolute revenue. Pro terminals sit below because they charge less per dollar routed by design, even though their notional volume is comparable."
- q: "How often does the page refresh?"
- a: "Every 30 seconds. The harness re reads the local hl node hourly file every 30 seconds and Prometheus scrapes the gauges on the same cadence. The page itself uses incremental static regeneration with a 60 second window, so headline values are at most 90 seconds stale plus chain propagation delay."
+ a: "Every 30 seconds. The harness re-reads the local hl node hourly file every 30 seconds and Prometheus scrapes the gauges on the same cadence. The page itself uses incremental static regeneration with a 60 second window, so headline values are at most 90 seconds stale plus chain propagation delay."
- q: "Can I cite a value from this page?"
a: "Yes. Every number is a Prometheus query exposed via the OCB API endpoints. The query string is visible in the row hover tooltip on the leaderboard. The harness source is open at the link in the source field below. Cite the value and the timestamp at the top of the page."
diff --git a/benchmarks/hyperliquid-hip3-deployers.yml b/benchmarks/hyperliquid-hip3-deployers.yml
index 8beb2607..0521e0fc 100644
--- a/benchmarks/hyperliquid-hip3-deployers.yml
+++ b/benchmarks/hyperliquid-hip3-deployers.yml
@@ -13,7 +13,7 @@ unit: usd
higher_is_better: true
disclaimer: |
- Ranking is by raw deployer fee revenue in USD, not by value for traders. Bigger number means more fees collected via the on chain deployerFee field on the dex's namespaced markets. For the trader cost perspective, switch to the Effective fee bps companion tab. Core Hyperliquid markets (no namespace) carry no deployer fee and are excluded. Every namespace is matched to its operating team via the on chain perpDexs registry (deployer address and full name are public).
+ Ranking is by raw deployer fee revenue in USD, not by value for traders. Bigger number means more fees collected via the on-chain deployerFee field on the dex's namespaced markets. For the trader cost perspective, switch to the Effective fee bps companion tab. Core Hyperliquid markets (no namespace) carry no deployer fee and are excluded. Every namespace is matched to its operating team via the on-chain perpDexs registry (deployer address and full name are public).
seo_intro: |
This page answers one question. Which HIP-3 builder-deployed dex on
@@ -26,13 +26,13 @@ seo_intro: |
wave on Hyperliquid: trade.xyz alone routinely clears several billion
dollars of daily notional across more than 70 equity and commodity
markets. The bench ranks every namespace observed on mainnet by the
- dollar amount its deployer collected through the on chain deployerFee
+ dollar amount its deployer collected through the on-chain deployerFee
field, alongside routed volume, unique trader counts and the number
of live markets. Data comes from a local hl node operated on OCB
infrastructure tailing the Hyperliquid mainnet fill stream; a Go
- harness aggregates per dex over rolling windows and exposes
- Prometheus gauges that this page consumes. End to end staleness from
- fill landing on chain to page render is typically under one minute.
+ harness aggregates per-dex over rolling windows and exposes
+ Prometheus gauges that this page consumes. End-to-end staleness from
+ fill landing on-chain to page render is typically under one minute.
abstract: |
The bench ranks HIP-3 builder-deployed dexes by the USD value of
@@ -41,7 +41,7 @@ abstract: |
infrastructure that writes every block of fills to disk as one JSON
line. A Go harness tails these files, attributes each fill carrying
a namespaced coin (xyz:AAPL belongs to the xyz dex) and a deployerFee
- value, and increments per dex hourly buckets keyed by the UTC hour
+ value, and increments per-dex hourly buckets keyed by the UTC hour
floor of the fill timestamp. At publish time the harness sums the
recent 24, 168 and 720 hourly buckets and exposes the totals as
Prometheus gauges (hl_hip3_deployer_fees_usd_24h, _7d, _30d), plus
@@ -54,16 +54,16 @@ abstract: |
methodology:
- "Data source. A local hl node operated on OCB infrastructure tails the Hyperliquid mainnet and writes every block of fills to node_fills_by_block hourly YYYYMMDD HH on local disk. Each line is one JSON block, the events array carries one entry per fill, and every fill on a HIP-3 market includes the dex namespaced coin (xyz:AAPL) plus the deployerFee in USDC."
- - "Attribution. A fill belongs to a HIP-3 dex when its coin carries a namespace prefix (xyz:AAPL belongs to xyz). Namespaces are unique on chain by construction, so no hand curated registry is needed; the harness starts tracking a new deployer with its first observed fill, and the namespace is added to this page on the next spec review. Core Hyperliquid markets carry no namespace and no deployer fee, they are excluded."
- - "Cadence. The Go harness re reads the current and previous hourly files every 30 seconds, parses appended lines, and updates per dex hourly buckets keyed by the UTC hour floor of the fill timestamp. Prometheus scrapes the metrics every 30 seconds via a Caddy reverse proxy with basic auth. End to end staleness from fill landing on chain to bench page render is typically under one minute."
+ - "Attribution. A fill belongs to a HIP-3 dex when its coin carries a namespace prefix (xyz:AAPL belongs to xyz). Namespaces are unique on chain by construction, so no hand-curated registry is needed; the harness starts tracking a new deployer with its first observed fill, and the namespace is added to this page on the next spec review. Core Hyperliquid markets carry no namespace and no deployer fee, they are excluded."
+ - "Cadence. The Go harness re-reads the current and previous hourly files every 30 seconds, parses appended lines, and updates per-dex hourly buckets keyed by the UTC hour floor of the fill timestamp. Prometheus scrapes the metrics every 30 seconds via a Caddy reverse proxy with basic auth. End-to-end staleness from fill landing on-chain to bench page render is typically under one minute."
- "Headline calculation. For each dex over the last 24 rolling hours we sum the deployerFee USD values of every fill on its namespaced markets. The 7 day and 30 day figures sum the same field over the last 168 and 720 hourly buckets, so the metric is consistent across the three ranges."
- "Volume companion. hl_hip3_deployer_volume_usd_24h, _7d and _30d are computed the same way on the px times sz product of every fill. They feed the Volume column and tab."
- "Users. Unique wallet addresses with at least one fill on the dex. The 24h figure is a union of per hour wallet sets over the rolling window; 7d and 30d are unions of per UTC day wallet sets. After a harness restart the day sets are reseeded from the on disk fill history before the 7d and 30d gauges publish, so they never lowball."
- "Markets. Count of distinct namespaced coins traded on the dex in the last 24 hours. A dex with 70 active equity markets and a dex with one commodity market are different products; the column makes that visible next to the revenue number."
- "Effective fee bps. Deployer fees divided by notional volume, times ten thousand, over the rolling 24h window. The trader perspective on what a representative dollar of flow paid the dex operator."
- - "Window mechanics. Hourly buckets per dex go back 30 days in memory and are pruned on every publish. Per fill state is never retained; the largest dex clears about 4 million fills per day, so the bench aggregates at ingestion time instead of keeping fill level granularity."
+ - "Window mechanics. Hourly buckets per-dex go back 30 days in-memory and are pruned on every publish. Per fill state is never retained; the largest dex clears about 4 million fills per day, so the bench aggregates at ingestion time instead of keeping fill-level granularity."
- "30 day caveat. The node retains hourly fill files for a bounded horizon and the harness backfill reads what exists on disk. Until 30 full days of history accumulate, the 30d figures cover the available horizon and grow toward the full window."
- - "Naming. Every namespace is resolved against the on chain perpDexs registry, which publishes the deployer address and full name: xyz is trade.xyz, vntl is Ventuals, cash is Dreamcash, km is Markets by Kinetiq, hyna is HyENA by the Based team, flx is Felix Exchange, para is Paragon. Attribution is by namespace prefix either way, so the numbers do not depend on naming."
+ - "Naming. Every namespace is resolved against the on-chain perpDexs registry, which publishes the deployer address and full name: xyz is trade.xyz, vntl is Ventuals, cash is Dreamcash, km is Markets by Kinetiq, hyna is HyENA by the Based team, flx is Felix Exchange, para is Paragon. Attribution is by namespace prefix either way, so the numbers do not depend on naming."
- "Reproducibility. Harness source is open in the OCB harness tree. Anyone running their own hl node can clone, point the data flag at their node_fills_by_block hourly root, run the binary against a Prometheus scraper, and reproduce these metrics."
- "Failures. Any read error on the hourly files leaves the previous gauge values in place. Hourly bucket pruning is idempotent. Restarts replay the warmup window from disk before going live tail, and reseed the user sets from history in the background."
@@ -83,7 +83,7 @@ faq:
- q: "Where does the data come from?"
a: "A local hl node operated on OCB infrastructure tails the Hyperliquid mainnet. The node writes every block of fills to disk; a Go harness running on the same host reads these files continuously, attributes namespaced fills to their dex, and aggregates per hour. No third party API, no internal Mobula service."
- q: "How are dexes identified?"
- a: "By their on chain coin namespace. Every HIP-3 market trades under a prefix (xyz:AAPL, vntl:MAG7, km:US500) that is unique to its deployer. The harness discovers the set dynamically from the fill stream and starts metering a brand new deployer with its first fill; the page lists each new namespace after a short spec review. Operating teams are resolved from the on chain perpDexs registry, which publishes each namespace deployer address and full name."
+ a: "By their on-chain coin namespace. Every HIP-3 market trades under a prefix (xyz:AAPL, vntl:MAG7, km:US500) that is unique to its deployer. The harness discovers the set dynamically from the fill stream and starts metering a brand new deployer with its first fill; the page lists each new namespace after a short spec review. Operating teams are resolved from the on-chain perpDexs registry, which publishes each namespace deployer address and full name."
- q: "Why is trade.xyz so far ahead?"
a: "It operates the deepest tokenized equity and commodity catalog on Hyperliquid, more than 70 markets including the large cap US names, and captures the bulk of HIP-3 open interest. Deployer revenue is volume times fee policy, and xyz leads on both breadth and notional."
- q: "What does the Effective fee bps column tell me?"
diff --git a/benchmarks/l1-finality.yml b/benchmarks/l1-finality.yml
index 5d71f43b..73ba0d3c 100644
--- a/benchmarks/l1-finality.yml
+++ b/benchmarks/l1-finality.yml
@@ -128,7 +128,7 @@ methodology:
- "Litecoin (probabilistic): blockchair `/stats.best_block_height` minus 6 confirmations via `/dashboards/block/{height}.block.time`."
- "Monero (probabilistic): monero-rpc `get_info` minus 10 confirmations via `get_block_header_by_height`."
- "Hedera (planned, currently disabled): mirror-node `/api/v1/blocks` only exposes already-final blocks, so true wall-clock lag is impossible from public endpoints. Re-enables once Block Nodes (HIP-1056) leave private preview."
- - "Result: `lag_seconds = headTimestamp, finalizedTimestamp`. We also record the block-height delta and per-chain fetch latency."
+ - "Result: `lag_seconds = headTimestamp - finalizedTimestamp`. We also record the block-height delta and per-chain fetch latency."
- "Excluded by design: XRP (no close-time on `ledger_current`, wall-clock measurement requires WS subscribe to ledger stream, not yet implemented)."
- "Failures (5xx, timeouts, rate limits) leave the previous gauge in place and increment a per-chain `fetch_errors_total` counter; the page falls back to the last successful sample."
diff --git a/benchmarks/linea-rpc.yml b/benchmarks/linea-rpc.yml
index f2d55dad..14478dde 100644
--- a/benchmarks/linea-rpc.yml
+++ b/benchmarks/linea-rpc.yml
@@ -14,10 +14,10 @@ unit: ms
higher_is_better: false
seo_intro: |
- The no-key field thins out on Linea: 4 providers qualify (PublicNode, dRPC, Tenderly), all multi-chain gateways. Thinner competition makes the reliability columns matter more than raw speed, a fast endpoint with a high stale or timeout rate is a worse default than a slightly slower consistent one. Probes run every 60 seconds from us-east, eu-west and Singapore with full response classification.
+ The no-key field thins out on Linea: 3 providers qualify (PublicNode, dRPC, Tenderly), all multi-chain gateways. Thinner competition makes the reliability columns matter more than raw speed, a fast endpoint with a high stale or timeout rate is a worse default than a slightly slower consistent one. Probes run every 60 seconds from us-east, eu-west and Singapore with full response classification.
abstract: |
- Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Linea endpoint that sustains continuous probing, 4 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Linea-scoped answer with per-region breakdowns as a first-class dimension.
+ Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Linea endpoint that sustains continuous probing, 3 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Linea-scoped answer with per-region breakdowns as a first-class dimension.
methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are first-class on this page via the region tabs."
@@ -26,7 +26,7 @@ methodology:
- "Call-result classification: `ok` (HTTP 200 + non-empty result), `http_err`, `jsonrpc_err` (HTTP 200 carrying an error body), `stale` (more than 20 blocks behind the cross-provider tip), `timeout`. Latency without reliability is a misleading ranking signal."
- "Archive depth: every 5 minutes we issue `eth_getBalance` at (head − depth) for depths from Geth's default pruned cap up to 5M blocks, exposing which free endpoints actually serve historical state."
- "This page is part of the per-chain RPC cluster derived from the cross-chain [rpc-capabilities](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, methodology and exclusion rules apply on every chain."
- - "Chain scope: every query on this page is pinned to chain=\"linea\". Provider coverage: 4 no-key endpoints (PublicNode, dRPC, Tenderly). Exclusions follow the cluster-wide rules documented on the parent benchmark."
+ - "Chain scope: every query on this page is pinned to chain=\"linea\". Provider coverage: 3 no-key endpoints (PublicNode, dRPC, Tenderly). Exclusions follow the cluster-wide rules documented on the parent benchmark."
findings:
- "{{best_name}} currently leads free Linea RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 3 measured providers."
@@ -37,13 +37,13 @@ faq:
- q: "What is the fastest free Linea RPC right now?"
a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 3 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
- q: "Which Linea RPCs work without an API key?"
- a: "The 4 providers on this page: PublicNode, dRPC, Tenderly. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
+ a: "The 3 providers on this page: PublicNode, dRPC, Tenderly. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
- q: "Does the fastest Linea RPC change by region?"
a: "Frequently. The headline number averages three probe origins (us-east, eu-west, Singapore), but per-region leaders regularly diverge, a gateway that wins from Virginia can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number on the page to a single origin; pick the one closest to where your requests actually originate."
- q: "How is Linea RPC latency measured here?"
a: "One identical JSON-RPC POST (`eth_getBlockByNumber`) every 60 seconds against each provider from each of 3 regions, with the same plain HTTP client. Wall-clock round-trip is recorded at millisecond precision; p50/p90/p99 are computed via Prometheus `quantile_over_time` over 24 hours. Responses are classified (`ok` / `http_err` / `jsonrpc_err` / `stale` / `timeout`) so an endpoint stuck on an old head or returning errors behind HTTP 200 is never ranked as fastest. The harness is open source and every number on this page is a public Prometheus query you can run yourself."
- q: "Why do so few free RPCs support Linea?"
- a: "Free-tier coverage follows demand: gateways add no-key chains when traffic justifies the infrastructure. Linea's cohort (4 providers) is typical of newer L2s, compare with 9 on Ethereum and 8 on Arbitrum. The flip side is that the providers that do qualify are the disciplined multi-chain operators, so the reliability floor is high even where the field is thin."
+ a: "Free-tier coverage follows demand: gateways add no-key chains when traffic justifies the infrastructure. Linea's cohort (3 providers) is typical of newer L2s, compare with 9 on Ethereum and 8 on Arbitrum. The flip side is that the providers that do qualify are the disciplined multi-chain operators, so the reliability floor is high even where the field is thin."
source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities
diff --git a/benchmarks/mantle-rpc.yml b/benchmarks/mantle-rpc.yml
index fd4df0be..bc677c8b 100644
--- a/benchmarks/mantle-rpc.yml
+++ b/benchmarks/mantle-rpc.yml
@@ -17,7 +17,7 @@ seo_intro: |
Mantle rounds out the cluster's long tail with 4 qualifying no-key providers, all multi-chain gateways (PublicNode, dRPC, Tenderly). Like every chain in the family, the number that matters is a sustained median, the same `eth_getBlockByNumber` call every 60 seconds from three regions over a rolling 24 hours, not a one-off marketing burst, and archive-depth support is audited separately every 5 minutes.
abstract: |
- Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Mantle endpoint that sustains continuous probing, 4 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Mantle-scoped answer with per-region breakdowns as a first-class dimension.
+ Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Mantle endpoint that sustains continuous probing, 3 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Mantle-scoped answer with per-region breakdowns as a first-class dimension.
methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are first-class on this page via the region tabs."
@@ -26,7 +26,7 @@ methodology:
- "Call-result classification: `ok` (HTTP 200 + non-empty result), `http_err`, `jsonrpc_err` (HTTP 200 carrying an error body), `stale` (more than 20 blocks behind the cross-provider tip), `timeout`. Latency without reliability is a misleading ranking signal."
- "Archive depth: every 5 minutes we issue `eth_getBalance` at (head − depth) for depths from Geth's default pruned cap up to 5M blocks, exposing which free endpoints actually serve historical state."
- "This page is part of the per-chain RPC cluster derived from the cross-chain [rpc-capabilities](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, methodology and exclusion rules apply on every chain."
- - "Chain scope: every query on this page is pinned to chain=\"mantle\". Provider coverage: 4 no-key endpoints (PublicNode, dRPC, Tenderly). Exclusions follow the cluster-wide rules documented on the parent benchmark."
+ - "Chain scope: every query on this page is pinned to chain=\"mantle\". Provider coverage: 3 no-key endpoints (PublicNode, dRPC, Tenderly). Exclusions follow the cluster-wide rules documented on the parent benchmark."
findings:
- "{{best_name}} currently leads free Mantle RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 3 measured providers."
@@ -37,7 +37,7 @@ faq:
- q: "What is the fastest free Mantle RPC right now?"
a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 3 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
- q: "Which Mantle RPCs work without an API key?"
- a: "The 4 providers on this page: PublicNode, dRPC, Tenderly. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
+ a: "The 3 providers on this page: PublicNode, dRPC, Tenderly. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
- q: "Does the fastest Mantle RPC change by region?"
a: "Frequently. The headline number averages three probe origins (us-east, eu-west, Singapore), but per-region leaders regularly diverge, a gateway that wins from Virginia can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number on the page to a single origin; pick the one closest to where your requests actually originate."
- q: "How is Mantle RPC latency measured here?"
diff --git a/benchmarks/megaeth-rpc.yml b/benchmarks/megaeth-rpc.yml
index 329c30ad..f2570a25 100644
--- a/benchmarks/megaeth-rpc.yml
+++ b/benchmarks/megaeth-rpc.yml
@@ -29,7 +29,7 @@ seo_intro: |
abstract: |
We measure the round-trip latency of a single, identical RPC call
(`eth_getBlockByNumber`) against every no-key public MegaETH
- endpoint that sustains continuous probing, 4 providers, every 30
+ endpoint that sustains continuous probing, 3 providers, every 30
seconds, from us-east, eu-west and Singapore. The harness
classifies every response (ok / http_err / jsonrpc_err / stale /
timeout) so the leaderboard rewards sustained, honest availability
@@ -43,7 +43,7 @@ methodology:
- "Latency: client-side round-trip delta in milliseconds, exposed as both a gauge and a histogram (buckets 50 ms to 10 s), so percentiles are computed via Prometheus `quantile_over_time` over the last 24 hours."
- "Call-result classification: `ok` (HTTP 200 + non-empty result), `http_err`, `jsonrpc_err` (HTTP 200 carrying an error body), `stale` (more than 20 blocks behind the cross-provider tip), `timeout`. Latency without reliability is a misleading ranking signal."
- "This page is part of the per-chain RPC cluster derived from the cross-chain [rpc-capabilities](/benchmarks/rpc-capabilities) benchmark; the identical harness, methodology and exclusion rules apply on every chain. Every endpoint on this page was live-verified (eth_chainId match + anti-cache probe) before inclusion on 2026-07-08."
- - "Chain scope: every query on this page is pinned to chain=\"megaeth\" (chain id 4326, mainnet since February 2026). Provider coverage: 4 no-key endpoints (MegaETH Official, dRPC, Tenderly Gateway). Exclusions follow the cluster-wide rules documented on the parent benchmark."
+ - "Chain scope: every query on this page is pinned to chain=\"megaeth\" (chain id 4326, mainnet since February 2026). Provider coverage: 3 no-key endpoints (MegaETH Official, dRPC, Tenderly Gateway). Exclusions follow the cluster-wide rules documented on the parent benchmark."
findings:
- "{{best_name}} currently leads the free MegaETH RPC field at {{best_p50}} (p50, 24h) across 3 measured providers."
diff --git a/benchmarks/moonbeam-rpc.yml b/benchmarks/moonbeam-rpc.yml
index ed7d9088..478eb05b 100644
--- a/benchmarks/moonbeam-rpc.yml
+++ b/benchmarks/moonbeam-rpc.yml
@@ -22,7 +22,7 @@ seo_intro: |
regions with the cluster's anti-cache payload.
abstract: |
- Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Moonbeam endpoint that sustains continuous probing, 5 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Moonbeam-scoped answer with per-region breakdowns as a first-class dimension.
+ Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Moonbeam endpoint that sustains continuous probing, 4 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Moonbeam-scoped answer with per-region breakdowns as a first-class dimension.
methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are first-class on this page via the region tabs."
@@ -33,7 +33,7 @@ methodology:
- "This page is part of the per-chain RPC cluster derived from the cross-chain [rpc-capabilities](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, methodology and exclusion rules apply on every chain."
findings:
- - "{{best_name}} currently leads free Moonbeam RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 5 measured providers."
+ - "{{best_name}} currently leads free Moonbeam RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 4 measured providers."
- "{{name:drpc}} ({{p50:drpc}}) carries its anycast-consistency pattern onto a Polkadot parachain unchanged: same probe, same edge behavior, same 3-region steadiness that wins it 10 of the 12 long-tail chains."
- "{{name:tenderly}} posts the expansion's recurring flat ~330 ms in every region on Moonbeam too, single-origin routing rather than the edge network it runs for the major chains."
diff --git a/benchmarks/optimism-rpc.yml b/benchmarks/optimism-rpc.yml
index 922f5fe6..19e2f50a 100644
--- a/benchmarks/optimism-rpc.yml
+++ b/benchmarks/optimism-rpc.yml
@@ -17,7 +17,7 @@ seo_intro: |
Optimism pits the Foundation's `mainnet.optimism.io` against 5 multi-chain no-key gateways. As on Arbitrum, the official endpoint is documented best-effort, and the measured tail confirms it, while the gateway tier (PublicNode, dRPC, Tenderly, Nodies) competes on tighter distributions. Probes run every 60 seconds from three regions with full response classification, so an endpoint stuck on an old head is flagged `stale` rather than ranked fast.
abstract: |
- Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Optimism endpoint that sustains continuous probing, 6 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Optimism-scoped answer with per-region breakdowns as a first-class dimension.
+ Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Optimism endpoint that sustains continuous probing, 5 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Optimism-scoped answer with per-region breakdowns as a first-class dimension.
methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are first-class on this page via the region tabs."
@@ -26,7 +26,7 @@ methodology:
- "Call-result classification: `ok` (HTTP 200 + non-empty result), `http_err`, `jsonrpc_err` (HTTP 200 carrying an error body), `stale` (more than 20 blocks behind the cross-provider tip), `timeout`. Latency without reliability is a misleading ranking signal."
- "Archive depth: every 5 minutes we issue `eth_getBalance` at (head − depth) for depths from Geth's default pruned cap up to 5M blocks, exposing which free endpoints actually serve historical state."
- "This page is part of the per-chain RPC cluster derived from the cross-chain [rpc-capabilities](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, methodology and exclusion rules apply on every chain."
- - "Chain scope: every query on this page is pinned to chain=\"optimism\". Provider coverage: 6 no-key endpoints (PublicNode, dRPC, Tenderly, Nodies, Optimism). Exclusions follow the cluster-wide rules documented on the parent benchmark."
+ - "Chain scope: every query on this page is pinned to chain=\"optimism\". Provider coverage: 5 no-key endpoints (PublicNode, dRPC, Tenderly, Nodies, Optimism). Exclusions follow the cluster-wide rules documented on the parent benchmark."
findings:
- "{{best_name}} currently leads free Optimism RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 5 measured providers."
@@ -37,7 +37,7 @@ faq:
- q: "What is the fastest free Optimism RPC right now?"
a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 5 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
- q: "Which Optimism RPCs work without an API key?"
- a: "The 6 providers on this page: PublicNode, dRPC, Tenderly, Nodies, Optimism. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
+ a: "The 5 providers on this page: PublicNode, dRPC, Tenderly, Nodies, Optimism. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
- q: "Does the fastest Optimism RPC change by region?"
a: "Frequently. The headline number averages three probe origins (us-east, eu-west, Singapore), but per-region leaders regularly diverge, a gateway that wins from Virginia can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number on the page to a single origin; pick the one closest to where your requests actually originate."
- q: "How is Optimism RPC latency measured here?"
diff --git a/benchmarks/polygon-rpc.yml b/benchmarks/polygon-rpc.yml
index 6bc60657..f3682a48 100644
--- a/benchmarks/polygon-rpc.yml
+++ b/benchmarks/polygon-rpc.yml
@@ -17,7 +17,7 @@ seo_intro: |
Polygon has no chain-official endpoint in the free tier, so this is the purest gateway-versus-gateway comparison in the cluster: PublicNode, dRPC, Tenderly and Nodies, all answering the same `eth_getBlockByNumber` probe every 60 seconds from three regions. With no house endpoint to anchor expectations, the regional flips between gateways decide the ranking, and they flip often.
abstract: |
- Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Polygon endpoint that sustains continuous probing, 5 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Polygon-scoped answer with per-region breakdowns as a first-class dimension.
+ Per-chain member of the RPC latency cluster. We measure the round-trip latency of a single, identical RPC call (`eth_getBlockByNumber`) against every no-key public Polygon endpoint that sustains continuous probing, 4 providers, every 60 seconds, from us-east, eu-west and Singapore. The harness also classifies every response (ok / http_err / jsonrpc_err / stale / timeout) and audits archive depth every 5 minutes, so the leaderboard rewards sustained, honest availability rather than a fast error message. The cross-chain view lives on the parent rpc-capabilities benchmark; this page is the Polygon-scoped answer with per-region breakdowns as a first-class dimension.
methodology:
- "Cadence: every 60 seconds per provider, from each of 3 probe regions (us-east Virginia, eu-west Amsterdam, sgp Singapore). Headline p50/p90/p99 aggregate across all 3 regions via Prometheus `avg(quantile_over_time(...))`; per-region breakdowns are first-class on this page via the region tabs."
@@ -26,7 +26,7 @@ methodology:
- "Call-result classification: `ok` (HTTP 200 + non-empty result), `http_err`, `jsonrpc_err` (HTTP 200 carrying an error body), `stale` (more than 20 blocks behind the cross-provider tip), `timeout`. Latency without reliability is a misleading ranking signal."
- "Archive depth: every 5 minutes we issue `eth_getBalance` at (head − depth) for depths from Geth's default pruned cap up to 5M blocks, exposing which free endpoints actually serve historical state."
- "This page is part of the per-chain RPC cluster derived from the cross-chain [rpc-capabilities](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, methodology and exclusion rules apply on every chain."
- - "Chain scope: every query on this page is pinned to chain=\"polygon\". Provider coverage: 5 no-key endpoints (PublicNode, dRPC, Tenderly, Nodies). Exclusions follow the cluster-wide rules documented on the parent benchmark."
+ - "Chain scope: every query on this page is pinned to chain=\"polygon\". Provider coverage: 4 no-key endpoints (PublicNode, dRPC, Tenderly, Nodies). Exclusions follow the cluster-wide rules documented on the parent benchmark."
findings:
- "{{best_name}} currently leads free Polygon RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 4 measured providers."
@@ -37,7 +37,7 @@ faq:
- q: "What is the fastest free Polygon RPC right now?"
a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber` p50 over the last 24h), measured against 4 no-key providers probed every 60 seconds from us-east, eu-west and Singapore. The leaderboard re-sorts continuously against fresh Prometheus samples, so the answer on this page is the answer right now, not a quarterly snapshot. Use the region tabs to see the leader from the origin closest to your deployment."
- q: "Which Polygon RPCs work without an API key?"
- a: "The 5 providers on this page: PublicNode, dRPC, Tenderly, Nodies. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
+ a: "The 4 providers on this page: PublicNode, dRPC, Tenderly, Nodies. Every (provider, chain) pair was live-verified no-key before inclusion, and anything that key-gates, region-blocks or rate-limits below our 15-second cadence is excluded rather than listed with an asterisk."
- q: "Does the fastest Polygon RPC change by region?"
a: "Frequently. The headline number averages three probe origins (us-east, eu-west, Singapore), but per-region leaders regularly diverge, a gateway that wins from Virginia can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number on the page to a single origin; pick the one closest to where your requests actually originate."
- q: "How is Polygon RPC latency measured here?"
diff --git a/benchmarks/rpc-capabilities.yml b/benchmarks/rpc-capabilities.yml
index 9f6c59e2..cff135e2 100644
--- a/benchmarks/rpc-capabilities.yml
+++ b/benchmarks/rpc-capabilities.yml
@@ -28,13 +28,13 @@ seo_intro: |
chain my product runs on. Alchemy and Infura own the keyed-tier
market; the free public side of the question lives elsewhere, in
the RPC services dapps hit when a contributor's free quota is the
- budget. We probe `eth_getBlockByNumber` every 60 seconds against 15
+ budget. We probe `eth_getBlockByNumber` every 60 seconds against 13
audited providers across 10 EVM chains. PublicNode, dRPC,
MeowRPC, Tenderly Gateway, Nodies (POKT), Lava Network,
Flashbots Protect, Cloudflare and 5 chain-official foundation
endpoints (Base, Binance BSC, Avalanche, Arbitrum, Optimism).
- Chains covered. Ethereum (9 providers), Arbitrum (8), Base (6),
- Optimism (6), Avalanche (6), BNB (5), Polygon (5), Linea + Scroll + Mantle (4
+ Chains covered. Ethereum (8 providers), Arbitrum (7), Base (5),
+ Optimism (5), Avalanche (4), BNB (4), Polygon (4), Linea + Scroll + Mantle (3
each). The headline question is per chain, not cross-chain. Five
providers are single-chain by design (the foundation endpoints
above), so a cross-chain aggregate mechanically rewards whichever
@@ -78,14 +78,14 @@ methodology:
- "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."
- "Success gating: because failed probes record no latency, a mostly failing endpoint can post a fast p50 from its rare successes. The ledger pairs every latency figure with a Success column computed as ok calls over total calls in the same 24h window; read rows below 50 percent success as degraded. Providers with under 5 percent success lose their latency series to Prometheus staleness and are pinned below the table as unresponsive instead of being ranked."
- "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`."
+ - "Chain coverage: 10 EVM chains. Ethereum (8 providers), Arbitrum (7), Base (5), Optimism (5), Avalanche (4), BNB (4), Polygon (4), Linea (3), Scroll (3), Mantle (3). Provider matrix per chain is documented in `miniapps/rpc-capabilities/cmd/script/config.go`."
- "Excluded: 1RPC (delisted 2026-07-09, under 13% success even at two chains and one probe per minute), 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). Blink, formerly Merkle (no public eth_getBlockByNumber) + Lava and MeowRPC outside ETH/Arb excluded. Every (provider, chain) was live-verified no-key before inclusion."
findings:
- - "Per-chain leaders, not a cross-chain crown. On Ethereum the current leader is {{best_name:chain:ethereum}} at {{best_p50:chain:ethereum}} (p50, 24 h) across 9 measured providers, the largest cohort in this bench. Ethereum is also the chain where Cloudflare-eth's `jsonrpc_err` traps the lazy reader."
- - "On Base the leader is {{best_name:chain:base}} at {{best_p50:chain:base}} (p50, 24 h) across 6 providers. Base sees Coinbase's `mainnet.base.org` go head-to-head with PublicNode, dRPC, Tenderly and Nodies, an unusually clean comparison because the chain-official endpoint is operated by the same team that runs the sequencer."
- - "On BNB Chain the leader is {{best_name:chain:bnb}} at {{best_p50:chain:bnb}} (p50, 24 h) across 5 providers. Binance's `bsc-dataseed1` is the incumbent, but PublicNode and dRPC have closed the gap on EU origin nodes."
- - "On Arbitrum the leader is {{best_name:chain:arbitrum}} at {{best_p50:chain:arbitrum}} (p50, 24 h) across 8 providers. Arbitrum is the second-largest cohort and one of the few chains where Lava and MeowRPC compete on a no-key tier alongside PublicNode and the Arbitrum Foundation's own endpoint."
+ - "Per-chain leaders, not a cross-chain crown. On Ethereum the current leader is {{best_name:chain:ethereum}} at {{best_p50:chain:ethereum}} (p50, 24 h) across 8 measured providers, the largest cohort in this bench. Ethereum is also the chain where Cloudflare-eth's `jsonrpc_err` traps the lazy reader."
+ - "On Base the leader is {{best_name:chain:base}} at {{best_p50:chain:base}} (p50, 24 h) across 5 providers. Base sees Coinbase's `mainnet.base.org` go head-to-head with PublicNode, dRPC, Tenderly and Nodies, an unusually clean comparison because the chain-official endpoint is operated by the same team that runs the sequencer."
+ - "On BNB Chain the leader is {{best_name:chain:bnb}} at {{best_p50:chain:bnb}} (p50, 24 h) across 4 providers. Binance's `bsc-dataseed1` is the incumbent, but PublicNode and dRPC have closed the gap on EU origin nodes."
+ - "On Arbitrum the leader is {{best_name:chain:arbitrum}} at {{best_p50:chain:arbitrum}} (p50, 24 h) across 7 providers. Arbitrum is the second-largest cohort and one of the few chains where Lava and MeowRPC compete on a no-key tier alongside PublicNode and the Arbitrum Foundation's own endpoint."
- "{{name:publicnode}} returns {{p50:publicnode}} on the unfiltered aggregate (mean of its per chain, per region 24h p50s). PublicNode (operated by Allnodes) is the de-facto default no-key RPC for many dapps because it terminates close to a large EU-anchored validator footprint and is one of the few providers present on most measured chains."
- "{{name:drpc}} sits at {{p50:drpc}} on the unfiltered aggregate (mean of its per chain, per region 24h p50s). dRPC is a decentralized RPC mesh that routes each request across third-party node providers with consensus checks, so latency tracks the median of the underlying mesh rather than a single host."
- "Cloudflare-eth is a cautionary tale. The endpoint returns HTTP 200 in well under a second, but a growing share of calls now resolve to `jsonrpc_err -32046 Cannot fulfill request` rather than a usable block, reliability is measured by `rpc_call_total{result=\"ok\"} / rpc_call_total` rather than HTTP status alone."
@@ -95,7 +95,7 @@ faq:
- q: "What is the fastest free public RPC right now?"
a: "The question is per chain because several providers are single-chain by design (Base official, Binance, Arbitrum Foundation, Optimism Foundation, Avalanche) and a cross-chain aggregate mechanically rewards whichever single-chain endpoint happens to be fastest on its one chain. Current per-chain leaders. Ethereum {{best_name:chain:ethereum}} at {{best_p50:chain:ethereum}}, Base {{best_name:chain:base}} at {{best_p50:chain:base}}, BNB Chain {{best_name:chain:bnb}} at {{best_p50:chain:bnb}}, Arbitrum {{best_name:chain:arbitrum}} at {{best_p50:chain:arbitrum}}. The leaderboard re-sorts every 60 seconds against fresh Prometheus samples averaged across us-east, eu-west and sgp probes. Switch the chain tab to see the leader on the network your product runs on."
- q: "Which public RPCs work without an API key in 2026?"
- a: "15 audited providers across 10 EVM chains. Universal multi-chain (work on 4+ chains): PublicNode, dRPC, Tenderly Gateway (`gateway.tenderly.co/public/