Production-grade JSON-RPC and WebSocket endpoints for builders who need consistent latency, transparent limits, and crypto-native billing.
Every piece of the stack optimized for apps that talk to Solana all day.
Direct shred ingestion from the Jito Block Engine, bypassing standard Turbine. gRPC stream first-detection lands at <50ms P99 from the EU — competitive with Frankfurt-colocated providers.
Every Solana RPC method supported — reads, writes, program accounts, token accounts — plus low-latency WSS subscriptions for logs and account updates.
Per-key quotas enforced at the edge with clear headers. No surprise throttling, no shared noisy-neighbor issues.
On-chain subscriptions with Solana Pay. QR code or connect Phantom/Solflare — your API key is issued the moment the tx lands.
Per-key request counts, errors and bandwidth — 30-min to 7-day chart, toggleable keys, live refresh. Know exactly what your app is doing.
Bare-metal nodes in NL (Amsterdam) and US (North Carolina), run by the same team operating a community-oriented Jito-Solana validator at 0% commission and shipping dashboards and tools the Solana operator community uses every day. Same infra discipline runs your RPC.
No sales calls, no month-long onboarding. Pay on-chain, get a key, start shipping.
One click — no password, no email verification loop.
SOL or USDC via QR or connected wallet. Solana Pay flow settles in seconds.
Key is issued and activated the moment the transaction is confirmed on-chain.
Standard Solana JSON-RPC over HTTPS. Point your existing @solana/web3.js Connection or any RPC client at our endpoint with your API key.
// Query a Solana account
const rpc = "https://rpc-us.validblocks.com:8899";
const KEY = process.env.VB_API_KEY;
const res = await fetch(`${rpc}?api_key=${KEY}`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
jsonrpc: "2.0",
id: 1,
method: "getAccountInfo",
params: ["11111111111111111111111111111111"],
}),
});
const { result } = await res.json();Pay in SOL or USDC. 30-day subscriptions. No credit card, no auto-renew surprises.
10 req/s
50 req/s
50 req/s + gRPC
Custom rate
Still have questions? Get in touch.
All standard JSON-RPC methods on Mainnet-Beta: getAccountInfo, getTransaction, sendTransaction, simulateTransaction, getProgramAccounts, token methods, and WebSocket subscriptions (accountSubscribe, logsSubscribe, signatureSubscribe).
Pass your API key as a URL parameter (?api_key=vb_...) or as an X-Api-Key header. Both are enforced at the edge; keys can be rotated or revoked from your dashboard.
Requests over the limit return HTTP 429. Rate limit state is shared across all keys on a plan. Upgrade anytime to increase throughput or request Enterprise for custom limits.
Subscriptions run for 30 days from payment. Renewals extend on top of your remaining time. We do not issue refunds once a subscription is active.
Two production regions: NL (Amsterdam) at rpc-nl.validblocks.com and US (North Carolina) at rpc-us.validblocks.com. Each plan can hold a subscription per region — pick the one closest to your users, or run both for failover.
Yes — connect to wss://rpc-nl.validblocks.com:8900/?api_key=… or wss://rpc-us.validblocks.com:8900/?api_key=… and use standard pubsub methods like accountSubscribe and logsSubscribe.
Both regions ingest shreds directly from the Jito Block Engine via shredstream-proxy, bypassing standard Turbine. Measured from a German client (geyserbench, 1000 tx, account=pAMM, commitment=processed): NL P50 first-detection 20ms, P99 44ms — within ~20ms of Frankfurt-colocated comparison endpoints. US results vary by client location; for the fairest comparison, run benchmarks from a US machine.
Enterprise plans can request archival history and custom indexes. Standard plans serve the most recent window with full program-id indexing.