Other providers¶
RPC Plane works with any Solana JSON-RPC endpoint. There is no provider registry and no per-provider adapter — the proxy speaks standard JSON-RPC, so an endpoint that a Solana client can talk to is an endpoint RPC Plane can route to.
Adding a provider that isn't listed¶
name is yours to choose — it is what appears in logs, on /health, and as the provider label on
every Prometheus metric. url takes the full endpoint including whatever credential scheme the
provider uses, whether that is a query parameter, a path segment, or neither.
Can I use a public Solana RPC endpoint?¶
For development, yes. Two need no account and no key:
https://api.mainnet-beta.solana.com # Solana Foundation
https://solana-rpc.publicnode.com # PublicNode, operated by Allnodes
Solana Foundation¶
It needs no key. It is also heavily rate-limited, per the Solana cluster documentation:
| Limit | Value |
|---|---|
| Requests | 100 per 10s per IP |
| Requests to a single RPC method | 40 per 10s per IP (4/s — the one you hit first) |
| Concurrent connections | 40 per IP |
| Connection rate | 40 per 10s per IP |
| Data | 100 MB per 30s |
Solana's own documentation is unambiguous about production use: "The public RPC endpoints are not intended for production applications. Please use dedicated/private RPC servers when you launch your application, drop NFTs, etc."
If you do point RPC Plane at it, cap it so the proxy sheds load to a real provider before the public node starts refusing:
Note the per-method row above: any single method is capped at 4/s, well under the 10/s overall. If
your traffic is concentrated on one call — and most traffic is — that is the real ceiling, and
max_rps = 10 will not enforce it. See
working around a per-method limit.
PublicNode¶
PublicNode, operated by Allnodes, serves Solana mainnet free with no
signup. Verified answering getHealth and getSlot on mainnet 2026-09-05.
It publishes no rate limits, which is a mixed blessing: nothing documented to design against, and
no commitment that today's capacity holds tomorrow. Give it a conservative max_rps and raise it
only on evidence — watch rpc_plane_rate_limited_total{provider="publicnode"} and the upstream 429
rate:
[[providers]]
name = "publicnode"
url = "https://solana-rpc.publicnode.com"
max_rps = 10 # no published limit — a starting guess, not a documented cap
Same caveat as any public endpoint: no SLA, and no one to call. Fine as a failover leg or a development default, not as a production primary. See free-tier maxxing for running both public endpoints alongside three free tiers.
Can I use my own validator?¶
Yes — a self-hosted node is just another URL, including over a private network:
This is a common pairing: your own node as primary for the cheap, high-volume reads, and a
commercial provider as failover for the calls your node can't serve — archival history, for
instance, if you don't run with --enable-rpc-transaction-history. Use failover_ordered so the
paid provider only takes traffic when the local node is unhealthy. See
routing strategies.
What works regardless of provider¶
Everything in the request path is provider-agnostic:
- Health scoring — latency, error rate, slot drift, and success rate, measured live per provider.
- Circuit breaking — a failing provider is taken out and probed back in.
- Routing — all four strategies work across any mix of providers.
max_rps— cap dispatch to match whatever rate limit your provider documents.- Metrics — the same Prometheus series, labelled with the
nameyou chose.
None of it requires the provider to be one RPC Plane knows about.
Submission-only endpoints¶
If an endpoint only accepts writes — a transaction-landing service, say — restrict it with methods
so it never receives reads it cannot answer:
[[providers]]
name = "lander"
url = "https://lander.example.com/${LANDER_KEY}"
methods = ["sendTransaction"]
A provider that excludes getSlot skips the health probe and is scored from live request outcomes
instead. See submission-only providers.
What you don't get¶
The provider pricing reference tracks published per-method rates for Alchemy, Helius, dRPC, Triton One, OnFinality, Chainstack and QuickNode. A provider outside that list has no complete rate data — GetBlock, Ankr, Shyft, RPC Fast, Syndica, Blockdaemon and Uniblock were all checked and don't publish enough to cost a full workload — so it won't appear in those cost comparisons. Routing and health scoring are unaffected.