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.