Repository navigation
six chain RPC benches that nobody answers - #2784
Merged
Merged
Conversation
An audit of all 161 chain RPC benches found seven with no provider producing a number. Each declared endpoint was re-tested by hand, with the right protocol per chain rather than eth_blockNumber everywhere, which is what separated the dead from the merely non-EVM. Six are retired: quicksilver 0 of 3 endpoints alive, last sample 29 days old thundercore 0 of 3 (two answer 503), 24 days canto 0 of 1 (connection times out), 24 days neon 0 of 3, 8 days plume 0 of 1 (drpc answers 400), probe fresh zetachain 1 endpoint alive, 0.37 % success, probe fresh The last two are the pair worth reading twice. Their probes run and their data is current, and what the data says is that nobody answers. zetachain's single endpoint is Thirdweb, which serves browsers and refuses our probe hosts on every chain we measure it (0.3 % to 1.5 % across 29, see #2779). The seventh, starknet-rpc, is NOT retired. Its probe has produced unbroken data for at least seven days, OnFinality clears the 50 % floor at 50.69 % with a 339 ms p50, and every query the spec declares resolves against Prometheus right now. The published blob is 585 hours old regardless, so the bench is a publication bug and not a dead chain. Removing it would have destroyed working measurement. Specs deleted, slugs added to REMOVED_BENCH_SLUGS so indexed URLs answer 410 Gone rather than 404, matcher kept in sync (its test caught the first attempt, which had the wrong indentation and inserted nothing). The six chains leave the harness too, so three probe regions stop spending calls on endpoints that time out. Five leave the chain registry with their bench, which removes an empty /chains page: each linked the RPC bench and nothing else, and all six were already out of the sitemap. plume stays in the registry because chain-bridged-tvl and chain-fees-revenue measure it. The harness edit took three attempts. A regex over the Go composite literal left an orphan brace twice; `go build` caught both. The version here cuts on exact line boundaries and passes build and vet.
Flotapponnier
added a commit
that referenced
this pull request
Oct 2, 2026
An audit of all 161 chain RPC benches found seven with no provider producing a number. Each declared endpoint was re-tested by hand, with the right protocol per chain rather than eth_blockNumber everywhere, which is what separated the dead from the merely non-EVM. Six are retired: quicksilver 0 of 3 endpoints alive, last sample 29 days old thundercore 0 of 3 (two answer 503), 24 days canto 0 of 1 (connection times out), 24 days neon 0 of 3, 8 days plume 0 of 1 (drpc answers 400), probe fresh zetachain 1 endpoint alive, 0.37 % success, probe fresh The last two are the pair worth reading twice. Their probes run and their data is current, and what the data says is that nobody answers. zetachain's single endpoint is Thirdweb, which serves browsers and refuses our probe hosts on every chain we measure it (0.3 % to 1.5 % across 29, see #2779). The seventh, starknet-rpc, is NOT retired. Its probe has produced unbroken data for at least seven days, OnFinality clears the 50 % floor at 50.69 % with a 339 ms p50, and every query the spec declares resolves against Prometheus right now. The published blob is 585 hours old regardless, so the bench is a publication bug and not a dead chain. Removing it would have destroyed working measurement. Specs deleted, slugs added to REMOVED_BENCH_SLUGS so indexed URLs answer 410 Gone rather than 404, matcher kept in sync (its test caught the first attempt, which had the wrong indentation and inserted nothing). The six chains leave the harness too, so three probe regions stop spending calls on endpoints that time out. Five leave the chain registry with their bench, which removes an empty /chains page: each linked the RPC bench and nothing else, and all six were already out of the sitemap. plume stays in the registry because chain-bridged-tvl and chain-fees-revenue measure it. The harness edit took three attempts. A regex over the Go composite literal left an orphan brace twice; `go build` caught both. The version here cuts on exact line boundaries and passes build and vet.
Flotapponnier
added a commit
that referenced
this pull request
Oct 19, 2026
…, 8 replacements join (#3044) * swellchain-rpc and superseed-rpc retire: no keyless endpoint answers swellchain: Ankr now requires a key (403), Sentio answers 404 and Thirdweb refuses, so only dRPC is left and the page has read expired since 2026-08-23. superseed: the official RPC and Thirdweb both front Conduit, which now demands a key (-32403), and dRPC no longer serves the chain (-32601); nothing has answered since 2026-10-14. A second keyless provider was searched for on both (PublicNode, Tenderly, OnFinality, Alchemy public, the chains' own hosts) and none answered. Same retirement as #2784: specs and harness entries deleted, /chains entries and the speedtest directory row go, slugs added to REMOVED_BENCH_SLUGS and the middleware matcher so indexed URLs answer 410 Gone. * RPC sweep: 34 dead endpoints leave, 8 replacements join Every public RPC pair under 5 percent success over 24h was re-tested by hand with its chain's own protocol on 2026-10-19. 34 are dead and leave the harness and their spec: Lava's hosts answer 410 Gone (arbitrum, ethereum, near, solana, sonic), AutoStake's Cosmos hosts 404, PublicNode dropped eleven Cosmos chains plus XRP, Ankr now requires a key (bitlayer, iotex), Mysten's fullnode retired JSON-RPC, and a handful of single hosts stopped resolving or answer 502. Bandchain's Stakewolle row answers by hand and stays. Thirdweb stays everywhere: it answers browsers and refuses probe hosts, which the pages already report. Eight replacements were found, each checked for chain id and head height against the chain's live endpoint: dRPC on aurora, harmony and gravity, IoTeX's own .io gateway, AU on songbird, Stake&Relax on neutron, Stakewolle on nolus and ECO Stake on regen. Copy that named a departed provider is rewritten and dated. New marks for ECO Stake and AU, an alias for iotex-official, registry entries for AU and iotex-official.
bakabhai993
pushed a commit
to bakabhai993/OpenChainBench
that referenced
this pull request
Oct 20, 2026
…, 8 replacements join (ChainBench#3044) * swellchain-rpc and superseed-rpc retire: no keyless endpoint answers swellchain: Ankr now requires a key (403), Sentio answers 404 and Thirdweb refuses, so only dRPC is left and the page has read expired since 2026-08-23. superseed: the official RPC and Thirdweb both front Conduit, which now demands a key (-32403), and dRPC no longer serves the chain (-32601); nothing has answered since 2026-10-14. A second keyless provider was searched for on both (PublicNode, Tenderly, OnFinality, Alchemy public, the chains' own hosts) and none answered. Same retirement as ChainBench#2784: specs and harness entries deleted, /chains entries and the speedtest directory row go, slugs added to REMOVED_BENCH_SLUGS and the middleware matcher so indexed URLs answer 410 Gone. * RPC sweep: 34 dead endpoints leave, 8 replacements join Every public RPC pair under 5 percent success over 24h was re-tested by hand with its chain's own protocol on 2026-10-19. 34 are dead and leave the harness and their spec: Lava's hosts answer 410 Gone (arbitrum, ethereum, near, solana, sonic), AutoStake's Cosmos hosts 404, PublicNode dropped eleven Cosmos chains plus XRP, Ankr now requires a key (bitlayer, iotex), Mysten's fullnode retired JSON-RPC, and a handful of single hosts stopped resolving or answer 502. Bandchain's Stakewolle row answers by hand and stays. Thirdweb stays everywhere: it answers browsers and refuses probe hosts, which the pages already report. Eight replacements were found, each checked for chain id and head height against the chain's live endpoint: dRPC on aurora, harmony and gravity, IoTeX's own .io gateway, AU on songbird, Stake&Relax on neutron, Stakewolle on nolus and ECO Stake on regen. Copy that named a departed provider is rewritten and dated. New marks for ECO Stake and AU, an alias for iotex-official, registry entries for AU and iotex-official. (cherry picked from commit fac4b5f)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What was audited
All 161 chain RPC benches. Seven had no provider producing a number. Every declared endpoint was re-tested by hand with the right protocol per chain — Tendermint
/statusfor Cosmos,starknet_blockNumberfor Starknet, XRP's own format — which is what separated the dead from the merely non-EVM. My first sweep usedeth_blockNumbereverywhere and was wrong about five of them.Six retired
quicksilver-rpcthundercore-rpccanto-rpcneon-rpcplume-rpczetachain-rpcThe last two are worth reading twice: the probes run, the data is current, and what it says is that nobody answers. Zetachain's one endpoint is Thirdweb, which serves browsers and refuses our probe hosts on every chain we measure it (#2779).
One kept, deliberately
starknet-rpcis not retired. Its probe has produced unbroken data for at least seven days (57 samples, zero gaps), OnFinality clears the 50 % floor at 50.69 % with a 339 ms p50, and every query the spec declares resolves against Prometheus right now. The published blob is 585 hours old regardless, so this is a publication bug, not a dead chain. Retiring it would have destroyed working measurement.Scope of the removal
REMOVED_BENCH_SLUGSso indexed URLs answer 410 Gone, not 404/chainspage each: all linked the RPC bench and nothing else, and all six were already out of the sitemapplumestays in the registry:chain-bridged-tvlandchain-fees-revenuemeasure itVerified
go buildandgo vetclean on the harness,tscand eslint clean, 235 specs valid (down from 241), 418 tests pass.The harness edit took three attempts: a regex over the Go composite literal left an orphan brace twice and
go buildcaught both. The version here cuts on exact line boundaries.