Solana RPC
Solana RPC that answers only your servers.
JSON-RPC and WebSocket on one endpoint in Frankfurt or Amsterdam. Your server's IP address is the key, so there is no API key to leak.
- RPC Standard
- $49/mo
- RPC Dedicated
- $1,899/mo
What you get
JSON-RPC and WebSocket
Standard Solana methods and subscriptions on the same host and port.
No API key
Only addresses on your allowlist connect. Anything else is dropped at the door.
Calls pass straight through
No method blocklist: sendTransaction and every other call reach the node as sent.
How it works
Pick a region
Frankfurt or Amsterdam. Checkout asks for the IP addresses your bots connect from.
Pay on-chain
A prepaid month in USDC, USDT or SOL. Your address goes on that region's allowlist.
Connect
Plain http:// and ws:// on port 7999, so keep the endpoint inside your own infrastructure.
One endpoint, or one for your whole desk
Prepaid monthly, with no usage billing. Buy several connections and each costs less. Put them all on one IP or split them across several. Pay for a year: get 2 months free.
RPC Standard
Recommended
$49/mo
- Each connection costs less the more you buy
- All on one address, or split across several
- JSON-RPC and WebSocket
RPC Dedicated
$1,899/mo
- A list of allowed addresses
- Connection cap set with our team
- JSON-RPC and WebSocket
Volume pricing: the more connections, the less each costs
| Connection | Each, a month | Off list |
|---|---|---|
| 1st–2nd | $49.00 | — |
| 3rd–5th | $39.20 | −20% |
| 6th–10th | $29.40 | −40% |
| 11th and up | $22.54 | −54% |
Each row prices only the connections at those places, so 5 connections are 2 × $49.00 + 3 × $39.20 = $215.60 a month.
Buy up to 50.
RPC + gRPC pack
The same number of RPC and gRPC connections in one payment, each at its own volume price.
Make your first call
No key in the URL or headers: add your address to the allowlist first.
# Standard Solana JSON-RPC. No Authorization header, no key in the URL.
RPC="http://88.216.36.108:7999"
curl -fsS -X POST "$RPC" -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"getLatestBlockhash","params":[{"commitment":"confirmed"}]}'
# Nothing back and the connection closed? That address is not on your list.import { Connection } from "@solana/web3.js";
// WebSocket is on the same port as HTTP, so set wsEndpoint:
// web3.js would otherwise dial the next port up.
const connection = new Connection("http://88.216.36.108:7999", {
commitment: "confirmed",
wsEndpoint: "ws://88.216.36.108:7999",
});
// One after another, not in parallel: each open socket uses one of your connections.
const slot = await connection.getSlot();
const { blockhash } = await connection.getLatestBlockhash();
console.log(slot, blockhash);# Same host, same port: the proxy upgrades the connection in place.
wscat -c ws://88.216.36.108:7999 \
-x '{"jsonrpc":"2.0","id":1,"method":"slotSubscribe"}' -w 30
# A session with no traffic for 300 seconds is closed.
# A live subscription counts as traffic.Before you buy
Why is there no API key?
Your server's IP address is the credential. A connection from any other address is dropped before it is answered.
Is it HTTPS?
No. It is plain http:// and ws://, so keep the endpoint on your servers and never in a browser bundle.
Are there rate limits?
getProgramAccounts and getSignaturesForAddress allow 30 calls per 60 seconds per address, and getProgramAccounts needs filters or dataSlice. Everything else passes straight through.
Can two machines connect?
Yes. Buy two or more connections and split them across your addresses, or put them all on one. An address that opens more than its share gets HTTP 429. Dedicated takes a list of addresses.
Why did my WebSocket close?
A session with no traffic for 300 seconds is closed. A live subscription counts as traffic.
How do I pay or cancel?
Prepaid in USDC, USDT or SOL at checkout. Cancelling ends access straight away.
