Is your Solana RPC actually production-ready?
When you build anything on Solana (a bot, a wallet, an indexer, a data pipeline), you need an RPC. The usual way to pick one: grab a free endpoint, or one a friend recommended, and pray.
The problem is that "is the RPC online?" is the wrong question. An RPC can
return 200 OK while:
- its slot lags a few seconds behind โ you get stale data,
- its blockhash is already expired โ your transaction fails,
getProgramAccountsis disabled โ your indexer dies,- latency looks great on a quick check, then chokes under real traffic.
And you find out in production, not in a one-off test.
So I built sol-doctor
sol-doctor
(solana-infra-doctor on crates.io) is a Rust CLI that diagnoses Solana RPC
production-readiness. The real question isn't "is this RPC online?" It's
"which RPC should I actually trust for this workload?"
What it checks:
- Real health: core JSON-RPC methods, blockhash freshness, slot data, latency, performance samples. Not just a ping.
- Compare endpoints, scored 0โ100: feed it 2+ RPCs, get a score for each, side by side. Pick with numbers, not vibes.
- Workload profiles: scoring adapts to
wallet,bot,indexer,ci, orgeneral. A good RPC for a wallet isn't the same as a good one for an indexer. - Token readiness: whether the RPC serves SPL Token + Token-2022 as executable accounts (plenty don't).
- WebSocket readiness:
slotSubscribetime-to-first-event. A WS that "connects" doesn't always stream. - Yellowstone gRPC:
grpc check+grpc comparefor the Geyser path heavy indexers lean on. - Data-readiness:
getProgramAccountsenablement + archival depth, for indexer/data workloads.
Output is terminal, JSON, or Markdown, with automatic credential redaction: tokens in the URL never leak into reports or CI logs.
Try it
Install:
Check one endpoint:
Compare a few, with the indexer profile:
Don't want to install? There's a mini version running right in the browser: /tools/rpc-check. Paste an RPC URL, see its health + latency. (It's a small slice of what the CLI does, but enough for a feel.)
Honest about scope
sol-doctor is a local-first diagnostic. It gives you a point-in-time picture and comparable scores, not 24/7 monitoring or an SLA guarantee. For that you still want observability. But for choosing an RPC, or reviewing infra before putting real load on it, this is the thing I wished existed.
Why I care
Picking a Solana RPC is mostly vibes, and a flaky RPC bites you in production, not in a quick test. sol-doctor turns the vibes into numbers you can compare and trust.
Code + prebuilt binaries: GitHub ยท crates.io.
If you're picking or watching a Solana RPC, give it a run, and tell me what other check would save you a 3am page.