RPC Plane
Solana · Mainnet · Devnet · Testnet

Your provider is up.
Your data is wrong.

A Solana RPC proxy that routes across every provider you already pay for. Bring your own keys — RPC Plane handles intelligent routing, slot-aware health scoring, and automatic failover.

$ install — single binary, single config, no databases
# Linux / macOS
curl -sSf https://rpcplane.dev/install.sh | sh
Quick start View source No signup. No API keys. No telemetry by default.
+0.41ms
median latency added
+1.93ms
at p99
2.3%
throughput cost

Measured against a backend with a realistic ~20 ms provider RTT, 100 concurrent connections, 80,000 requests. Full conditions and caveats →

Live routing decision
localhost:9400
Your App
solana-web3.js
Anchor · CLI · trader
RPC Plane
routing engine
latency · slot · errors
Provider A
0.91 · 23ms
Provider B
0.84 · 31ms
Provider C
circuit open
BYOP — Bring Your Own Provider. Customer credentials. No data custody.
The problem

"99% uptime" measures HTTP 200.
It doesn't measure data correctness.

Solana RPC has fragmented into proprietary stacks — different caches, proxies, validator clients, and patches. Two providers can return different answers to the same request, and both report perfect health.

Stale slot

Provider returns data 14+ slots behind tip.

With 200 ms slots, staleness is measured in fractions of a second. Standard monitoring won't catch it.

Cache corruption

Some getAccountInfo calls return stale balances.

Partial cache rot inside provider middleware — silent and selective.

Bad rollout

4xx/5xx for 30 minutes during a config push.

Provider rolls a bad deploy. Your trading desk eats it until rollout completes.

Write degradation

Transactions accepted but never land.

sendTransaction returns OK; the leader never sees it. Legacy single-provider setups have no recourse.

Replay lag

Historical queries silently return incomplete data.

Slow block replay on the backend. The query succeeds. The data is incomplete.

Metered billing

Every getTransaction is now a line item.

Providers moved to per-call billing. Teams want to cut cost without cutting reliability — provider dashboards aren't built for that.

How it works

Sidecar binary.
Not a network proxy.

RPC Plane runs locally alongside your application — speaking directly to provider endpoints with your credentials. Routing decisions are made at the application layer, so providers see normal client traffic.

  • →No man-in-the-middle, no SSL/TLS interception, no data custody.
  • →Doesn't break GeoDNS, BGP Anycast, or provider-side failover.
  • →Single binary. Single config file. No Postgres, no Redis, no orchestration.
  • →Hot-reload config — changes apply without restart.
# rpc-plane.toml — minimal config

[[providers]]
name = "provider-a"
url  = "https://rpc.provider-a.example/${PROVIDER_A_KEY}"

[[providers]]
name = "provider-b"
url  = "https://rpc.provider-b.example/${PROVIDER_B_KEY}"

[[providers]]
name = "provider-c"
url  = "https://rpc.provider-c.example/${PROVIDER_C_KEY}"

[routing]
strategy = "best_score"
max_retries = 2
Run rpc-plane init to generate a full config with all options and defaults.
Core capabilities

Built for Solana's
consensus, commitment, and write-path semantics.

Intelligent routing

Route per request on real-time latency, error rate, and slot freshness at every commitment level. Not round-robin. Not random.

Coming soon

Cross-provider validation

The novel differentiator. Periodically sample the same call across providers to catch when they disagree — identical request, divergent state. The provider serving stale data gets demoted in the health ranking, so routing steers around it. No existing product does this.

Automatic failover

Per-provider circuit breaker — opens on failure, probes for recovery, resumes traffic automatically. No engineer wake-up needed.

Write broadcast

Turn on broadcast_writes and sendTransaction goes to every healthy provider in parallel — maximizes landing probability.

New in v0.13

History-aware failover

Free and public endpoints keep days of history, not years, and answer older lookups with a quiet null. Mark one history = "recent" and that miss fails over to an archive provider instead of telling your app the transaction doesn't exist.

Per-provider rate caps

Give a key its plan's limit with max_rps and traffic sheds to a provider with headroom before the 429s start. Enough to stack nine free tiers into ~110 req/s.

Use cases

Built for teams that can't
afford an RPC outage.

The same reliability layer, tuned to four very different failure costs.

Roadmap

Free binary today.
Dashboard in open beta. Managed cloud next.

The proxy stays free. The hosted dashboard adds visibility and alerts on top of the same routing engine — free during the beta. Managed cloud is on the way.

Available now free

Self-hosted binary

The proxy. Bring your own provider keys. Run anywhere.

  • ✓Multi-provider routing
  • ✓Health scoring & slot drift
  • ✓Circuit breakers & failover
  • ✓History-aware failover
  • ✓Per-provider rate caps
  • ✓Prometheus metrics
  • ○Cost analytics & budget alerts (dashboard)
Learn more →
Open beta free in beta

Cloud dashboard

Unified observability and cost analytics across every provider. We host the dashboard; you run the binary.

  • ✓Provider health history
  • ✓Routing decision audit log
  • ✓Cost analytics by method & provider
  • ✓Budget pacing & alerts
  • ✓Slack · Discord · PagerDuty
On the roadmap managed

Full cloud

We run the proxy too. Configure providers in the UI. Zero ops.

  • ○{tenant}.rpcplane.dev endpoint
  • ○Encrypted key storage, instant rotation
  • ○Server-side credit accounting
  • ○Team access & SSO
  • ○Usage-based pricing
Learn more →
Positioning

We are not another RPC provider.
We are the neutral layer above them.

Providers come and go. Pricing changes. Outages happen. Architectures diverge. The reliability layer persists.

Not
An RPC provider
Not
A token or marketplace
Not
A network proxy
Just
Software that makes existing providers work better, together

Run the binary today.
The dashboard is open — free in beta.

The proxy is source-available and free to self-host. The hosted dashboard is in open beta — sign in with GitHub or Google to see provider health, cost analytics, and alerts across every provider.