From a959d73e75281ed1678e7644ecbbfe46c09a8e1e Mon Sep 17 00:00:00 2001 From: Florent Tapponnier <160007691+Flotapponnier@users.noreply.github.com> Date: Mon, 3 Aug 2026 23:50:16 +0200 Subject: [PATCH] feat: add 8 Tier-1 RPC chains (rootstock/metis/manta/story/morph/moonriver/hemi/bob) --- benchmarks/bob-rpc.yml | 159 +++++++++++++++++ benchmarks/hemi-rpc.yml | 136 ++++++++++++++ benchmarks/manta-rpc.yml | 136 ++++++++++++++ benchmarks/metis-rpc.yml | 166 ++++++++++++++++++ benchmarks/moonriver-rpc.yml | 159 +++++++++++++++++ benchmarks/morph-rpc.yml | 136 ++++++++++++++ benchmarks/rootstock-rpc.yml | 142 +++++++++++++++ benchmarks/story-rpc.yml | 136 ++++++++++++++ .../rpc-capabilities/cmd/script/config.go | 107 +++++++++++ public/logos/bob.png | Bin 0 -> 41649 bytes public/logos/hemi.png | Bin 0 -> 6922 bytes public/logos/manta.jpg | Bin 0 -> 95180 bytes public/logos/metis.png | Bin 0 -> 15560 bytes public/logos/moonriver.jpg | Bin 0 -> 20650 bytes public/logos/morph.jpg | Bin 0 -> 7524 bytes public/logos/morph.png | Bin 0 -> 2666 bytes public/logos/rootstock.jpg | Bin 0 -> 39660 bytes public/logos/story.png | Bin 0 -> 3449 bytes public/logos/unitedbloc.jpg | Bin 0 -> 1549 bytes src/data/provider-registry.ts | 54 ++++++ src/lib/chains.ts | 64 +++++++ src/lib/logo-manifest.ts | 20 +++ 22 files changed, 1415 insertions(+) create mode 100644 benchmarks/bob-rpc.yml create mode 100644 benchmarks/hemi-rpc.yml create mode 100644 benchmarks/manta-rpc.yml create mode 100644 benchmarks/metis-rpc.yml create mode 100644 benchmarks/moonriver-rpc.yml create mode 100644 benchmarks/morph-rpc.yml create mode 100644 benchmarks/rootstock-rpc.yml create mode 100644 benchmarks/story-rpc.yml create mode 100644 public/logos/bob.png create mode 100644 public/logos/hemi.png create mode 100644 public/logos/manta.jpg create mode 100644 public/logos/metis.png create mode 100644 public/logos/moonriver.jpg create mode 100644 public/logos/morph.jpg create mode 100644 public/logos/morph.png create mode 100644 public/logos/rootstock.jpg create mode 100644 public/logos/story.png create mode 100644 public/logos/unitedbloc.jpg diff --git a/benchmarks/bob-rpc.yml b/benchmarks/bob-rpc.yml new file mode 100644 index 00000000..93ad4de2 --- /dev/null +++ b/benchmarks/bob-rpc.yml @@ -0,0 +1,159 @@ +# OpenChainBench. Bench № 137 + +slug: bob-rpc +number: "137" +title: Fastest free BOB RPC, live no-key EVM endpoint latency +seo_title: "Fastest free BOB RPC 2026" +seo_description: "{{best_name}} leads free BOB RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h). 4 no-key providers measured every 60s from 3 regions." +subtitle: HTTP round-trip latency for the `eth_getBlockByNumber(\"latest\", false)` method against every free, no-key public BOB EVM endpoint, audited every 60 seconds from 3 regions. + +category: RPCs +status: live +metric: RPC latency +unit: ms +higher_is_better: false + +seo_intro: | + BOB (Build on Bitcoin) is an OP Stack hybrid L2 (chain 60808) that bridges Bitcoin and Ethereum, enabling Bitcoin DeFi with EVM smart contracts and native BTC collateral, ETH gas token, ~2 s block cadence, settlement on Ethereum. Integrated with Babylon BTC staking and leading Bitcoin LSTs. The 2026-08-03 audit confirms 4 clean keyless providers: the BOB official endpoint (rpc.gobob.xyz), Tenderly Gateway (bob.gateway.tenderly.co), dRPC (bob.drpc.org), and Thirdweb (60808.rpc.thirdweb.com). Excluded: Ankr (no bob route), Alchemy (key required), QuickNode (key required). + +abstract: | + Per-chain member of the RPC latency cluster, extended to BOB. + We measure the round-trip latency of a single, identical JSON-RPC call + (`eth_getBlockByNumber(\"latest\", false)`) against every no-key public + BOB endpoint that sustains continuous probing, 4 providers + measured, every 60 seconds, from us-east, eu-west and Singapore. The + harness classifies every response (ok / http_err / jsonrpc_err / stale + / timeout) with a BOB-scaled staleness gap (20 blocks + at BOB's ~2 s block time). The cross-chain view + lives on the parent `rpc-capabilities` benchmark; this page is the + BOB-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." + - "Payload: `{\"jsonrpc\":\"2.0\",\"id\":,\"method\":\"eth_getBlockByNumber\",\"params\":[\"latest\", false]}`. Plain HTTP POST, identical for every endpoint, no API key in any request. Non-cacheable by design: the rotating id defeats edge caches that would answer a bare head query without touching a node." + - "Latency: client-side round-trip delta in milliseconds, exposed as both a gauge and a histogram (buckets 50 ms → 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 with a parsable hex block number), `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](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, cadence and exclusion rules apply on every chain." + - "Chain scope: every query on this page is pinned to `chain=\"bob\"`. Provider coverage: 4 no-key endpoints." + +findings: + - "{{best_name}} currently leads free BOB RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 4 measured providers." + +faq: + - q: "What is the fastest free BOB RPC right now?" + a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` 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. Use the region tabs to see the leader from the origin closest to your deployment." + - q: "Which BOB RPCs work without an API key?" + a: "4 endpoints sustain continuous keyless probing: the BOB official endpoint (rpc.gobob.xyz), Tenderly Gateway (bob.gateway.tenderly.co), dRPC (bob.drpc.org), and Thirdweb (60808.rpc.thirdweb.com). Every listed endpoint was live-verified with a `eth_getBlockByNumber` POST returning a parsable response before inclusion." + - q: "Does the fastest BOB RPC change by region?" + a: "Often. Public infra concentrates in specific regions; a gateway that wins from Amsterdam can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number to a single origin; pick the one closest to where your requests originate." + - q: "How is BOB RPC latency measured here, technically?" + a: "One identical `eth_getBlockByNumber(\"latest\", false)` POST every 60 seconds against each provider from each of 3 regions, using the same plain HTTP client the rest of the RPC cluster uses. 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." + +source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities + +prometheus: + window: 24h + freshness_metric: rpc_latency_milliseconds + +rank_matrix_query: avg by (provider, region) (ocb:rpc_latency_milliseconds:p50_24h{chain="bob"}) + +dimensions: + region: + - { value: all, label: All regions } + - { value: us-east, label: US-East } + - { value: eu-west, label: EU-West } + - { value: sgp, label: Singapore } + +providers: + - slug: bob-official + name: BOB + tag: BOB official public RPC endpoint operated by Conduit + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to BOB's no-key bob RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="bob-official", chain="bob"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="bob-official", chain="bob"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="bob-official", chain="bob"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="bob-official", chain="bob"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="bob-official", chain="bob"}) / sum(ocb:rpc_call:rate_24h{provider="bob-official", chain="bob"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="bob-official", chain="bob"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="bob-official", chain="bob"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="bob-official", chain="bob", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="bob-official", chain="bob", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="bob-official", chain="bob", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="bob-official", chain="bob", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="bob-official", chain="bob", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="bob-official", chain="bob", region="sgp"}[1h]) + + - slug: tenderly + name: Tenderly + tag: Tenderly public gateway for BOB + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Tenderly's no-key bob RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="tenderly", chain="bob"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="tenderly", chain="bob"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="tenderly", chain="bob"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="tenderly", chain="bob"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="tenderly", chain="bob"}) / sum(ocb:rpc_call:rate_24h{provider="tenderly", chain="bob"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="tenderly", chain="bob"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="tenderly", chain="bob"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="tenderly", chain="bob", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="tenderly", chain="bob", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="tenderly", chain="bob", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="tenderly", chain="bob", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="tenderly", chain="bob", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="tenderly", chain="bob", region="sgp"}[1h]) + + - slug: drpc + name: dRPC + tag: dRPC public gateway routing to BOB node pool + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to dRPC's no-key bob RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="bob"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="drpc", chain="bob"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="drpc", chain="bob"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="drpc", chain="bob"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="drpc", chain="bob"}) / sum(ocb:rpc_call:rate_24h{provider="drpc", chain="bob"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="drpc", chain="bob"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="bob"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="bob", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="bob", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="bob", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="bob", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="bob", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="bob", region="sgp"}[1h]) + + - slug: thirdweb + name: Thirdweb + tag: Thirdweb public RPC gateway for BOB + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Thirdweb's no-key bob RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="bob"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="thirdweb", chain="bob"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="thirdweb", chain="bob"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="thirdweb", chain="bob"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="thirdweb", chain="bob"}) / sum(ocb:rpc_call:rate_24h{provider="thirdweb", chain="bob"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="thirdweb", chain="bob"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="bob"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="bob", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="bob", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="bob", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="bob", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="bob", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="bob", region="sgp"}[1h]) diff --git a/benchmarks/hemi-rpc.yml b/benchmarks/hemi-rpc.yml new file mode 100644 index 00000000..8190fd8b --- /dev/null +++ b/benchmarks/hemi-rpc.yml @@ -0,0 +1,136 @@ +# OpenChainBench. Bench № 136 + +slug: hemi-rpc +number: "136" +title: Fastest free Hemi RPC, live no-key EVM endpoint latency +seo_title: "Fastest free Hemi RPC 2026" +seo_description: "{{best_name}} leads free Hemi RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h). 3 no-key providers measured every 60s from 3 regions." +subtitle: HTTP round-trip latency for the `eth_getBlockByNumber(\"latest\", false)` method against every free, no-key public Hemi EVM endpoint, audited every 60 seconds from 3 regions. + +category: RPCs +status: live +metric: RPC latency +unit: ms +higher_is_better: false + +seo_intro: | + Hemi is a Bitcoin+Ethereum hybrid L2 (chain 43111) built on OP Stack with a dual-VM architecture running both EVM and Bitcoin script, ETH gas token, ~2 s block cadence, designed to unify BTC and ETH liquidity. Backed by YZi Labs (ex-Binance Labs) with $15M seed, mainnet launched March 2025 with over $440M TVL at launch. The 2026-08-03 audit confirms 3 clean keyless providers: the Hemi Labs official endpoint (rpc.hemi.network/rpc), dRPC (hemi.drpc.org), and Thirdweb (43111.rpc.thirdweb.com). Excluded: Ankr (no hemi route), Alchemy (key required), QuickNode (key required). + +abstract: | + Per-chain member of the RPC latency cluster, extended to Hemi. + We measure the round-trip latency of a single, identical JSON-RPC call + (`eth_getBlockByNumber(\"latest\", false)`) against every no-key public + Hemi endpoint that sustains continuous probing, 3 providers + measured, every 60 seconds, from us-east, eu-west and Singapore. The + harness classifies every response (ok / http_err / jsonrpc_err / stale + / timeout) with a Hemi-scaled staleness gap (20 blocks + at Hemi's ~2 s block time). The cross-chain view + lives on the parent `rpc-capabilities` benchmark; this page is the + Hemi-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." + - "Payload: `{\"jsonrpc\":\"2.0\",\"id\":,\"method\":\"eth_getBlockByNumber\",\"params\":[\"latest\", false]}`. Plain HTTP POST, identical for every endpoint, no API key in any request. Non-cacheable by design: the rotating id defeats edge caches that would answer a bare head query without touching a node." + - "Latency: client-side round-trip delta in milliseconds, exposed as both a gauge and a histogram (buckets 50 ms → 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 with a parsable hex block number), `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](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, cadence and exclusion rules apply on every chain." + - "Chain scope: every query on this page is pinned to `chain=\"hemi\"`. Provider coverage: 3 no-key endpoints." + +findings: + - "{{best_name}} currently leads free Hemi RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 3 measured providers." + +faq: + - q: "What is the fastest free Hemi RPC right now?" + a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` 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. Use the region tabs to see the leader from the origin closest to your deployment." + - q: "Which Hemi RPCs work without an API key?" + a: "3 endpoints sustain continuous keyless probing: the Hemi Labs official endpoint (rpc.hemi.network/rpc), dRPC (hemi.drpc.org), and Thirdweb (43111.rpc.thirdweb.com). Every listed endpoint was live-verified with a `eth_getBlockByNumber` POST returning a parsable response before inclusion." + - q: "Does the fastest Hemi RPC change by region?" + a: "Often. Public infra concentrates in specific regions; a gateway that wins from Amsterdam can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number to a single origin; pick the one closest to where your requests originate." + - q: "How is Hemi RPC latency measured here, technically?" + a: "One identical `eth_getBlockByNumber(\"latest\", false)` POST every 60 seconds against each provider from each of 3 regions, using the same plain HTTP client the rest of the RPC cluster uses. 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." + +source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities + +prometheus: + window: 24h + freshness_metric: rpc_latency_milliseconds + +rank_matrix_query: avg by (provider, region) (ocb:rpc_latency_milliseconds:p50_24h{chain="hemi"}) + +dimensions: + region: + - { value: all, label: All regions } + - { value: us-east, label: US-East } + - { value: eu-west, label: EU-West } + - { value: sgp, label: Singapore } + +providers: + - slug: hemi-official + name: Hemi Labs + tag: Hemi Labs official public RPC endpoint for Hemi mainnet + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Hemi Labs's no-key hemi RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="hemi-official", chain="hemi"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="hemi-official", chain="hemi"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="hemi-official", chain="hemi"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="hemi-official", chain="hemi"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="hemi-official", chain="hemi"}) / sum(ocb:rpc_call:rate_24h{provider="hemi-official", chain="hemi"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="hemi-official", chain="hemi"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="hemi-official", chain="hemi"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="hemi-official", chain="hemi", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="hemi-official", chain="hemi", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="hemi-official", chain="hemi", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="hemi-official", chain="hemi", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="hemi-official", chain="hemi", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="hemi-official", chain="hemi", region="sgp"}[1h]) + + - slug: drpc + name: dRPC + tag: dRPC public gateway routing to Hemi node pool + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to dRPC's no-key hemi RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="hemi"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="drpc", chain="hemi"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="drpc", chain="hemi"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="drpc", chain="hemi"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="drpc", chain="hemi"}) / sum(ocb:rpc_call:rate_24h{provider="drpc", chain="hemi"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="drpc", chain="hemi"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="hemi"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="hemi", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="hemi", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="hemi", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="hemi", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="hemi", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="hemi", region="sgp"}[1h]) + + - slug: thirdweb + name: Thirdweb + tag: Thirdweb public RPC gateway for Hemi + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Thirdweb's no-key hemi RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="hemi"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="thirdweb", chain="hemi"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="thirdweb", chain="hemi"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="thirdweb", chain="hemi"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="thirdweb", chain="hemi"}) / sum(ocb:rpc_call:rate_24h{provider="thirdweb", chain="hemi"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="thirdweb", chain="hemi"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="hemi"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="hemi", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="hemi", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="hemi", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="hemi", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="hemi", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="hemi", region="sgp"}[1h]) diff --git a/benchmarks/manta-rpc.yml b/benchmarks/manta-rpc.yml new file mode 100644 index 00000000..a2c10894 --- /dev/null +++ b/benchmarks/manta-rpc.yml @@ -0,0 +1,136 @@ +# OpenChainBench. Bench № 132 + +slug: manta-rpc +number: "132" +title: Fastest free Manta Pacific RPC, live no-key EVM endpoint latency +seo_title: "Fastest free Manta Pacific RPC 2026" +seo_description: "{{best_name}} leads free Manta Pacific RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h). 3 no-key providers measured every 60s from 3 regions." +subtitle: HTTP round-trip latency for the `eth_getBlockByNumber("latest", false)` method against every free, no-key public Manta Pacific EVM endpoint, audited every 60 seconds from 3 regions. + +category: RPCs +status: live +metric: RPC latency +unit: ms +higher_is_better: false + +seo_intro: | + Manta Pacific is an OP Stack EVM L2 (chain 169) built on Celestia for data availability, optimised for zero-knowledge applications and DeFi, ETH gas token, ~2 s block cadence, settlement on Ethereum. The 2026-08-03 audit confirms 3 clean keyless providers: the Manta Pacific official endpoint (pacific-rpc.manta.network/http), dRPC (manta-pacific.drpc.org), and Thirdweb (169.rpc.thirdweb.com). Excluded: Ankr (no manta pacific route), Alchemy (key required), QuickNode (key required). + +abstract: | + Per-chain member of the RPC latency cluster, extended to Manta Pacific. + We measure the round-trip latency of a single, identical JSON-RPC call + (`eth_getBlockByNumber("latest", false)`) against every no-key public + Manta Pacific endpoint that sustains continuous probing, 3 providers + measured, every 60 seconds, from us-east, eu-west and Singapore. The + harness classifies every response (ok / http_err / jsonrpc_err / stale + / timeout) with a Manta Pacific-scaled staleness gap (20 blocks + at Manta Pacific's ~2 s block time). The cross-chain view + lives on the parent `rpc-capabilities` benchmark; this page is the + Manta Pacific-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." + - "Payload: `{\"jsonrpc\":\"2.0\",\"id\":,\"method\":\"eth_getBlockByNumber\",\"params\":[\"latest\", false]}`. Plain HTTP POST, identical for every endpoint, no API key in any request. Non-cacheable by design: the rotating id defeats edge caches that would answer a bare head query without touching a node." + - "Latency: client-side round-trip delta in milliseconds, exposed as both a gauge and a histogram (buckets 50 ms → 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 with a parsable hex block number), `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](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, cadence and exclusion rules apply on every chain." + - "Chain scope: every query on this page is pinned to `chain=\"manta\"`. Provider coverage: 3 no-key endpoints." + +findings: + - "{{best_name}} currently leads free Manta Pacific RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 3 measured providers." + +faq: + - q: "What is the fastest free Manta Pacific RPC right now?" + a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` 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. Use the region tabs to see the leader from the origin closest to your deployment." + - q: "Which Manta Pacific RPCs work without an API key?" + a: "3 endpoints sustain continuous keyless probing: Manta Network (https://pacific-rpc.manta.network/http), dRPC (https://manta-pacific.drpc.org), and Thirdweb (https://169.rpc.thirdweb.com). Every listed endpoint was live-verified with a `eth_getBlockByNumber` POST returning a parsable response before inclusion." + - q: "Does the fastest Manta Pacific RPC change by region?" + a: "Often. Public infra concentrates in specific regions; a gateway that wins from Amsterdam can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number to a single origin; pick the one closest to where your requests originate." + - q: "How is Manta Pacific RPC latency measured here, technically?" + a: "One identical `eth_getBlockByNumber(\"latest\", false)` POST every 60 seconds against each provider from each of 3 regions, using the same plain HTTP client the rest of the RPC cluster uses. 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." + +source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities + +prometheus: + window: 24h + freshness_metric: rpc_latency_milliseconds + +rank_matrix_query: avg by (provider, region) (ocb:rpc_latency_milliseconds:p50_24h{chain="manta"}) + +dimensions: + region: + - { value: all, label: All regions } + - { value: us-east, label: US-East } + - { value: eu-west, label: EU-West } + - { value: sgp, label: Singapore } + +providers: + - slug: manta-official + name: Manta Network + tag: Manta Network official public RPC for Manta Pacific + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Manta Network's no-key Manta Pacific RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="manta-official", chain="manta"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="manta-official", chain="manta"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="manta-official", chain="manta"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="manta-official", chain="manta"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="manta-official", chain="manta"}) / sum(ocb:rpc_call:rate_24h{provider="manta-official", chain="manta"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="manta-official", chain="manta"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="manta-official", chain="manta"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="manta-official", chain="manta", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="manta-official", chain="manta", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="manta-official", chain="manta", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="manta-official", chain="manta", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="manta-official", chain="manta", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="manta-official", chain="manta", region="sgp"}[1h]) + + - slug: drpc + name: dRPC + tag: dRPC public gateway routing to Manta Pacific node pool + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to dRPC's no-key Manta Pacific RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="manta"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="drpc", chain="manta"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="drpc", chain="manta"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="drpc", chain="manta"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="drpc", chain="manta"}) / sum(ocb:rpc_call:rate_24h{provider="drpc", chain="manta"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="drpc", chain="manta"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="manta"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="manta", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="manta", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="manta", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="manta", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="manta", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="manta", region="sgp"}[1h]) + + - slug: thirdweb + name: Thirdweb + tag: Thirdweb public RPC gateway for Manta Pacific + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Thirdweb's no-key Manta Pacific RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="manta"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="thirdweb", chain="manta"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="thirdweb", chain="manta"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="thirdweb", chain="manta"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="thirdweb", chain="manta"}) / sum(ocb:rpc_call:rate_24h{provider="thirdweb", chain="manta"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="thirdweb", chain="manta"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="manta"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="manta", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="manta", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="manta", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="manta", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="manta", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="manta", region="sgp"}[1h]) diff --git a/benchmarks/metis-rpc.yml b/benchmarks/metis-rpc.yml new file mode 100644 index 00000000..bc54d246 --- /dev/null +++ b/benchmarks/metis-rpc.yml @@ -0,0 +1,166 @@ +# OpenChainBench. Bench № 131 + +slug: metis-rpc +number: "131" +title: Fastest free Metis RPC, live no-key EVM endpoint latency +seo_title: "Fastest free Metis RPC 2026" +seo_description: "{{best_name}} leads free Metis RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h). 4 no-key providers measured every 60s from 3 regions." +subtitle: HTTP round-trip latency for the `eth_getBlockByNumber("latest", false)` method against every free, no-key public Metis EVM endpoint, audited every 60 seconds from 3 regions. + +category: RPCs +status: live +metric: RPC latency +unit: ms +higher_is_better: false + +seo_intro: | + Metis (chain 1088) is an Optimistic Rollup L2 distinguished by its decentralized sequencer + pool, where sequencers are selected via Proof of Stake using the METIS token, rather than a + single centralized sequencer as in most rollups. The chain targets ~2 s block cadence, uses + ETH as its gas token, and settles to Ethereum mainnet. A 2026-08-03 audit confirms 4 clean + keyless providers: the Metis Andromeda official endpoint (andromeda.metis.io), dRPC + (metis.drpc.org), PublicNode (metis-rpc.publicnode.com), and Thirdweb + (1088.rpc.thirdweb.com). Excluded providers: Ankr (requires key for Metis), Alchemy (key + required). + +abstract: | + Per-chain member of the RPC latency cluster, extended to Metis. + We measure the round-trip latency of a single, identical JSON-RPC call + (`eth_getBlockByNumber("latest", false)`) against every no-key public + Metis endpoint that sustains continuous probing, 4 providers + measured, every 60 seconds, from us-east, eu-west and Singapore. The + harness classifies every response (ok / http_err / jsonrpc_err / stale + / timeout) with a Metis-scaled staleness gap (20 blocks + at Metis's ~2 s block time). The cross-chain view + lives on the parent `rpc-capabilities` benchmark; this page is the + Metis-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." + - "Payload: `{\"jsonrpc\":\"2.0\",\"id\":,\"method\":\"eth_getBlockByNumber\",\"params\":[\"latest\", false]}`. Plain HTTP POST, identical for every endpoint, no API key in any request. Non-cacheable by design: the rotating id defeats edge caches that would answer a bare head query without touching a node." + - "Latency: client-side round-trip delta in milliseconds, exposed as both a gauge and a histogram (buckets 50 ms → 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 with a parsable hex block number), `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](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, cadence and exclusion rules apply on every chain." + - "Chain scope: every query on this page is pinned to `chain=\"metis\"`. Provider coverage: 4 no-key endpoints." + +findings: + - "{{best_name}} currently leads free Metis RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 4 measured providers." + +faq: + - q: "What is the fastest free Metis RPC right now?" + a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` 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. Use the region tabs to see the leader from the origin closest to your deployment." + - q: "Which Metis RPCs work without an API key?" + a: "4 endpoints sustain continuous keyless probing: Metis (https://andromeda.metis.io/?owner=1088), dRPC (https://metis.drpc.org), PublicNode (https://metis-rpc.publicnode.com), and Thirdweb (https://1088.rpc.thirdweb.com). Every listed endpoint was live-verified with a `eth_getBlockByNumber` POST returning a parsable response before inclusion." + - q: "Does the fastest Metis RPC change by region?" + a: "Often. Public infra concentrates in specific regions; a gateway that wins from Amsterdam can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number to a single origin; pick the one closest to where your requests originate." + - q: "How is Metis RPC latency measured here, technically?" + a: "One identical `eth_getBlockByNumber(\"latest\", false)` POST every 60 seconds against each provider from each of 3 regions, using the same plain HTTP client the rest of the RPC cluster uses. 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." + +source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities + +prometheus: + window: 24h + freshness_metric: rpc_latency_milliseconds + +rank_matrix_query: avg by (provider, region) (ocb:rpc_latency_milliseconds:p50_24h{chain="metis"}) + +dimensions: + region: + - { value: all, label: All regions } + - { value: us-east, label: US-East } + - { value: eu-west, label: EU-West } + - { value: sgp, label: Singapore } + +providers: + - slug: metis-official + name: Metis + tag: Metis Foundation Andromeda mainnet public endpoint + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Metis's no-key Metis RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="metis-official", chain="metis"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="metis-official", chain="metis"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="metis-official", chain="metis"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="metis-official", chain="metis"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="metis-official", chain="metis"}) / sum(ocb:rpc_call:rate_24h{provider="metis-official", chain="metis"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="metis-official", chain="metis"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="metis-official", chain="metis"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="metis-official", chain="metis", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="metis-official", chain="metis", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="metis-official", chain="metis", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="metis-official", chain="metis", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="metis-official", chain="metis", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="metis-official", chain="metis", region="sgp"}[1h]) + + - slug: drpc + name: dRPC + tag: dRPC public gateway routing to Metis node pool + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to dRPC's no-key Metis RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="metis"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="drpc", chain="metis"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="drpc", chain="metis"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="drpc", chain="metis"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="drpc", chain="metis"}) / sum(ocb:rpc_call:rate_24h{provider="drpc", chain="metis"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="drpc", chain="metis"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="metis"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="metis", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="metis", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="metis", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="metis", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="metis", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="metis", region="sgp"}[1h]) + + - slug: publicnode + name: PublicNode + tag: PublicNode community-funded public Metis RPC + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to PublicNode's no-key Metis RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="publicnode", chain="metis"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="publicnode", chain="metis"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="publicnode", chain="metis"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="publicnode", chain="metis"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="publicnode", chain="metis"}) / sum(ocb:rpc_call:rate_24h{provider="publicnode", chain="metis"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="publicnode", chain="metis"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="publicnode", chain="metis"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="publicnode", chain="metis", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="publicnode", chain="metis", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="publicnode", chain="metis", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="publicnode", chain="metis", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="publicnode", chain="metis", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="publicnode", chain="metis", region="sgp"}[1h]) + + - slug: thirdweb + name: Thirdweb + tag: Thirdweb public RPC gateway for Metis + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Thirdweb's no-key Metis RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="metis"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="thirdweb", chain="metis"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="thirdweb", chain="metis"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="thirdweb", chain="metis"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="thirdweb", chain="metis"}) / sum(ocb:rpc_call:rate_24h{provider="thirdweb", chain="metis"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="thirdweb", chain="metis"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="metis"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="metis", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="metis", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="metis", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="metis", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="metis", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="metis", region="sgp"}[1h]) diff --git a/benchmarks/moonriver-rpc.yml b/benchmarks/moonriver-rpc.yml new file mode 100644 index 00000000..a8f62b3e --- /dev/null +++ b/benchmarks/moonriver-rpc.yml @@ -0,0 +1,159 @@ +# OpenChainBench. Bench № 135 + +slug: moonriver-rpc +number: "135" +title: Fastest free Moonriver RPC, live no-key EVM endpoint latency +seo_title: "Fastest free Moonriver RPC 2026" +seo_description: "{{best_name}} leads free Moonriver RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h). 4 no-key providers measured every 60s from 3 regions." +subtitle: HTTP round-trip latency for the `eth_getBlockByNumber(\"latest\", false)` method against every free, no-key public Moonriver EVM endpoint, audited every 60 seconds from 3 regions. + +category: RPCs +status: live +metric: RPC latency +unit: ms +higher_is_better: false + +seo_intro: | + Moonriver is the Kusama canary network for Moonbeam (chain 1285), a full EVM parachain with Ethereum-compatible tooling, MOVR gas token, ~12 s block time under Nominated Proof of Stake, serving as the staging ground for Moonbeam features before they reach Polkadot. The 2026-08-03 audit confirms 4 clean keyless providers: the Moonbeam Foundation official endpoint (rpc.api.moonriver.moonbeam.network), PublicNode (moonriver-rpc.publicnode.com), OnFinality (moonriver.api.onfinality.io/public), and UnitedBloc (moonriver.unitedbloc.com). Excluded: Ankr (requires key for Moonriver), dRPC (no moonriver route). + +abstract: | + Per-chain member of the RPC latency cluster, extended to Moonriver. + We measure the round-trip latency of a single, identical JSON-RPC call + (`eth_getBlockByNumber(\"latest\", false)`) against every no-key public + Moonriver endpoint that sustains continuous probing, 4 providers + measured, every 60 seconds, from us-east, eu-west and Singapore. The + harness classifies every response (ok / http_err / jsonrpc_err / stale + / timeout) with a Moonriver-scaled staleness gap (20 blocks + at Moonriver's ~12 s block time). The cross-chain view + lives on the parent `rpc-capabilities` benchmark; this page is the + Moonriver-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." + - "Payload: `{\"jsonrpc\":\"2.0\",\"id\":,\"method\":\"eth_getBlockByNumber\",\"params\":[\"latest\", false]}`. Plain HTTP POST, identical for every endpoint, no API key in any request. Non-cacheable by design: the rotating id defeats edge caches that would answer a bare head query without touching a node." + - "Latency: client-side round-trip delta in milliseconds, exposed as both a gauge and a histogram (buckets 50 ms → 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 with a parsable hex block number), `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](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, cadence and exclusion rules apply on every chain." + - "Chain scope: every query on this page is pinned to `chain=\"moonriver\"`. Provider coverage: 4 no-key endpoints." + +findings: + - "{{best_name}} currently leads free Moonriver RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 4 measured providers." + +faq: + - q: "What is the fastest free Moonriver RPC right now?" + a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` 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. Use the region tabs to see the leader from the origin closest to your deployment." + - q: "Which Moonriver RPCs work without an API key?" + a: "4 endpoints sustain continuous keyless probing: Moonbeam Foundation official (rpc.api.moonriver.moonbeam.network), PublicNode (moonriver-rpc.publicnode.com), OnFinality (moonriver.api.onfinality.io/public), and UnitedBloc (moonriver.unitedbloc.com). Every listed endpoint was live-verified with a `eth_getBlockByNumber` POST returning a parsable response before inclusion." + - q: "Does the fastest Moonriver RPC change by region?" + a: "Often. Public infra concentrates in specific regions; a gateway that wins from Amsterdam can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number to a single origin; pick the one closest to where your requests originate." + - q: "How is Moonriver RPC latency measured here, technically?" + a: "One identical `eth_getBlockByNumber(\"latest\", false)` POST every 60 seconds against each provider from each of 3 regions, using the same plain HTTP client the rest of the RPC cluster uses. 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." + +source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities + +prometheus: + window: 24h + freshness_metric: rpc_latency_milliseconds + +rank_matrix_query: avg by (provider, region) (ocb:rpc_latency_milliseconds:p50_24h{chain="moonriver"}) + +dimensions: + region: + - { value: all, label: All regions } + - { value: us-east, label: US-East } + - { value: eu-west, label: EU-West } + - { value: sgp, label: Singapore } + +providers: + - slug: moonriver-official + name: Moonbeam Foundation + tag: Moonbeam Foundation official public RPC for Moonriver + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Moonbeam Foundation's no-key moonriver RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="moonriver-official", chain="moonriver"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="moonriver-official", chain="moonriver"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="moonriver-official", chain="moonriver"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="moonriver-official", chain="moonriver"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="moonriver-official", chain="moonriver"}) / sum(ocb:rpc_call:rate_24h{provider="moonriver-official", chain="moonriver"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="moonriver-official", chain="moonriver"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="moonriver-official", chain="moonriver"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="moonriver-official", chain="moonriver", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="moonriver-official", chain="moonriver", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="moonriver-official", chain="moonriver", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="moonriver-official", chain="moonriver", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="moonriver-official", chain="moonriver", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="moonriver-official", chain="moonriver", region="sgp"}[1h]) + + - slug: publicnode + name: PublicNode + tag: PublicNode community-funded public Moonriver RPC + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to PublicNode's no-key moonriver RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="publicnode", chain="moonriver"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="publicnode", chain="moonriver"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="publicnode", chain="moonriver"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="publicnode", chain="moonriver"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="publicnode", chain="moonriver"}) / sum(ocb:rpc_call:rate_24h{provider="publicnode", chain="moonriver"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="publicnode", chain="moonriver"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="publicnode", chain="moonriver"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="publicnode", chain="moonriver", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="publicnode", chain="moonriver", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="publicnode", chain="moonriver", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="publicnode", chain="moonriver", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="publicnode", chain="moonriver", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="publicnode", chain="moonriver", region="sgp"}[1h]) + + - slug: onfinality + name: OnFinality + tag: OnFinality shared node service public endpoint for Moonriver + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to OnFinality's no-key moonriver RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="onfinality", chain="moonriver"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="onfinality", chain="moonriver"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="onfinality", chain="moonriver"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="onfinality", chain="moonriver"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="onfinality", chain="moonriver"}) / sum(ocb:rpc_call:rate_24h{provider="onfinality", chain="moonriver"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="onfinality", chain="moonriver"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="onfinality", chain="moonriver"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="onfinality", chain="moonriver", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="onfinality", chain="moonriver", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="onfinality", chain="moonriver", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="onfinality", chain="moonriver", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="onfinality", chain="moonriver", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="onfinality", chain="moonriver", region="sgp"}[1h]) + + - slug: unitedbloc + name: UnitedBloc + tag: UnitedBloc community node operator public RPC for Moonriver + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to UnitedBloc's no-key moonriver RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="unitedbloc", chain="moonriver"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="unitedbloc", chain="moonriver"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="unitedbloc", chain="moonriver"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="unitedbloc", chain="moonriver"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="unitedbloc", chain="moonriver"}) / sum(ocb:rpc_call:rate_24h{provider="unitedbloc", chain="moonriver"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="unitedbloc", chain="moonriver"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="unitedbloc", chain="moonriver"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="unitedbloc", chain="moonriver", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="unitedbloc", chain="moonriver", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="unitedbloc", chain="moonriver", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="unitedbloc", chain="moonriver", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="unitedbloc", chain="moonriver", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="unitedbloc", chain="moonriver", region="sgp"}[1h]) diff --git a/benchmarks/morph-rpc.yml b/benchmarks/morph-rpc.yml new file mode 100644 index 00000000..92b4b41b --- /dev/null +++ b/benchmarks/morph-rpc.yml @@ -0,0 +1,136 @@ +# OpenChainBench. Bench № 134 + +slug: morph-rpc +number: "134" +title: Fastest free Morph RPC, live no-key EVM endpoint latency +seo_title: "Fastest free Morph RPC 2026" +seo_description: "{{best_name}} leads free Morph RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h). 3 no-key providers measured every 60s from 3 regions." +subtitle: HTTP round-trip latency for the `eth_getBlockByNumber(\"latest\", false)` method against every free, no-key public Morph EVM endpoint, audited every 60 seconds from 3 regions. + +category: RPCs +status: live +metric: RPC latency +unit: ms +higher_is_better: false + +seo_intro: | + Morph is a ZK Rollup L2 (chain 2818) combining optimistic execution with ZK proof settlement on Ethereum, ETH gas token, ~2 s block cadence, Decentralized Sequencer Network for censorship resistance. Mainnet launched late 2024. The 2026-08-03 audit confirms 3 clean keyless providers: the Morph official endpoint (rpc.morphl2.io), dRPC (morph.drpc.org), and Thirdweb (2818.rpc.thirdweb.com). Excluded: Ankr (no morph route), Alchemy (key required), QuickNode (key required for public access). + +abstract: | + Per-chain member of the RPC latency cluster, extended to Morph. + We measure the round-trip latency of a single, identical JSON-RPC call + (`eth_getBlockByNumber(\"latest\", false)`) against every no-key public + Morph endpoint that sustains continuous probing, 3 providers + measured, every 60 seconds, from us-east, eu-west and Singapore. The + harness classifies every response (ok / http_err / jsonrpc_err / stale + / timeout) with a Morph-scaled staleness gap (20 blocks + at Morph's ~2 s block time). The cross-chain view + lives on the parent `rpc-capabilities` benchmark; this page is the + Morph-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." + - "Payload: `{\"jsonrpc\":\"2.0\",\"id\":,\"method\":\"eth_getBlockByNumber\",\"params\":[\"latest\", false]}`. Plain HTTP POST, identical for every endpoint, no API key in any request. Non-cacheable by design: the rotating id defeats edge caches that would answer a bare head query without touching a node." + - "Latency: client-side round-trip delta in milliseconds, exposed as both a gauge and a histogram (buckets 50 ms → 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 with a parsable hex block number), `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](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, cadence and exclusion rules apply on every chain." + - "Chain scope: every query on this page is pinned to `chain=\"morph\"`. Provider coverage: 3 no-key endpoints." + +findings: + - "{{best_name}} currently leads free Morph RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 3 measured providers." + +faq: + - q: "What is the fastest free Morph RPC right now?" + a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` 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. Use the region tabs to see the leader from the origin closest to your deployment." + - q: "Which Morph RPCs work without an API key?" + a: "3 endpoints sustain continuous keyless probing: Morph official (rpc.morphl2.io), dRPC (morph.drpc.org), and Thirdweb (2818.rpc.thirdweb.com). Every listed endpoint was live-verified with a `eth_getBlockByNumber` POST returning a parsable response before inclusion." + - q: "Does the fastest Morph RPC change by region?" + a: "Often. Public infra concentrates in specific regions; a gateway that wins from Amsterdam can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number to a single origin; pick the one closest to where your requests originate." + - q: "How is Morph RPC latency measured here, technically?" + a: "One identical `eth_getBlockByNumber(\"latest\", false)` POST every 60 seconds against each provider from each of 3 regions, using the same plain HTTP client the rest of the RPC cluster uses. 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." + +source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities + +prometheus: + window: 24h + freshness_metric: rpc_latency_milliseconds + +rank_matrix_query: avg by (provider, region) (ocb:rpc_latency_milliseconds:p50_24h{chain="morph"}) + +dimensions: + region: + - { value: all, label: All regions } + - { value: us-east, label: US-East } + - { value: eu-west, label: EU-West } + - { value: sgp, label: Singapore } + +providers: + - slug: morph-official + name: Morph + tag: Morph foundation official public RPC endpoint + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Morph's no-key morph RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="morph-official", chain="morph"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="morph-official", chain="morph"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="morph-official", chain="morph"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="morph-official", chain="morph"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="morph-official", chain="morph"}) / sum(ocb:rpc_call:rate_24h{provider="morph-official", chain="morph"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="morph-official", chain="morph"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="morph-official", chain="morph"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="morph-official", chain="morph", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="morph-official", chain="morph", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="morph-official", chain="morph", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="morph-official", chain="morph", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="morph-official", chain="morph", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="morph-official", chain="morph", region="sgp"}[1h]) + + - slug: drpc + name: dRPC + tag: dRPC public gateway routing to Morph node pool + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to dRPC's no-key morph RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="morph"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="drpc", chain="morph"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="drpc", chain="morph"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="drpc", chain="morph"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="drpc", chain="morph"}) / sum(ocb:rpc_call:rate_24h{provider="drpc", chain="morph"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="drpc", chain="morph"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="morph"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="morph", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="morph", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="morph", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="morph", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="morph", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="morph", region="sgp"}[1h]) + + - slug: thirdweb + name: Thirdweb + tag: Thirdweb public RPC gateway for Morph + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Thirdweb's no-key morph RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="morph"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="thirdweb", chain="morph"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="thirdweb", chain="morph"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="thirdweb", chain="morph"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="thirdweb", chain="morph"}) / sum(ocb:rpc_call:rate_24h{provider="thirdweb", chain="morph"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="thirdweb", chain="morph"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="morph"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="morph", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="morph", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="morph", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="morph", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="morph", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="morph", region="sgp"}[1h]) diff --git a/benchmarks/rootstock-rpc.yml b/benchmarks/rootstock-rpc.yml new file mode 100644 index 00000000..adca4649 --- /dev/null +++ b/benchmarks/rootstock-rpc.yml @@ -0,0 +1,142 @@ +# OpenChainBench. Bench № 130 + +slug: rootstock-rpc +number: "130" +title: Fastest free Rootstock RPC, live no-key EVM endpoint latency +seo_title: "Fastest free Rootstock RPC 2026" +seo_description: "{{best_name}} leads free Rootstock RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h). 3 no-key providers measured every 60s from 3 regions." +subtitle: HTTP round-trip latency for the `eth_getBlockByNumber("latest", false)` method against every free, no-key public Rootstock EVM endpoint, audited every 60 seconds from 3 regions. + +category: RPCs +status: live +metric: RPC latency +unit: ms +higher_is_better: false + +seo_intro: | + Rootstock (chain 30) is the longest-running Bitcoin EVM, a merge-mined sidechain secured by + 54%+ of Bitcoin hashrate under REMASC consensus, with a 30-second block cadence and RBTC as + its native gas token — a 1:1 BTC peg bridged through the Powpeg. The chain has been live + since 2018, predating most EVM L2s. A 2026-08-03 audit confirms 3 clean keyless providers: + the Rootstock official endpoint (public-node.rsk.co), dRPC (rootstock.drpc.org), and + Thirdweb (30.rpc.thirdweb.com). Excluded providers: Blast API (shut down, redirects to + Alchemy), Ankr (no Rootstock route), MyEtherWallet node (rate-limited without key). + +abstract: | + Per-chain member of the RPC latency cluster, extended to Rootstock. + We measure the round-trip latency of a single, identical JSON-RPC call + (`eth_getBlockByNumber("latest", false)`) against every no-key public + Rootstock endpoint that sustains continuous probing, 3 providers + measured, every 60 seconds, from us-east, eu-west and Singapore. The + harness classifies every response (ok / http_err / jsonrpc_err / stale + / timeout) with a Rootstock-scaled staleness gap (20 blocks + at Rootstock's ~30 s block time). The cross-chain view + lives on the parent `rpc-capabilities` benchmark; this page is the + Rootstock-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." + - "Payload: `{\"jsonrpc\":\"2.0\",\"id\":,\"method\":\"eth_getBlockByNumber\",\"params\":[\"latest\", false]}`. Plain HTTP POST, identical for every endpoint, no API key in any request. Non-cacheable by design: the rotating id defeats edge caches that would answer a bare head query without touching a node." + - "Latency: client-side round-trip delta in milliseconds, exposed as both a gauge and a histogram (buckets 50 ms → 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 with a parsable hex block number), `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](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, cadence and exclusion rules apply on every chain." + - "Chain scope: every query on this page is pinned to `chain=\"rootstock\"`. Provider coverage: 3 no-key endpoints." + +findings: + - "{{best_name}} currently leads free Rootstock RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 3 measured providers." + +faq: + - q: "What is the fastest free Rootstock RPC right now?" + a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` 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. Use the region tabs to see the leader from the origin closest to your deployment." + - q: "Which Rootstock RPCs work without an API key?" + a: "3 endpoints sustain continuous keyless probing: Rootstock Foundation (https://public-node.rsk.co), dRPC (https://rootstock.drpc.org), and Thirdweb (https://30.rpc.thirdweb.com). Every listed endpoint was live-verified with a `eth_getBlockByNumber` POST returning a parsable response before inclusion." + - q: "Does the fastest Rootstock RPC change by region?" + a: "Often. Public infra concentrates in specific regions; a gateway that wins from Amsterdam can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number to a single origin; pick the one closest to where your requests originate." + - q: "How is Rootstock RPC latency measured here, technically?" + a: "One identical `eth_getBlockByNumber(\"latest\", false)` POST every 60 seconds against each provider from each of 3 regions, using the same plain HTTP client the rest of the RPC cluster uses. 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." + +source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities + +prometheus: + window: 24h + freshness_metric: rpc_latency_milliseconds + +rank_matrix_query: avg by (provider, region) (ocb:rpc_latency_milliseconds:p50_24h{chain="rootstock"}) + +dimensions: + region: + - { value: all, label: All regions } + - { value: us-east, label: US-East } + - { value: eu-west, label: EU-West } + - { value: sgp, label: Singapore } + +providers: + - slug: rootstock-official + name: Rootstock Foundation + tag: RSKSwap public node operated by the Rootstock Foundation + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Rootstock Foundation's no-key Rootstock RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="rootstock-official", chain="rootstock"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="rootstock-official", chain="rootstock"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="rootstock-official", chain="rootstock"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="rootstock-official", chain="rootstock"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="rootstock-official", chain="rootstock"}) / sum(ocb:rpc_call:rate_24h{provider="rootstock-official", chain="rootstock"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="rootstock-official", chain="rootstock"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="rootstock-official", chain="rootstock"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="rootstock-official", chain="rootstock", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="rootstock-official", chain="rootstock", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="rootstock-official", chain="rootstock", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="rootstock-official", chain="rootstock", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="rootstock-official", chain="rootstock", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="rootstock-official", chain="rootstock", region="sgp"}[1h]) + + - slug: drpc + name: dRPC + tag: dRPC public gateway routing to Rootstock node pool + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to dRPC's no-key Rootstock RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="rootstock"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="drpc", chain="rootstock"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="drpc", chain="rootstock"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="drpc", chain="rootstock"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="drpc", chain="rootstock"}) / sum(ocb:rpc_call:rate_24h{provider="drpc", chain="rootstock"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="drpc", chain="rootstock"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="rootstock"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="rootstock", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="rootstock", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="rootstock", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="rootstock", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="rootstock", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="rootstock", region="sgp"}[1h]) + + - slug: thirdweb + name: Thirdweb + tag: Thirdweb public RPC gateway for Rootstock + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Thirdweb's no-key Rootstock RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="rootstock"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="thirdweb", chain="rootstock"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="thirdweb", chain="rootstock"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="thirdweb", chain="rootstock"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="thirdweb", chain="rootstock"}) / sum(ocb:rpc_call:rate_24h{provider="thirdweb", chain="rootstock"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="thirdweb", chain="rootstock"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="rootstock"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="rootstock", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="rootstock", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="rootstock", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="rootstock", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="rootstock", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="rootstock", region="sgp"}[1h]) diff --git a/benchmarks/story-rpc.yml b/benchmarks/story-rpc.yml new file mode 100644 index 00000000..03b4af60 --- /dev/null +++ b/benchmarks/story-rpc.yml @@ -0,0 +1,136 @@ +# OpenChainBench. Bench № 133 + +slug: story-rpc +number: "133" +title: Fastest free Story RPC, live no-key EVM endpoint latency +seo_title: "Fastest free Story RPC 2026" +seo_description: "{{best_name}} leads free Story RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h). 3 no-key providers measured every 60s from 3 regions." +subtitle: HTTP round-trip latency for the `eth_getBlockByNumber("latest", false)` method against every free, no-key public Story EVM endpoint, audited every 60 seconds from 3 regions. + +category: RPCs +status: live +metric: RPC latency +unit: ms +higher_is_better: false + +seo_intro: | + Story is a purpose-built L1 blockchain (chain 1514) for on-chain intellectual property, combining an EVM execution layer with CometBFT consensus, IP asset primitives (PIL licensing, royalty modules), and native IP NFT support. Backed by a16z, Polychain Capital, and Samsung NEXT, Story mainnet launched February 2025. The 2026-08-03 audit confirms 3 clean keyless providers: the Story Foundation official endpoint (mainnet.storyrpc.io), Ankr (rpc.ankr.com/story_mainnet), and Stakely (story-json-rpc.stakely.io). Excluded: Alchemy (key required), Infura (no story route), QuickNode (key required). + +abstract: | + Per-chain member of the RPC latency cluster, extended to Story. + We measure the round-trip latency of a single, identical JSON-RPC call + (`eth_getBlockByNumber("latest", false)`) against every no-key public + Story endpoint that sustains continuous probing, 3 providers + measured, every 60 seconds, from us-east, eu-west and Singapore. The + harness classifies every response (ok / http_err / jsonrpc_err / stale + / timeout) with a Story-scaled staleness gap (20 blocks + at Story's ~2 s block time). The cross-chain view + lives on the parent `rpc-capabilities` benchmark; this page is the + Story-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." + - "Payload: `{\"jsonrpc\":\"2.0\",\"id\":,\"method\":\"eth_getBlockByNumber\",\"params\":[\"latest\", false]}`. Plain HTTP POST, identical for every endpoint, no API key in any request. Non-cacheable by design: the rotating id defeats edge caches that would answer a bare head query without touching a node." + - "Latency: client-side round-trip delta in milliseconds, exposed as both a gauge and a histogram (buckets 50 ms → 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 with a parsable hex block number), `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](https://openchainbench.com/benchmarks/rpc-capabilities) benchmark; the identical harness, cadence and exclusion rules apply on every chain." + - "Chain scope: every query on this page is pinned to `chain=\"story\"`. Provider coverage: 3 no-key endpoints." + +findings: + - "{{best_name}} currently leads free Story RPC at {{best_p50}} (`eth_getBlockByNumber` p50, 24h) across 3 measured providers." + +faq: + - q: "What is the fastest free Story RPC right now?" + a: "{{best_name}} currently leads at {{best_p50}} (`eth_getBlockByNumber(\"latest\", false)` 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. Use the region tabs to see the leader from the origin closest to your deployment." + - q: "Which Story RPCs work without an API key?" + a: "3 endpoints sustain continuous keyless probing: Story Foundation (https://mainnet.storyrpc.io), Ankr (https://rpc.ankr.com/story_mainnet), and Stakely (https://story-json-rpc.stakely.io). Every listed endpoint was live-verified with a `eth_getBlockByNumber` POST returning a parsable response before inclusion." + - q: "Does the fastest Story RPC change by region?" + a: "Often. Public infra concentrates in specific regions; a gateway that wins from Amsterdam can lose from Singapore by multiples. The region tabs at the top of the page re-scope every number to a single origin; pick the one closest to where your requests originate." + - q: "How is Story RPC latency measured here, technically?" + a: "One identical `eth_getBlockByNumber(\"latest\", false)` POST every 60 seconds against each provider from each of 3 regions, using the same plain HTTP client the rest of the RPC cluster uses. 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." + +source: https://github.com/ChainBench/OpenChainBench/tree/main/harnesses/rpc-capabilities + +prometheus: + window: 24h + freshness_metric: rpc_latency_milliseconds + +rank_matrix_query: avg by (provider, region) (ocb:rpc_latency_milliseconds:p50_24h{chain="story"}) + +dimensions: + region: + - { value: all, label: All regions } + - { value: us-east, label: US-East } + - { value: eu-west, label: EU-West } + - { value: sgp, label: Singapore } + +providers: + - slug: story-official + name: Story Foundation + tag: Story Protocol Foundation official mainnet RPC + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Story Foundation's no-key Story RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="story-official", chain="story"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="story-official", chain="story"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="story-official", chain="story"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="story-official", chain="story"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="story-official", chain="story"}) / sum(ocb:rpc_call:rate_24h{provider="story-official", chain="story"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="story-official", chain="story"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="story-official", chain="story"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="story-official", chain="story", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="story-official", chain="story", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="story-official", chain="story", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="story-official", chain="story", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="story-official", chain="story", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="story-official", chain="story", region="sgp"}[1h]) + + - slug: ankr + name: Ankr + tag: Ankr decentralized node provider for Story mainnet + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Ankr's no-key Story RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ankr", chain="story"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="ankr", chain="story"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="ankr", chain="story"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="ankr", chain="story"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="ankr", chain="story"}) / sum(ocb:rpc_call:rate_24h{provider="ankr", chain="story"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="ankr", chain="story"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="ankr", chain="story"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ankr", chain="story", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="ankr", chain="story", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ankr", chain="story", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="ankr", chain="story", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ankr", chain="story", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="ankr", chain="story", region="sgp"}[1h]) + + - slug: stakely + name: Stakely + tag: Stakely validator-operated public RPC for Story + formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber(\"latest\", false)` POST sent every 60s from 3 regions (us-east + eu-west + sgp) to Stakely's no-key Story RPC endpoint." + queries: + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="stakely", chain="story"}) + p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="stakely", chain="story"}) + p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="stakely", chain="story"}) + mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="stakely", chain="story"}) + success: sum(ocb:rpc_call:ok_rate_24h{provider="stakely", chain="story"}) / sum(ocb:rpc_call:rate_24h{provider="stakely", chain="story"}) + sample_size: sum(ocb:rpc_call:increase_24h{provider="stakely", chain="story"}) + series: avg(avg_over_time(rpc_latency_milliseconds{provider="stakely", chain="story"}[1h])) + regions: + - region: us-east + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="stakely", chain="story", region="us-east"}) + series: avg_over_time(rpc_latency_milliseconds{provider="stakely", chain="story", region="us-east"}[1h]) + - region: eu-west + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="stakely", chain="story", region="eu-west"}) + series: avg_over_time(rpc_latency_milliseconds{provider="stakely", chain="story", region="eu-west"}[1h]) + - region: ap-southeast + p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="stakely", chain="story", region="sgp"}) + series: avg_over_time(rpc_latency_milliseconds{provider="stakely", chain="story", region="sgp"}[1h]) diff --git a/harnesses/rpc-capabilities/cmd/script/config.go b/harnesses/rpc-capabilities/cmd/script/config.go index 662c0256..409d9e32 100644 --- a/harnesses/rpc-capabilities/cmd/script/config.go +++ b/harnesses/rpc-capabilities/cmd/script/config.go @@ -788,6 +788,113 @@ func chains() []Chain { {Slug: "thirdweb", Name: "Thirdweb", URL: envDefault("RPC_URL_CYBER_THIRDWEB", "https://7560.rpc.thirdweb.com")}, }, }, + // 2026-08-03 audit. Rootstock EVM sidechain (chain 30). 3 clean keyless + // providers: rootstock-official (public-node.rsk.co), drpc + // (rootstock.drpc.org), thirdweb (30.rpc.thirdweb.com). + // Excluded: Blast API (shut down), Alchemy (key required). + { + Slug: "rootstock", + Name: "Rootstock", + Providers: []Provider{ + {Slug: "rootstock-official", Name: "Rootstock Foundation", URL: envDefault("RPC_URL_ROOTSTOCK_OFFICIAL", "https://public-node.rsk.co")}, + {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_ROOTSTOCK_DRPC", "https://rootstock.drpc.org")}, + {Slug: "thirdweb", Name: "Thirdweb", URL: envDefault("RPC_URL_ROOTSTOCK_THIRDWEB", "https://30.rpc.thirdweb.com")}, + }, + }, + // 2026-08-03 audit. Metis Andromeda optimistic rollup (chain 1088). 4 clean + // keyless providers: metis-official (andromeda.metis.io), drpc + // (metis.drpc.org), publicnode (metis-rpc.publicnode.com), thirdweb + // (1088.rpc.thirdweb.com). Excluded: Ankr (key required for metis). + { + Slug: "metis", + Name: "Metis", + Providers: []Provider{ + {Slug: "metis-official", Name: "Metis", URL: envDefault("RPC_URL_METIS_OFFICIAL", "https://andromeda.metis.io/?owner=1088")}, + {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_METIS_DRPC", "https://metis.drpc.org")}, + {Slug: "publicnode", Name: "PublicNode", URL: envDefault("RPC_URL_METIS_PUBLICNODE", "https://metis-rpc.publicnode.com")}, + {Slug: "thirdweb", Name: "Thirdweb", URL: envDefault("RPC_URL_METIS_THIRDWEB", "https://1088.rpc.thirdweb.com")}, + }, + }, + // 2026-08-03 audit. Manta Pacific OP Stack L2 on Celestia DA (chain 169). + // 3 clean keyless providers: manta-official (pacific-rpc.manta.network/http), + // drpc (manta-pacific.drpc.org), thirdweb (169.rpc.thirdweb.com). + // Excluded: Ankr (no manta pacific route), Alchemy (key required). + { + Slug: "manta", + Name: "Manta Pacific", + Providers: []Provider{ + {Slug: "manta-official", Name: "Manta Network", URL: envDefault("RPC_URL_MANTA_OFFICIAL", "https://pacific-rpc.manta.network/http")}, + {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_MANTA_DRPC", "https://manta-pacific.drpc.org")}, + {Slug: "thirdweb", Name: "Thirdweb", URL: envDefault("RPC_URL_MANTA_THIRDWEB", "https://169.rpc.thirdweb.com")}, + }, + }, + // 2026-08-03 audit. Story Protocol IP L1 (chain 1514). 3 clean keyless + // providers: story-official (mainnet.storyrpc.io), ankr + // (rpc.ankr.com/story_mainnet), stakely (story-json-rpc.stakely.io). + // Excluded: Alchemy (key required), Infura (no story route). + { + Slug: "story", + Name: "Story", + Providers: []Provider{ + {Slug: "story-official", Name: "Story Foundation", URL: envDefault("RPC_URL_STORY_OFFICIAL", "https://mainnet.storyrpc.io")}, + {Slug: "ankr", Name: "Ankr", URL: envDefault("RPC_URL_STORY_ANKR", "https://rpc.ankr.com/story_mainnet")}, + {Slug: "stakely", Name: "Stakely", URL: envDefault("RPC_URL_STORY_STAKELY", "https://story-json-rpc.stakely.io")}, + }, + }, + // 2026-08-03 audit. Morph ZK Rollup L2 (chain 2818). 3 clean keyless + // providers: morph-official (rpc.morphl2.io), drpc (morph.drpc.org), + // thirdweb (2818.rpc.thirdweb.com). Excluded: Ankr (no morph route). + { + Slug: "morph", + Name: "Morph", + Providers: []Provider{ + {Slug: "morph-official", Name: "Morph", URL: envDefault("RPC_URL_MORPH_OFFICIAL", "https://rpc.morphl2.io")}, + {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_MORPH_DRPC", "https://morph.drpc.org")}, + {Slug: "thirdweb", Name: "Thirdweb", URL: envDefault("RPC_URL_MORPH_THIRDWEB", "https://2818.rpc.thirdweb.com")}, + }, + }, + // 2026-08-03 audit. Moonriver Kusama parachain (chain 1285). 4 clean + // keyless providers: moonriver-official (rpc.api.moonriver.moonbeam.network), + // publicnode (moonriver-rpc.publicnode.com), onfinality + // (moonriver.api.onfinality.io/public), unitedbloc (moonriver.unitedbloc.com). + // Excluded: Ankr (key required for moonriver), drpc (no moonriver route). + { + Slug: "moonriver", + Name: "Moonriver", + Providers: []Provider{ + {Slug: "moonriver-official", Name: "Moonbeam Foundation", URL: envDefault("RPC_URL_MOONRIVER_OFFICIAL", "https://rpc.api.moonriver.moonbeam.network")}, + {Slug: "publicnode", Name: "PublicNode", URL: envDefault("RPC_URL_MOONRIVER_PUBLICNODE", "https://moonriver-rpc.publicnode.com")}, + {Slug: "onfinality", Name: "OnFinality", URL: envDefault("RPC_URL_MOONRIVER_ONFINALITY", "https://moonriver.api.onfinality.io/public")}, + {Slug: "unitedbloc", Name: "UnitedBloc", URL: envDefault("RPC_URL_MOONRIVER_UNITEDBLOC", "https://moonriver.unitedbloc.com")}, + }, + }, + // 2026-08-03 audit. Hemi BTC+ETH hybrid OP Stack L2 (chain 43111). 3 clean + // keyless providers: hemi-official (rpc.hemi.network/rpc), drpc + // (hemi.drpc.org), thirdweb (43111.rpc.thirdweb.com). + // Excluded: Ankr (no hemi route), Alchemy (key required). + { + Slug: "hemi", + Name: "Hemi", + Providers: []Provider{ + {Slug: "hemi-official", Name: "Hemi Labs", URL: envDefault("RPC_URL_HEMI_OFFICIAL", "https://rpc.hemi.network/rpc")}, + {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_HEMI_DRPC", "https://hemi.drpc.org")}, + {Slug: "thirdweb", Name: "Thirdweb", URL: envDefault("RPC_URL_HEMI_THIRDWEB", "https://43111.rpc.thirdweb.com")}, + }, + }, + // 2026-08-03 audit. BOB BTC+ETH hybrid OP Stack L2 (chain 60808). 4 clean + // keyless providers: bob-official (rpc.gobob.xyz), tenderly + // (bob.gateway.tenderly.co), drpc (bob.drpc.org), thirdweb + // (60808.rpc.thirdweb.com). Excluded: Ankr (no bob route). + { + Slug: "bob", + Name: "BOB", + Providers: []Provider{ + {Slug: "bob-official", Name: "BOB", URL: envDefault("RPC_URL_BOB_OFFICIAL", "https://rpc.gobob.xyz")}, + {Slug: "tenderly", Name: "Tenderly", URL: envDefault("RPC_URL_BOB_TENDERLY", "https://bob.gateway.tenderly.co")}, + {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_BOB_DRPC", "https://bob.drpc.org")}, + {Slug: "thirdweb", Name: "Thirdweb", URL: envDefault("RPC_URL_BOB_THIRDWEB", "https://60808.rpc.thirdweb.com")}, + }, + }, } filter := strings.TrimSpace(os.Getenv("OCB_CHAINS")) diff --git a/public/logos/bob.png b/public/logos/bob.png new file mode 100644 index 0000000000000000000000000000000000000000..ac7c74d5f76e5e774f62340a895b7a9d57fd31c8 GIT binary patch literal 41649 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
    wnnmdNsXH-wto;PM#OHwNMZ} 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
    @&qbuqgn%68E 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 Dc1k%G literal 0 HcmV?d00001 diff --git a/public/logos/metis.png b/public/logos/metis.png new file mode 100644 index 0000000000000000000000000000000000000000..d630638fec8d08224ecb893b959c99e71b378f40 GIT binary patch literal 15560 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 )_f{#jO>n7Y)A(`0>vuQO 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 H=aukJnz8br literal 0 HcmV?d00001 diff --git a/public/logos/rootstock.jpg b/public/logos/rootstock.jpg new file mode 100644 index 0000000000000000000000000000000000000000..55199585940af4d3a9323ce4867a0ca2db73de5f GIT binary patch literal 39660 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 E4191;^Z)<= literal 0 HcmV?d00001 diff --git a/public/logos/story.png b/public/logos/story.png new file mode 100644 index 0000000000000000000000000000000000000000..23a04c57919f4613e1a621ea49adaf6d466f96a8 GIT binary patch literal 3449 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 hWtaV#7@Am_Ot*1 literal 0 HcmV?d00001 diff --git a/src/data/provider-registry.ts b/src/data/provider-registry.ts index 49e0d387..c21aafd4 100644 --- a/src/data/provider-registry.ts +++ b/src/data/provider-registry.ts @@ -1949,6 +1949,60 @@ export const PROVIDER_REGISTRY: Record = { "Cyber Network's official public RPC (rpc.cyber.co) for the OP Stack L2 dedicated to SocialFi and Web3 social graphs (chain 7560). Standard EVM JSON-RPC, keyless, rate-limited per IP.", twitter: "@cyberconnecthq", }, + "rootstock-official": { + url: "https://rootstock.io", + description: + "Rootstock Foundation's official public RPC (public-node.rsk.co) for the Bitcoin sidechain with EVM smart contracts and merge-mining security (chain 30). Standard EVM JSON-RPC, keyless, rate-limited per IP.", + twitter: "@rootstock_io", + }, + "metis-official": { + url: "https://metis.io", + description: + "Metis's official Andromeda public RPC (andromeda.metis.io) for the optimistic rollup with a decentralized sequencer network and METIS gas token (chain 1088). Standard EVM JSON-RPC, keyless, rate-limited per IP.", + twitter: "@MetisL2", + }, + "manta-official": { + url: "https://manta.network", + description: + "Manta Network's official Pacific public RPC (pacific-rpc.manta.network/http) for the OP Stack L2 built on Celestia DA, optimised for zero-knowledge applications (chain 169). Standard EVM JSON-RPC, keyless, rate-limited per IP.", + twitter: "@MantaNetwork", + }, + "story-official": { + url: "https://www.story.foundation", + description: + "Story Foundation's official public RPC (mainnet.storyrpc.io) for the purpose-built IP blockchain with EVM execution and CometBFT consensus, IP gas token (chain 1514). Standard EVM JSON-RPC, keyless, rate-limited per IP.", + twitter: "@StoryProtocol", + }, + "morph-official": { + url: "https://morphl2.io", + description: + "Morph's official public RPC (rpc.morphl2.io) for the ZK Rollup L2 combining optimistic execution with ZK proof settlement and a Decentralized Sequencer Network (chain 2818). Standard EVM JSON-RPC, keyless, rate-limited per IP.", + twitter: "@Morphl2", + }, + "moonriver-official": { + url: "https://moonbeam.network/moonriver", + description: + "Moonbeam Foundation's official public RPC (rpc.api.moonriver.moonbeam.network) for Moonriver, the Kusama parachain with full EVM compatibility and MOVR gas token (chain 1285). Standard EVM JSON-RPC, keyless, rate-limited per IP.", + twitter: "@MoonriverNW", + }, + "hemi-official": { + url: "https://hemi.xyz", + description: + "Hemi Labs' official public RPC (rpc.hemi.network/rpc) for the Bitcoin+Ethereum hybrid L2 with dual-VM architecture running both EVM and Bitcoin script (chain 43111). Standard EVM JSON-RPC, keyless, rate-limited per IP.", + twitter: "@hemi_xyz", + }, + "bob-official": { + url: "https://gobob.xyz", + description: + "BOB's official public RPC (rpc.gobob.xyz) for the Build on Bitcoin OP Stack hybrid L2 bridging BTC and ETH with native BTC collateral support (chain 60808). Standard EVM JSON-RPC, keyless, rate-limited per IP.", + twitter: "@gobob_xyz", + }, + unitedbloc: { + url: "https://unitedbloc.com", + description: + "UnitedBloc is a community validator and RPC node operator running public infrastructure for Moonbeam and Moonriver. Their keyless endpoint (moonriver.unitedbloc.com) supports Moonriver (chain 1285) without an API key.", + twitter: "@unitedbloc", + }, }; /** diff --git a/src/lib/chains.ts b/src/lib/chains.ts index 424fb9a2..805dfc5d 100644 --- a/src/lib/chains.ts +++ b/src/lib/chains.ts @@ -485,6 +485,70 @@ export const CHAINS: ChainEntry[] = [ description: "OP Stack L2 (chain 7560) operated by Cyber, a social-layer chain for SocialFi and Web3 social graphs, ETH gas token, ~2 s block cadence, blob calldata settlement on Ethereum.", }, + { + slug: "rootstock", + label: "Rootstock", + category: "L2", + nativeSymbol: "RBTC", + description: + "Bitcoin sidechain (chain 30) operated by the Rootstock Foundation, merge-mined with Bitcoin for 51% attack resistance, EVM-compatible smart contracts with BTC as native gas (RBTC), ~30 s block time.", + }, + { + slug: "metis", + label: "Metis", + category: "L2", + nativeSymbol: "METIS", + description: + "Optimistic rollup (chain 1088) with a decentralized sequencer network, METIS as both gas token and sequencer staking asset, ~2 s block cadence, settlement on Ethereum.", + }, + { + slug: "manta", + label: "Manta Pacific", + category: "L2", + nativeSymbol: "ETH", + description: + "OP Stack EVM L2 (chain 169) built on Celestia for data availability, optimised for zero-knowledge applications and DeFi, ETH gas token, ~2 s block cadence, settlement on Ethereum.", + }, + { + slug: "story", + label: "Story", + category: "L1", + nativeSymbol: "IP", + description: + "Purpose-built L1 (chain 1514) for on-chain intellectual property with EVM execution layer and CometBFT consensus, IP asset primitives (PIL licensing, royalty modules), IP gas token.", + }, + { + slug: "morph", + label: "Morph", + category: "L2", + nativeSymbol: "ETH", + description: + "ZK Rollup L2 (chain 2818) combining optimistic execution with ZK proof settlement on Ethereum, ETH gas token, ~2 s block cadence, Decentralized Sequencer Network for censorship resistance.", + }, + { + slug: "moonriver", + label: "Moonriver", + category: "L1", + nativeSymbol: "MOVR", + description: + "Kusama parachain (chain 1285) operated by the Moonbeam Foundation, full EVM compatibility with Ethereum tooling, MOVR gas token, ~12 s block time under Nominated Proof of Stake, canary network for Moonbeam.", + }, + { + slug: "hemi", + label: "Hemi", + category: "L2", + nativeSymbol: "ETH", + description: + "Bitcoin+Ethereum hybrid L2 (chain 43111) built on OP Stack with dual-VM architecture running both EVM and Bitcoin script, ETH gas token, ~2 s block cadence, designed to unify BTC and ETH liquidity.", + }, + { + slug: "bob", + label: "BOB", + category: "L2", + nativeSymbol: "ETH", + description: + "Build on Bitcoin — OP Stack hybrid L2 (chain 60808) bridging Bitcoin and Ethereum, enabling Bitcoin DeFi with EVM smart contracts and native BTC collateral, ETH gas token, ~2 s block cadence.", + }, ]; export const CHAIN_BY_SLUG = new Map(CHAINS.map((c) => [c.slug, c])); diff --git a/src/lib/logo-manifest.ts b/src/lib/logo-manifest.ts index b12ec338..180d7a25 100644 --- a/src/lib/logo-manifest.ts +++ b/src/lib/logo-manifest.ts @@ -68,6 +68,17 @@ const RAW: Record = { altlayer: "/logos/altlayer.webp", sentio: "/logos/sentio.png", + // RPC wave-3 chains (2026-08-03, benches 130-137) + rootstock: "/logos/rootstock.jpg", + metis: "/logos/metis.png", + manta: "/logos/manta.jpg", + story: "/logos/story.png", + morph: "/logos/morph.png", + moonriver: "/logos/moonriver.jpg", + hemi: "/logos/hemi.png", + bob: "/logos/bob.png", + unitedbloc: "/logos/unitedbloc.jpg", + // ─── Providers ─── mobula: "/logos/mobula.svg", codex: "/logos/codex.svg", @@ -494,6 +505,15 @@ const ALIASES: Record = { "apechain-official": "apechain", "lisk-official": "lisk", "cyber-official": "cyber", + // RPC wave-3 chains (2026-08-03, benches 130-137) + "rootstock-official": "rootstock", + "metis-official": "metis", + "manta-official": "manta", + "story-official": "story", + "morph-official": "morph", + "moonriver-official": "moonriver", + "hemi-official": "hemi", + "bob-official": "bob", };