From 8c2315c8111465df3d6229d33a46e7b7e09eb1cb Mon Sep 17 00:00:00 2001 From: Florent Tapponnier <160007691+Flotapponnier@users.noreply.github.com> Date: Fri, 7 Aug 2026 15:42:48 +0200 Subject: [PATCH 1/3] fix: remove dead providers (BlastAPI shutdown, Ankr key-gated, dRPC/1RPC not supported) --- benchmarks/chiliz-rpc.yml | 23 ------- benchmarks/etherlink-rpc.yml | 46 ------------- benchmarks/fantom-rpc.yml | 46 ------------- benchmarks/haqq-rpc.yml | 23 ------- benchmarks/kusama-rpc.yml | 69 ------------------- benchmarks/oraichain-rpc.yml | 23 ------- benchmarks/peaq-rpc.yml | 23 ------- benchmarks/songbird-rpc.yml | 23 ------- benchmarks/telos-rpc.yml | 23 ------- benchmarks/warden-rpc.yml | 23 ------- benchmarks/wemix-rpc.yml | 46 ------------- benchmarks/zetachain-rpc.yml | 23 ------- .../rpc-capabilities/cmd/script/config.go | 46 ++++--------- 13 files changed, 14 insertions(+), 423 deletions(-) diff --git a/benchmarks/chiliz-rpc.yml b/benchmarks/chiliz-rpc.yml index bf754b6a..05116b2f 100644 --- a/benchmarks/chiliz-rpc.yml +++ b/benchmarks/chiliz-rpc.yml @@ -130,26 +130,3 @@ providers: - region: ap-southeast p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="chiliz-official", chain="chiliz", region="sgp"}) series: avg_over_time(rpc_latency_milliseconds{provider="chiliz-official", chain="chiliz", region="sgp"}[1h]) - - - slug: drpc - name: dRPC - tag: dRPC public gateway for Chiliz Chain - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber` POST sent every 60s from 3 regions to dRPC's no-key Chiliz endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="chiliz"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="drpc", chain="chiliz"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="drpc", chain="chiliz"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="drpc", chain="chiliz"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="drpc", chain="chiliz"}) / sum(ocb:rpc_call:rate_24h{provider="drpc", chain="chiliz"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="drpc", chain="chiliz"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="chiliz"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="chiliz", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="chiliz", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="chiliz", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="chiliz", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="chiliz", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="chiliz", region="sgp"}[1h]) diff --git a/benchmarks/etherlink-rpc.yml b/benchmarks/etherlink-rpc.yml index 0edd3e16..a8e0bdb3 100644 --- a/benchmarks/etherlink-rpc.yml +++ b/benchmarks/etherlink-rpc.yml @@ -107,49 +107,3 @@ providers: - region: ap-southeast p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="etherlink", region="sgp"}) series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="etherlink", region="sgp"}[1h]) - - - slug: ankr - name: Ankr - tag: Ankr decentralized node provider for Etherlink - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber` POST sent every 60s from 3 regions to Ankr's no-key Etherlink endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ankr", chain="etherlink"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="ankr", chain="etherlink"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="ankr", chain="etherlink"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="ankr", chain="etherlink"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="ankr", chain="etherlink"}) / sum(ocb:rpc_call:rate_24h{provider="ankr", chain="etherlink"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="ankr", chain="etherlink"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="ankr", chain="etherlink"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ankr", chain="etherlink", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="ankr", chain="etherlink", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ankr", chain="etherlink", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="ankr", chain="etherlink", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ankr", chain="etherlink", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="ankr", chain="etherlink", region="sgp"}[1h]) - - - slug: blastapi - name: Blast API - tag: Blast API public gateway for Etherlink mainnet - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber` POST sent every 60s from 3 regions to Blast API's no-key Etherlink endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="etherlink"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="blastapi", chain="etherlink"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="blastapi", chain="etherlink"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="blastapi", chain="etherlink"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="blastapi", chain="etherlink"}) / sum(ocb:rpc_call:rate_24h{provider="blastapi", chain="etherlink"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="blastapi", chain="etherlink"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="etherlink"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="etherlink", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="etherlink", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="etherlink", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="etherlink", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="etherlink", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="etherlink", region="sgp"}[1h]) diff --git a/benchmarks/fantom-rpc.yml b/benchmarks/fantom-rpc.yml index 5c3668e7..c3c93b74 100644 --- a/benchmarks/fantom-rpc.yml +++ b/benchmarks/fantom-rpc.yml @@ -111,29 +111,6 @@ providers: p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="fantom", region="sgp"}) series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="fantom", region="sgp"}[1h]) - - slug: ankr - name: Ankr - tag: Ankr decentralized node provider for Fantom - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber` POST sent every 60s from 3 regions to Ankr's no-key Fantom endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ankr", chain="fantom"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="ankr", chain="fantom"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="ankr", chain="fantom"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="ankr", chain="fantom"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="ankr", chain="fantom"}) / sum(ocb:rpc_call:rate_24h{provider="ankr", chain="fantom"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="ankr", chain="fantom"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="ankr", chain="fantom"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ankr", chain="fantom", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="ankr", chain="fantom", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ankr", chain="fantom", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="ankr", chain="fantom", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ankr", chain="fantom", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="ankr", chain="fantom", region="sgp"}[1h]) - - slug: thirdweb name: Thirdweb tag: Thirdweb chain-ID RPC gateway for Fantom @@ -156,26 +133,3 @@ providers: - region: ap-southeast p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="thirdweb", chain="fantom", region="sgp"}) series: avg_over_time(rpc_latency_milliseconds{provider="thirdweb", chain="fantom", region="sgp"}[1h]) - - - slug: blastapi - name: Blast API - tag: Blast API public gateway for Fantom mainnet - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber` POST sent every 60s from 3 regions to Blast API's no-key Fantom endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="fantom"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="blastapi", chain="fantom"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="blastapi", chain="fantom"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="blastapi", chain="fantom"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="blastapi", chain="fantom"}) / sum(ocb:rpc_call:rate_24h{provider="blastapi", chain="fantom"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="blastapi", chain="fantom"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="fantom"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="fantom", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="fantom", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="fantom", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="fantom", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="fantom", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="fantom", region="sgp"}[1h]) diff --git a/benchmarks/haqq-rpc.yml b/benchmarks/haqq-rpc.yml index bd4ba78b..d397c893 100644 --- a/benchmarks/haqq-rpc.yml +++ b/benchmarks/haqq-rpc.yml @@ -130,26 +130,3 @@ providers: - region: ap-southeast p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="haqq-official", chain="haqq", region="sgp"}) series: avg_over_time(rpc_latency_milliseconds{provider="haqq-official", chain="haqq", region="sgp"}[1h]) - - - slug: blastapi - name: Blast API - tag: Blast API public gateway for HAQQ Network - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber` POST sent every 60s from 3 regions to Blast API's no-key HAQQ endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="haqq"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="blastapi", chain="haqq"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="blastapi", chain="haqq"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="blastapi", chain="haqq"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="blastapi", chain="haqq"}) / sum(ocb:rpc_call:rate_24h{provider="blastapi", chain="haqq"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="blastapi", chain="haqq"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="haqq"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="haqq", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="haqq", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="haqq", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="haqq", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="haqq", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="haqq", region="sgp"}[1h]) diff --git a/benchmarks/kusama-rpc.yml b/benchmarks/kusama-rpc.yml index a69eb843..3f6e96d9 100644 --- a/benchmarks/kusama-rpc.yml +++ b/benchmarks/kusama-rpc.yml @@ -133,72 +133,3 @@ providers: - region: ap-southeast p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="kusama", region="sgp"}) series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="kusama", region="sgp"}[1h]) - - - slug: ibp - name: IBP Network - tag: Kusama governance-funded infrastructure provider - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `chain_getHeader` POST sent every 60s from 3 regions to IBP Network's no-key Kusama endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ibp", chain="kusama"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="ibp", chain="kusama"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="ibp", chain="kusama"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="ibp", chain="kusama"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="ibp", chain="kusama"}) / sum(ocb:rpc_call:rate_24h{provider="ibp", chain="kusama"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="ibp", chain="kusama"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="ibp", chain="kusama"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ibp", chain="kusama", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="ibp", chain="kusama", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ibp", chain="kusama", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="ibp", chain="kusama", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="ibp", chain="kusama", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="ibp", chain="kusama", region="sgp"}[1h]) - - - slug: dwellir - name: Dwellir - tag: Dwellir Substrate infrastructure provider - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `chain_getHeader` POST sent every 60s from 3 regions to Dwellir's no-key Kusama endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="dwellir", chain="kusama"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="dwellir", chain="kusama"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="dwellir", chain="kusama"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="dwellir", chain="kusama"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="dwellir", chain="kusama"}) / sum(ocb:rpc_call:rate_24h{provider="dwellir", chain="kusama"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="dwellir", chain="kusama"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="dwellir", chain="kusama"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="dwellir", chain="kusama", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="dwellir", chain="kusama", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="dwellir", chain="kusama", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="dwellir", chain="kusama", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="dwellir", chain="kusama", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="dwellir", chain="kusama", region="sgp"}[1h]) - - - slug: "1rpc" - name: 1RPC - tag: 1RPC privacy-preserving relay for Kusama - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `chain_getHeader` POST sent every 60s from 3 regions to 1RPC's no-key Kusama endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="1rpc", chain="kusama"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="1rpc", chain="kusama"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="1rpc", chain="kusama"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="1rpc", chain="kusama"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="1rpc", chain="kusama"}) / sum(ocb:rpc_call:rate_24h{provider="1rpc", chain="kusama"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="1rpc", chain="kusama"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="1rpc", chain="kusama"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="1rpc", chain="kusama", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="1rpc", chain="kusama", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="1rpc", chain="kusama", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="1rpc", chain="kusama", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="1rpc", chain="kusama", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="1rpc", chain="kusama", region="sgp"}[1h]) diff --git a/benchmarks/oraichain-rpc.yml b/benchmarks/oraichain-rpc.yml index 36fe5517..dd578387 100644 --- a/benchmarks/oraichain-rpc.yml +++ b/benchmarks/oraichain-rpc.yml @@ -107,26 +107,3 @@ providers: - region: ap-southeast p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="orai-official", chain="oraichain", region="sgp"}) series: avg_over_time(rpc_latency_milliseconds{provider="orai-official", chain="oraichain", region="sgp"}[1h]) - - - slug: lavenderfive - name: LavenderFive - tag: LavenderFive validator and RPC provider for Cosmos chains - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single Tendermint status POST sent every 60s from 3 regions to LavenderFive's no-key Oraichain endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="lavenderfive", chain="oraichain"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="lavenderfive", chain="oraichain"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="lavenderfive", chain="oraichain"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="lavenderfive", chain="oraichain"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="lavenderfive", chain="oraichain"}) / sum(ocb:rpc_call:rate_24h{provider="lavenderfive", chain="oraichain"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="lavenderfive", chain="oraichain"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="lavenderfive", chain="oraichain"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="lavenderfive", chain="oraichain", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="lavenderfive", chain="oraichain", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="lavenderfive", chain="oraichain", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="lavenderfive", chain="oraichain", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="lavenderfive", chain="oraichain", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="lavenderfive", chain="oraichain", region="sgp"}[1h]) diff --git a/benchmarks/peaq-rpc.yml b/benchmarks/peaq-rpc.yml index 7a7c34f4..792d0ac2 100644 --- a/benchmarks/peaq-rpc.yml +++ b/benchmarks/peaq-rpc.yml @@ -85,29 +85,6 @@ providers: p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="publicnode", chain="peaq", region="sgp"}) series: avg_over_time(rpc_latency_milliseconds{provider="publicnode", chain="peaq", region="sgp"}[1h]) - - slug: peaq-official - name: Peaq Foundation - tag: Peaq Foundation official public RPC endpoint - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `chain_getHeader` POST sent every 60s from 3 regions to Peaq Foundation's no-key endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="peaq-official", chain="peaq"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="peaq-official", chain="peaq"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="peaq-official", chain="peaq"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="peaq-official", chain="peaq"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="peaq-official", chain="peaq"}) / sum(ocb:rpc_call:rate_24h{provider="peaq-official", chain="peaq"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="peaq-official", chain="peaq"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="peaq-official", chain="peaq"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="peaq-official", chain="peaq", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="peaq-official", chain="peaq", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="peaq-official", chain="peaq", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="peaq-official", chain="peaq", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="peaq-official", chain="peaq", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="peaq-official", chain="peaq", region="sgp"}[1h]) - - slug: onfinality name: OnFinality tag: OnFinality Substrate public gateway for Peaq diff --git a/benchmarks/songbird-rpc.yml b/benchmarks/songbird-rpc.yml index db727d94..d8207bac 100644 --- a/benchmarks/songbird-rpc.yml +++ b/benchmarks/songbird-rpc.yml @@ -108,29 +108,6 @@ providers: p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="songbird", region="sgp"}) series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="songbird", region="sgp"}[1h]) - - slug: blastapi - name: Blast API - tag: Blast API public gateway for Songbird - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber` POST sent every 60s from 3 regions to Blast API's no-key Songbird endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="songbird"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="blastapi", chain="songbird"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="blastapi", chain="songbird"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="blastapi", chain="songbird"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="blastapi", chain="songbird"}) / sum(ocb:rpc_call:rate_24h{provider="blastapi", chain="songbird"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="blastapi", chain="songbird"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="songbird"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="songbird", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="songbird", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="songbird", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="songbird", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="songbird", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="songbird", region="sgp"}[1h]) - - slug: ftso-au name: FTSO AU tag: ftso.com.au community Songbird RPC node diff --git a/benchmarks/telos-rpc.yml b/benchmarks/telos-rpc.yml index 53136be7..00c3d939 100644 --- a/benchmarks/telos-rpc.yml +++ b/benchmarks/telos-rpc.yml @@ -107,26 +107,3 @@ providers: - region: ap-southeast p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="telos", region="sgp"}) series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="telos", region="sgp"}[1h]) - - - slug: blastapi - name: Blast API - tag: Blast API public gateway for Telos EVM - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber` POST sent every 60s from 3 regions to Blast API's no-key Telos endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="telos"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="blastapi", chain="telos"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="blastapi", chain="telos"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="blastapi", chain="telos"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="blastapi", chain="telos"}) / sum(ocb:rpc_call:rate_24h{provider="blastapi", chain="telos"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="blastapi", chain="telos"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="telos"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="telos", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="telos", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="telos", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="telos", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="telos", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="telos", region="sgp"}[1h]) diff --git a/benchmarks/warden-rpc.yml b/benchmarks/warden-rpc.yml index 0bb99648..4aa2f76c 100644 --- a/benchmarks/warden-rpc.yml +++ b/benchmarks/warden-rpc.yml @@ -85,29 +85,6 @@ providers: p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="publicnode", chain="warden", region="sgp"}) series: avg_over_time(rpc_latency_milliseconds{provider="publicnode", chain="warden", region="sgp"}[1h]) - - slug: drpc - name: dRPC - tag: dRPC public gateway for Warden Protocol - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber` POST sent every 60s from 3 regions to dRPC's no-key Warden endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="warden"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="drpc", chain="warden"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="drpc", chain="warden"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="drpc", chain="warden"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="drpc", chain="warden"}) / sum(ocb:rpc_call:rate_24h{provider="drpc", chain="warden"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="drpc", chain="warden"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="warden"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="warden", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="warden", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="warden", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="warden", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="warden", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="warden", region="sgp"}[1h]) - - slug: warden-official name: Warden Foundation tag: Warden Foundation official public EVM RPC diff --git a/benchmarks/wemix-rpc.yml b/benchmarks/wemix-rpc.yml index 9b3772d5..62f9b5ac 100644 --- a/benchmarks/wemix-rpc.yml +++ b/benchmarks/wemix-rpc.yml @@ -107,49 +107,3 @@ providers: - region: ap-southeast p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="drpc", chain="wemix", region="sgp"}) series: avg_over_time(rpc_latency_milliseconds{provider="drpc", chain="wemix", region="sgp"}[1h]) - - - slug: blastapi - name: Blast API - tag: Blast API public gateway for WEMIX 3.0 - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber` POST sent every 60s from 3 regions to Blast API's no-key WEMIX endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="wemix"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="blastapi", chain="wemix"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="blastapi", chain="wemix"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="blastapi", chain="wemix"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="blastapi", chain="wemix"}) / sum(ocb:rpc_call:rate_24h{provider="blastapi", chain="wemix"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="blastapi", chain="wemix"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="wemix"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="wemix", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="wemix", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="wemix", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="wemix", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="wemix", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="wemix", region="sgp"}[1h]) - - - slug: "1rpc" - name: 1RPC - tag: 1RPC privacy-preserving relay for WEMIX - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber` POST sent every 60s from 3 regions to 1RPC's no-key WEMIX endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="1rpc", chain="wemix"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="1rpc", chain="wemix"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="1rpc", chain="wemix"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="1rpc", chain="wemix"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="1rpc", chain="wemix"}) / sum(ocb:rpc_call:rate_24h{provider="1rpc", chain="wemix"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="1rpc", chain="wemix"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="1rpc", chain="wemix"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="1rpc", chain="wemix", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="1rpc", chain="wemix", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="1rpc", chain="wemix", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="1rpc", chain="wemix", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="1rpc", chain="wemix", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="1rpc", chain="wemix", region="sgp"}[1h]) diff --git a/benchmarks/zetachain-rpc.yml b/benchmarks/zetachain-rpc.yml index 2b9a1bba..c53c320d 100644 --- a/benchmarks/zetachain-rpc.yml +++ b/benchmarks/zetachain-rpc.yml @@ -153,26 +153,3 @@ providers: - region: ap-southeast p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="allthatnode", chain="zetachain", region="sgp"}) series: avg_over_time(rpc_latency_milliseconds{provider="allthatnode", chain="zetachain", region="sgp"}[1h]) - - - slug: blastapi - name: Blast API - tag: Blast API public gateway for ZetaChain mainnet - formula: "50th percentile over 24h of client-side round-trip latency (ms) for a single `eth_getBlockByNumber` POST sent every 60s from 3 regions to Blast API's no-key ZetaChain endpoint." - queries: - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="zetachain"}) - p90: avg(ocb:rpc_latency_milliseconds:p90_24h{provider="blastapi", chain="zetachain"}) - p99: avg(ocb:rpc_latency_milliseconds:p99_24h{provider="blastapi", chain="zetachain"}) - mean: avg(ocb:rpc_latency_milliseconds:mean_24h{provider="blastapi", chain="zetachain"}) - success: sum(ocb:rpc_call:ok_rate_24h{provider="blastapi", chain="zetachain"}) / sum(ocb:rpc_call:rate_24h{provider="blastapi", chain="zetachain"}) - sample_size: sum(ocb:rpc_call:increase_24h{provider="blastapi", chain="zetachain"}) - series: avg(avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="zetachain"}[1h])) - regions: - - region: us-east - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="zetachain", region="us-east"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="zetachain", region="us-east"}[1h]) - - region: eu-west - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="zetachain", region="eu-west"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="zetachain", region="eu-west"}[1h]) - - region: ap-southeast - p50: avg(ocb:rpc_latency_milliseconds:p50_24h{provider="blastapi", chain="zetachain", region="sgp"}) - series: avg_over_time(rpc_latency_milliseconds{provider="blastapi", chain="zetachain", region="sgp"}[1h]) diff --git a/harnesses/rpc-capabilities/cmd/script/config.go b/harnesses/rpc-capabilities/cmd/script/config.go index ab02e508..325b2daf 100644 --- a/harnesses/rpc-capabilities/cmd/script/config.go +++ b/harnesses/rpc-capabilities/cmd/script/config.go @@ -1339,19 +1339,17 @@ func chains() []Chain { {Slug: "stavr", Name: "STAVR", URL: envDefault("RPC_URL_COMDEX_STAVR", "https://comdex.rpc.m.stavr.tech:443")}, }, }, - // Fantom — EVM (chain 250). 5 keyless providers. + // Fantom — EVM (chain 250). 3 keyless providers. { Slug: "fantom", Name: "Fantom", Providers: []Provider{ {Slug: "fantom-official", Name: "Fantom Foundation", URL: envDefault("RPC_URL_FANTOM_OFFICIAL", "https://rpcapi.fantom.network")}, {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_FANTOM_DRPC", "https://fantom.drpc.org")}, - {Slug: "ankr", Name: "Ankr", URL: envDefault("RPC_URL_FANTOM_ANKR", "https://rpc.ankr.com/fantom")}, {Slug: "thirdweb", Name: "Thirdweb", URL: envDefault("RPC_URL_FANTOM_THIRDWEB", "https://250.rpc.thirdweb.com")}, - {Slug: "blastapi", Name: "Blast API", URL: envDefault("RPC_URL_FANTOM_BLASTAPI", "https://fantom-mainnet.public.blastapi.io")}, }, }, - // Kusama — Polkadot canary relay chain. 6 keyless providers. + // Kusama — Polkadot canary relay chain. 3 keyless providers. { Slug: "kusama", Name: "Kusama", @@ -1360,9 +1358,6 @@ func chains() []Chain { {Slug: "publicnode", Name: "PublicNode", URL: envDefault("RPC_URL_KUSAMA_PUBLICNODE", "https://kusama-rpc.publicnode.com")}, {Slug: "onfinality", Name: "OnFinality", URL: envDefault("RPC_URL_KUSAMA_ONFINALITY", "https://kusama.api.onfinality.io/public")}, {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_KUSAMA_DRPC", "https://kusama.drpc.org")}, - {Slug: "ibp", Name: "IBP Network", URL: envDefault("RPC_URL_KUSAMA_IBP", "https://rpc.ibp.network/kusama")}, - {Slug: "dwellir", Name: "Dwellir", URL: envDefault("RPC_URL_KUSAMA_DWELLIR", "https://kusama-rpc.dwellir.com")}, - {Slug: "1rpc", Name: "1RPC", URL: envDefault("RPC_URL_KUSAMA_1RPC", "https://1rpc.io/ksm")}, }, }, // Hydration — Polkadot DeFi parachain (HydraDX). 5 keyless providers. @@ -1378,7 +1373,7 @@ func chains() []Chain { {Slug: "parachains-network", Name: "Parachains.network", URL: envDefault("RPC_URL_HYDRATION_PARACHAINS", "https://rpc.parachains.network/hydradx")}, }, }, - // ZetaChain — EVM omnichain L1 (chain 7000). 5 keyless providers. + // ZetaChain — EVM omnichain L1 (chain 7000). 4 keyless providers. { Slug: "zetachain", Name: "ZetaChain", @@ -1387,10 +1382,9 @@ func chains() []Chain { {Slug: "blockpi", Name: "BlockPi", URL: envDefault("RPC_URL_ZETACHAIN_BLOCKPI", "https://zetachain.blockpi.network/v1/rpc/public")}, {Slug: "thirdweb", Name: "Thirdweb", URL: envDefault("RPC_URL_ZETACHAIN_THIRDWEB", "https://7000.rpc.thirdweb.com")}, {Slug: "allthatnode", Name: "AllThatNode", URL: envDefault("RPC_URL_ZETACHAIN_ATN", "https://zetachain-mainnet.rpc.public.allthatnode.com")}, - {Slug: "blastapi", Name: "Blast API", URL: envDefault("RPC_URL_ZETACHAIN_BLASTAPI", "https://zetachain-mainnet.public.blastapi.io")}, }, }, - // HAQQ — EVM Islamic finance L1 (chain 11235). 4 keyless providers. + // HAQQ — EVM Islamic finance L1 (chain 11235). 3 keyless providers. { Slug: "haqq", Name: "HAQQ", @@ -1398,21 +1392,18 @@ func chains() []Chain { {Slug: "publicnode", Name: "PublicNode", URL: envDefault("RPC_URL_HAQQ_PUBLICNODE", "https://haqq-evm-rpc.publicnode.com")}, {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_HAQQ_DRPC", "https://haqq.drpc.org")}, {Slug: "haqq-official", Name: "HAQQ Foundation", URL: envDefault("RPC_URL_HAQQ_OFFICIAL", "https://rpc.eth.haqq.network")}, - {Slug: "blastapi", Name: "Blast API", URL: envDefault("RPC_URL_HAQQ_BLASTAPI", "https://haqq-network.public.blastapi.io")}, }, }, - // Etherlink — Tezos EVM L2 (chain 42793). 4 keyless providers. + // Etherlink — Tezos EVM L2 (chain 42793). 2 keyless providers. { Slug: "etherlink", Name: "Etherlink", Providers: []Provider{ {Slug: "etherlink-official", Name: "Etherlink Foundation", URL: envDefault("RPC_URL_ETHERLINK_OFFICIAL", "https://node.mainnet.etherlink.com")}, {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_ETHERLINK_DRPC", "https://etherlink.drpc.org")}, - {Slug: "ankr", Name: "Ankr", URL: envDefault("RPC_URL_ETHERLINK_ANKR", "https://rpc.ankr.com/etherlink")}, - {Slug: "blastapi", Name: "Blast API", URL: envDefault("RPC_URL_ETHERLINK_BLASTAPI", "https://etherlink-mainnet.public.blastapi.io")}, }, }, - // Chiliz — Sports fan token EVM (chain 88888). 4 keyless providers. + // Chiliz — Sports fan token EVM (chain 88888). 3 keyless providers. { Slug: "chiliz", Name: "Chiliz", @@ -1420,39 +1411,34 @@ func chains() []Chain { {Slug: "publicnode", Name: "PublicNode", URL: envDefault("RPC_URL_CHILIZ_PUBLICNODE", "https://chiliz-rpc.publicnode.com")}, {Slug: "ankr", Name: "Ankr", URL: envDefault("RPC_URL_CHILIZ_ANKR", "https://rpc.ankr.com/chiliz")}, {Slug: "chiliz-official", Name: "Chiliz Foundation", URL: envDefault("RPC_URL_CHILIZ_OFFICIAL", "https://rpc.chiliz.com")}, - {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_CHILIZ_DRPC", "https://chiliz.drpc.org")}, }, }, - // WEMIX — Korean web3 gaming EVM (chain 1111). 4 keyless providers. + // WEMIX — Korean web3 gaming EVM (chain 1111). 2 keyless providers. { Slug: "wemix", Name: "WEMIX", Providers: []Provider{ - {Slug: "wemix-official", Name: "WEMIX Foundation", URL: envDefault("RPC_URL_WEMIX_OFFICIAL", "https://api.wemix.com")}, + {Slug: "wemix-official", Name: "WeMade", URL: envDefault("RPC_URL_WEMIX_OFFICIAL", "https://api.wemix.com")}, {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_WEMIX_DRPC", "https://wemix.drpc.org")}, - {Slug: "blastapi", Name: "Blast API", URL: envDefault("RPC_URL_WEMIX_BLASTAPI", "https://wemix-mainnet.public.blastapi.io")}, - {Slug: "1rpc", Name: "1RPC", URL: envDefault("RPC_URL_WEMIX_1RPC", "https://1rpc.io/wemix")}, }, }, - // Songbird — Flare canary network (chain 19). 4 keyless providers. + // Songbird — Flare canary network (chain 19). 3 keyless providers. { Slug: "songbird", Name: "Songbird", Providers: []Provider{ {Slug: "flare-official", Name: "Flare Foundation", URL: envDefault("RPC_URL_SONGBIRD_FLARE", "https://songbird-api.flare.network/ext/C/rpc")}, {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_SONGBIRD_DRPC", "https://songbird.drpc.org")}, - {Slug: "blastapi", Name: "Blast API", URL: envDefault("RPC_URL_SONGBIRD_BLASTAPI", "https://songbird-mainnet.public.blastapi.io")}, {Slug: "ftso-au", Name: "FTSO AU", URL: envDefault("RPC_URL_SONGBIRD_FTSOAU", "https://songbird.rpc.ftso.au")}, }, }, - // Cronos zkEVM — zkSync-stack Cronos L2 (chain 388). 3 keyless providers. + // Cronos zkEVM — zkSync-stack Cronos L2 (chain 388). 2 keyless providers. { Slug: "cronos-zkevm", Name: "Cronos zkEVM", Providers: []Provider{ {Slug: "cronos-zkevm-official", Name: "Crypto.com Foundation", URL: envDefault("RPC_URL_CRONOS_ZKEVM_OFFICIAL", "https://mainnet.zkevm.cronos.org")}, {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_CRONOS_ZKEVM_DRPC", "https://cronos-zkevm.drpc.org")}, - {Slug: "blastapi", Name: "Blast API", URL: envDefault("RPC_URL_CRONOS_ZKEVM_BLASTAPI", "https://cronos-zkevm-mainnet.public.blastapi.io")}, }, }, // Ethereum Classic — Original Ethereum chain (chain 61). 3 keyless providers. @@ -1465,14 +1451,13 @@ func chains() []Chain { {Slug: "etcmc", Name: "ETCMC", URL: envDefault("RPC_URL_ETC_ETCMC", "https://etcmc.rpc.nz")}, }, }, - // Telos EVM — High-performance EVM (chain 40). 3 keyless providers. + // Telos EVM — High-performance EVM (chain 40). 2 keyless providers. { Slug: "telos", Name: "Telos", Providers: []Provider{ {Slug: "telos-official", Name: "Telos Foundation", URL: envDefault("RPC_URL_TELOS_OFFICIAL", "https://mainnet.telos.net/evm")}, {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_TELOS_DRPC", "https://telos.drpc.org")}, - {Slug: "blastapi", Name: "Blast API", URL: envDefault("RPC_URL_TELOS_BLASTAPI", "https://telos-mainnet.public.blastapi.io")}, }, }, // PulseChain — Full-state Ethereum fork (chain 369). 3 keyless providers. @@ -1485,17 +1470,16 @@ func chains() []Chain { {Slug: "g4mm4", Name: "G4MM4", URL: envDefault("RPC_URL_PULSECHAIN_G4MM4", "https://rpc-pulsechain.g4mm4.io")}, }, }, - // Warden Protocol — Intent-based EVM L1. 3 keyless providers. + // Warden Protocol — Intent-based EVM L1. 2 keyless providers. { Slug: "warden", Name: "Warden Protocol", Providers: []Provider{ {Slug: "publicnode", Name: "PublicNode", URL: envDefault("RPC_URL_WARDEN_PUBLICNODE", "https://warden-evm-rpc.publicnode.com")}, - {Slug: "drpc", Name: "dRPC", URL: envDefault("RPC_URL_WARDEN_DRPC", "https://warden.drpc.org")}, {Slug: "warden-official", Name: "Warden Foundation", URL: envDefault("RPC_URL_WARDEN_OFFICIAL", "https://evm.wardenprotocol.org")}, }, }, - // Oraichain — AI-focused Cosmos SDK chain. 3 keyless providers. + // Oraichain — AI-focused Cosmos SDK chain. 2 keyless providers. { Slug: "oraichain", Name: "Oraichain", @@ -1503,17 +1487,15 @@ func chains() []Chain { Providers: []Provider{ {Slug: "publicnode", Name: "PublicNode", URL: envDefault("RPC_URL_ORAICHAIN_PUBLICNODE", "https://oraichain-rpc.publicnode.com")}, {Slug: "orai-official", Name: "Orai Foundation", URL: envDefault("RPC_URL_ORAICHAIN_OFFICIAL", "https://rpc.orai.io")}, - {Slug: "lavenderfive", Name: "LavenderFive", URL: envDefault("RPC_URL_ORAICHAIN_LAVENDERFIVE", "https://oraichain-rpc.lavenderfive.com")}, }, }, - // Peaq Network — DePIN Polkadot parachain. 3 keyless providers. + // Peaq Network — DePIN Polkadot parachain. 2 keyless providers. { Slug: "peaq", Name: "Peaq Network", Kind: "polkadot", Providers: []Provider{ {Slug: "publicnode", Name: "PublicNode", URL: envDefault("RPC_URL_PEAQ_PUBLICNODE", "https://peaq-rpc.publicnode.com")}, - {Slug: "peaq-official", Name: "Peaq Foundation", URL: envDefault("RPC_URL_PEAQ_OFFICIAL", "https://rpc.peaq.network")}, {Slug: "onfinality", Name: "OnFinality", URL: envDefault("RPC_URL_PEAQ_ONFINALITY", "https://peaq.api.onfinality.io/public")}, }, }, From 0caf2dcf6700bcc17764cd8b9bec6ad1a5ad468e Mon Sep 17 00:00:00 2001 From: Florent Tapponnier <160007691+Flotapponnier@users.noreply.github.com> Date: Fri, 7 Aug 2026 15:48:49 +0200 Subject: [PATCH 2/3] feat: add wave 7 chains to /chains hub (fantom, kusama, hydration, zetachain, haqq, etherlink, chiliz, wemix, songbird, etc-classic, telos, pulsechain, warden, oraichain, peaq) --- src/lib/chains.ts | 135 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) diff --git a/src/lib/chains.ts b/src/lib/chains.ts index d1abd7e9..aa8c14eb 100644 --- a/src/lib/chains.ts +++ b/src/lib/chains.ts @@ -951,6 +951,141 @@ export const CHAINS: ChainEntry[] = [ description: "Cosmos SDK DeFi chain (comdex-1) providing decentralised synthetics and lending with on-chain commodity markets, CMDX staking token, CometBFT consensus, IBC-connected to Osmosis and Cosmos Hub.", }, + { + slug: "fantom", + label: "Fantom", + category: "L1", + nativeSymbol: "FTM", + website: "https://fantom.foundation", + description: + "DAG-based EVM-compatible L1 (chain 250) using Lachesis aBFT consensus for ~1-2 second finality, FTM as native gas token. Home to a rich DeFi ecosystem including SpookySwap and Beethoven X.", + }, + { + slug: "kusama", + label: "Kusama", + category: "L1", + nativeSymbol: "KSM", + website: "https://kusama.network", + description: + "Polkadot canary relay chain providing a fast-paced environment for experimentation with parachain slots, shared security and on-chain governance before features graduate to Polkadot mainnet.", + }, + { + slug: "hydration", + label: "Hydration", + category: "L2", + nativeSymbol: "HDX", + website: "https://hydration.net", + description: + "Polkadot parachain DeFi hub (formerly HydraDX) featuring an Omnipool AMM, Stableswap, money market, and OTC desk, secured by Polkadot shared security with HDX as the native governance token.", + }, + { + slug: "zetachain", + label: "ZetaChain", + category: "L1", + nativeSymbol: "ZETA", + website: "https://www.zetachain.com", + description: + "EVM omnichain L1 (chain 7000) with native cross-chain messaging and value transfer across Bitcoin, Ethereum, BNB Chain, and other networks without bridges, using ZETA as the gas and bonding token.", + }, + { + slug: "haqq", + label: "HAQQ", + category: "L1", + nativeSymbol: "ISLM", + website: "https://haqq.network", + description: + "EVM-compatible L1 (chain 11235) designed for Shariah-compliant Islamic finance applications, powered by the Ethermint stack with ISLM as the native token and CometBFT consensus.", + }, + { + slug: "etherlink", + label: "Etherlink", + category: "L2", + nativeSymbol: "XTZ", + website: "https://www.etherlink.com", + description: + "EVM-compatible L2 (chain 42793) built on Tezos Smart Rollup technology, offering decentralised sequencing and fast finality secured by Tezos bakers, using XTZ as the native gas token.", + }, + { + slug: "chiliz", + label: "Chiliz", + category: "L1", + nativeSymbol: "CHZ", + website: "https://www.chiliz.com", + description: + "EVM-compatible sports and entertainment blockchain (chain 88888, Chiliz Chain 2.0) enabling sports fan tokens and NFTs for football clubs and leagues worldwide, with CHZ as the native gas token.", + }, + { + slug: "wemix", + label: "WEMIX", + category: "L1", + nativeSymbol: "WEMIX", + website: "https://wemix.com", + description: + "EVM-compatible Web3 gaming blockchain (chain 1111, WEMIX 3.0) by WeMade, home to P2E gaming titles like MirrorWorld and WonderX across the South Korean gaming ecosystem.", + }, + { + slug: "songbird", + label: "Songbird", + category: "L1", + nativeSymbol: "SGB", + website: "https://flare.network/songbird", + description: + "Canary network for Flare (chain 19), EVM-compatible with a native FTSO data oracle system, used to test governance proposals and smart contract upgrades before deployment to Flare mainnet.", + }, + { + slug: "ethereum-classic", + label: "Ethereum Classic", + category: "L1", + nativeSymbol: "ETC", + website: "https://ethereumclassic.org", + description: + "The original unforked Ethereum chain (chain 61) continuing after the 2016 DAO hack, committed to immutability and proof-of-work consensus with ETC as the native currency.", + }, + { + slug: "telos", + label: "Telos", + category: "L1", + nativeSymbol: "TLOS", + website: "https://www.telos.net", + description: + "High-performance EVM blockchain (chain 40) built on EOSIO technology delivering fast block times and zero front-running via fixed-order transaction processing, with TLOS as the native token.", + }, + { + slug: "pulsechain", + label: "PulseChain", + category: "L1", + nativeSymbol: "PLS", + website: "https://pulsechain.com", + description: + "Full-state Ethereum fork (chain 369) launched in 2023 by Richard Heart, carrying a copy of all Ethereum state at genesis with PLS as the native gas token and a Proof-of-Stake consensus.", + }, + { + slug: "warden", + label: "Warden Protocol", + category: "L1", + nativeSymbol: "WARD", + website: "https://wardenprotocol.org", + description: + "Intent-based modular L1 built with Cosmos SDK, enabling omnichain smart accounts (Spaces) with programmable key management and cross-chain transaction orchestration via intents.", + }, + { + slug: "oraichain", + label: "Oraichain", + category: "L1", + nativeSymbol: "ORAI", + website: "https://orai.io", + description: + "AI-focused Cosmos SDK blockchain (Oraichain mainnet) providing verifiable AI execution via a decentralised oracle layer, CosmWasm smart contracts, and IBC connectivity across the Cosmos ecosystem.", + }, + { + slug: "peaq", + label: "Peaq", + category: "L2", + nativeSymbol: "PEAQ", + website: "https://www.peaq.network", + description: + "Polkadot parachain purpose-built for DePIN (Decentralised Physical Infrastructure Networks) with machine identity, machine staking, and role-based access control primitives for IoT and mobility networks.", + }, ]; export const CHAIN_BY_SLUG = new Map(CHAINS.map((c) => [c.slug, c])); From a0ef2373e2415fc625a9314a539f178209e380e8 Mon Sep 17 00:00:00 2001 From: Florent Tapponnier <160007691+Flotapponnier@users.noreply.github.com> Date: Fri, 7 Aug 2026 17:57:39 +0200 Subject: [PATCH 3/3] fix: remove drift and variational from perp venue meta (404 on /perp redirect) --- src/lib/perp-venue-context.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lib/perp-venue-context.ts b/src/lib/perp-venue-context.ts index 28a396b7..bb7edf98 100644 --- a/src/lib/perp-venue-context.ts +++ b/src/lib/perp-venue-context.ts @@ -31,7 +31,6 @@ export const PERP_VENUE_META: Record< "gmx-v2": { url: "https://gmx.io", chainLabel: "Arbitrum", productSlug: "gmx" }, gains: { url: "https://gains.trade", chainLabel: "Arbitrum, Base, Polygon, ApeChain" }, dydx: { url: "https://dydx.trade", chainLabel: "Cosmos" }, - drift: { url: "https://drift.trade", chainLabel: "Solana" }, vertex: { url: "https://vertexprotocol.com", chainLabel: "Arbitrum" }, paradex: { url: "https://paradex.trade", chainLabel: "Starknet" }, aster: { url: "https://asterdex.com", chainLabel: "BNB Chain" }, @@ -39,7 +38,6 @@ export const PERP_VENUE_META: Record< extended: { url: "https://extended.exchange", chainLabel: "Starknet" }, aevo: { url: "https://aevo.xyz", chainLabel: "OP Stack" }, pacifica: { url: "https://pacifica.fi", chainLabel: "Solana" }, - variational: { url: "https://variational.io", chainLabel: "Arbitrum" }, ostium: { url: "https://ostium.app", chainLabel: "Arbitrum" }, grvt: { url: "https://grvt.io", chainLabel: "zkSync" }, polymarket: { url: "https://polymarket.com", chainLabel: "Polygon" },