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.
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.
RPC Standard
Recommended
- 1 connection
- 1 allowed address
- JSON-RPC and WebSocket
RPC Dedicated
- A list of allowed addresses
- Connection cap set with our team
- JSON-RPC and WebSocket
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?
Standard allows one connection from one address; a second 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.
