About RPCScan
What this is
RPCScan is to RPC endpoints what Etherscan is to ERC-20 contracts: a public, searchable index of every node we can find, scored by how well it performs in real time. Each chain gets a page like a token page, and each RPC URL gets a page like a contract address.
RPCScan is the registry. We maintain the canonical taxonomy ourselves, covering chains, platforms, kinds, explorers, RPCs, mining pools, address types, network parameters and the relations between them, and we own every record. We do not aggregate other catalogues and we do not link to them. If a chain or endpoint is not in our database it does not exist for our purposes.
How it works
- A Rust prober calls every endpoint with a small set of canonical methods (eth_chainId, eth_blockNumber, web3_clientVersion).
- Scoring folds latency, p95, uptime, block freshness and rate-limit incidence into a single 0 to 100.
- Results are written to Cloudflare R2 and KV, then served from the edge.
- Wallet traffic to
https://<chainId>.rpcscan.xyzis proxied to the highest-scoring healthy endpoint, failing over when one stops answering.
Privacy first, by construction
We log no IP addresses, set no tracking cookies and load no third-party tags. That is not a setting we can quietly flip: the IP field does not exist in the data model. The privacy policy spells out the little that is stored and why.
Giving back
10% of advertising revenue goes to animal welfare, calculated on gross revenue. Every donation is published with its date, its amount and the revenue it came from, so the arithmetic is auditable rather than asserted. The ledger lives at /giving and is empty today, because no advertising has been sold yet.
Who runs this
RPCScan is built and maintained by Stephen Molnar in Las Vegas, NV, independently and without outside funding. It is one person and a small fleet of probes, not a company, which is worth knowing when you judge how much to rely on it.
Corrections, additions and complaints all go to the same place: contact@rpcscan.com, or through the request form if you would rather it be tracked. Source and issues live at github.com/rpcscan.
Built on
Both brands are one Next-flavoured React Server Components app running on vinext, Cloudflare’s experimental Vite and RSC build tool that drops in for the Next CLI. We picked it deliberately. It gives us file-system routing, async server components and edge-friendly route handlers, while shedding Webpack’s build-time weight in favour of Rolldown and @vitejs/plugin-rsc, and vinext build is measurably faster than next build on the same source tree.
The dependency tree is small on purpose. The declared package.json has three top-level packages (react, react-dom, vinext) and the rest of the install is build tooling. No CSS framework, no UI library, no HTTP client, no router library, no ORM. Every component here is hand-rolled around fetch, <svg> and inline style objects.
The backend follows the same discipline: a hand-rolled Rust workspace (bn-tls, bn-http, bn-x509, bn-asn1, bn-h2) with a strict allow-list of audited crypto primitive crates. No tokio, no rustls, no openssl, no reqwest, no hyper. See /security for the full posture.