Plan Limits
Last updated: October 15th, 2026
Solana RPC
Private Solana Mainnet RPC supporting standard Solana RPC methods
| Method | Free | Operator | Blade Runner | Nexus |
|---|---|---|---|---|
| sendTransaction - network | 1/s | 15/s | 50/s | 200/s |
| sendTransaction - staked (SWQoS) | — | 1/s | 5/s | 20/s |
| getSupply | — | — | 2/s | 5/s |
| getProgramAccounts (filter required) | — | — | 25/s | 75/s |
| getProgramAccountsV2 (paginated, 10,000/page) | — | — | 2/s | 5/s |
| ALT Lookups (ALT program · from index) | — | — | 2/s | 5/s |
| getTokenLargestAccounts | — | — | 2/s | 30/s |
| getBlock | 1/s | 5/s | 10/s | 30/s |
| getBlocks | — | — | 10/s | 30/s |
| getBlocksWithLimit | — | — | 10/s | 30/s |
| getConfirmedBlock | 1/s | 5/s | 10/s | 30/s |
| getSignaturesForAddress | — | 5/s | 10/s | 30/s |
| getTokenAccountsByOwner | — | 5/s | 10/s | 30/s |
| getBlockCommitment | 2/s | 5/s | 50/s | 100/s |
| getBlockProduction | 2/s | 5/s | 50/s | 100/s |
| getBlockTime | 2/s | 5/s | 50/s | 100/s |
| getConfirmedTransaction | 2/s | 5/s | 50/s | 100/s |
| getInflationReward | 2/s | 5/s | 50/s | 100/s |
| getTransaction | 2/s | 5/s | 50/s | 100/s |
| simulateTransaction | 2/s | 5/s | 50/s | 100/s |
| getAccountInfo | 5/s | 50/s | 200/s | 500/s |
| getBalance | 5/s | 50/s | 200/s | 500/s |
| getBlockHeight | 5/s | 50/s | 200/s | 500/s |
| getClusterNodes | 5/s | 50/s | 200/s | 500/s |
| getEpochInfo | 5/s | 50/s | 200/s | 500/s |
| getEpochSchedule | 5/s | 50/s | 200/s | 500/s |
| getFeeForMessage | 5/s | 50/s | 200/s | 500/s |
| getGenesisHash | 5/s | 50/s | 200/s | 500/s |
| getHealth | 5/s | 50/s | 200/s | 500/s |
| getHighestSnapshotSlot | 5/s | 50/s | 200/s | 500/s |
| getIdentity | 5/s | 50/s | 200/s | 500/s |
| getLatestBlockhash | — | 50/s | 200/s | 500/s |
| getLeaderSchedule | 5/s | 50/s | 200/s | 500/s |
| getMinimumBalanceForRentExemption | 5/s | 50/s | 200/s | 500/s |
| getMultipleAccounts (max 100 per call) | — | 50/s | 200/s | 500/s |
| getRecentPerformanceSamples | 5/s | 50/s | 200/s | 500/s |
| getRecentPrioritizationFees | 5/s | 50/s | 200/s | 500/s |
| getSignatureStatuses (max 100 per call) | — | 50/s | 200/s | 500/s |
| getSlot | 5/s | 50/s | 200/s | 500/s |
| getSlotLeader | 5/s | 50/s | 200/s | 500/s |
| getStakeActivation | 5/s | 50/s | 200/s | 500/s |
| getStakeMinimumDelegation | 5/s | 50/s | 200/s | 500/s |
| getTokenAccountBalance | 5/s | 50/s | 200/s | 500/s |
| getTokenSupply | 5/s | 50/s | 200/s | 500/s |
| getTransactionCount | 5/s | 50/s | 200/s | 500/s |
| getVersion | 5/s | 50/s | 200/s | 500/s |
| getVoteAccounts | 5/s | 50/s | 200/s | 500/s |
| isBlockhashValid | 5/s | 50/s | 200/s | 500/s |
| Batch requests (unsupported · one call per request) | — | — | — | — |
| getLargestAccounts (unsupported) | — | — | — | — |
| sendBundle (unsupported) | — | — | — | — |
Solana RPC Websocket
Private Solana Mainnet RPC via Websocket
| Limit | Free | Operator | Blade Runner | Nexus |
|---|---|---|---|---|
| WebSocket Access | — | ✓ | ✓ | ✓ |
| Allowed Methods | — | Subscriptions | Subscriptions | Subscriptions |
| Concurrent Connections (per key) | — | 10 | 50 | 100 |
| Global Rate Limit (req/sec) (shared with Standard RPC limits) | — | 50 | 200 | 500 |
| Keepalive (getHealth) | — | ✓ | ✓ | ✓ |
constant-k 'Cube Runner'
getBlock from region caches and long-term storage, back to genesis
| Limit | Free | Operator | Blade Runner | Nexus |
|---|---|---|---|---|
| Region Cache and Ledger | ✓ | ✓ | ✓ | ✓ |
| Other Regions' Caches | ✓ | ✓ | ✓ | ✓ |
| Long-Term Storage (every block since genesis) | — | — | ✓ | ✓ |
| Long-Term Storage Rate | — | — | 1 block / 15 s | 1 block / 3 s |
| Monthly Long-Term Storage Allowance (per API key) | — | — | 10,000 blocks | 50,000 blocks |
| Blocks Queued per API Key | — | — | 200 | 500 |
| Blocks Queued, All Keys | — | — | 1,000 | 2,000 |
| Longest Allowed Queue Time (no guaranteed delivery, re-request to requeue) | — | — | 1 hour | 2 hours |
| getFirstAvailableBlock Returns | Region depth | Region depth | 0 (genesis) | 0 (genesis) |
Region depth: the oldest block from which the region holds every later block, in its cache or its ledger. Older blocks are still returned when a cache in any region holds them.
Allowance: counts only blocks retrieved from long-term storage for that API key. Blocks served from a cache, a ledger or another region never count, on any plan. Resets at 00:00 UTC on the first day of each month. The getBlock rate limits in the Solana RPC table apply to every request. Details: Cube Runner docs.
constant-k 'Kaldera'
Yellowstone gRPC + leader shred injection + custom fanout
| Limit | Free | Operator | Blade Runner | Nexus |
|---|---|---|---|---|
| Yellowstone gRPC Access | — | — | ✓ | ✓ |
| Subscribe Bandwidth | — | — | 37.5 MB/s | 150 MB/s |
| Subscribe Concurrent Streams | — | — | 75 | 200 |
| SubscribeDeshred Access (pre-execution tx stream) | — | — | ✓ | ✓ |
| SubscribeDeshred Bandwidth | — | — | 22.5 MB/s | 75 MB/s |
| SubscribeDeshred Concurrent Streams | — | — | 15 | 25 |
| Replay Window | — | — |
New York
24 Hours Frankfurt
24 Hours 1000 Slots if NY is down Amsterdam
24 Hours 1000 Slots if NY is down |
New York
24 Hours Frankfurt
24 Hours 1000 Slots if NY is down Amsterdam
24 Hours 1000 Slots if NY is down |
| Subscription Filters | — | — | Slots, Transactions, Accounts | Slots, Transactions, Accounts |
| Filters per Stream | — | — | 15 | 64 |
| Accounts per Filter | — | — | 100 | 2,000 |
| Owners per Filter | — | — | 38 | 50 |
| Max Accounts per Stream (auto-split) | — | — | 1,500 | 128,000 |
| Max Accounts Total (streams × max per stream) | — | — | ~112,500 | ~25,600,000 |
| Transaction Filters per Stream | — | — | 15 | 32 |
| Accounts per Transaction Filter | — | — | 100 | 1,000 |
| "Any" (No Filter) Streams | — | — | — | Max 3 Streams |
| Compression | — | — | gzip, zstd | gzip, zstd |
Bandwidth: limits apply per API key, per region. A stream at its limit is throttled, and Kaldera buffers your data up to 64 MB while you catch up; if that buffer fills, Kaldera drops the oldest queued updates and keeps you on the newest data (the live tip).
constant-k 'Turbo Kaldera'
Decoded pre-execution transactions over Yellowstone gRPC (aRPC)
| Limit | Free | Operator | Blade Runner | Nexus |
|---|---|---|---|---|
| Turbo Subscribe (decoded pre-execution transactions, standard Yellowstone Subscribe) | — | — | — | ✓ |
| SubscribeDeshred on Turbo Hostnames (pre-execution route for Blade Runner) | — | — | ✓ | ✓ |
| Regions | — | — | New York, Frankfurt, Amsterdam | New York, Frankfurt, Amsterdam |
| Concurrent Streams | — | — | Kaldera SubscribeDeshred limit | Shared with Kaldera Subscribe |
| Bandwidth | — | — | Kaldera SubscribeDeshred limit | Shared with Kaldera Subscribe |
| Transaction Filters (accountInclude, accountExclude, accountRequired, vote) | — | — | ✓ | ✓ |
| Execution Metadata (fee, status, logs: delivered before execution) | — | — | — | — |
| Replay (fromSlot) | — | — | — | — |
Shared limits: Turbo streams are Kaldera Subscribe streams. They count toward the same concurrent streams and the same bandwidth as standard Kaldera, so a Nexus key holding all of its Kaldera Subscribe streams closes one before it opens a Turbo stream. Blade Runner reaches the same pre-execution data through SubscribeDeshred, counted under the Kaldera SubscribeDeshred limits. Lower plans are refused with gRPC status PERMISSION_DENIED. Details: Turbo Kaldera docs.
constant-k 'ShredPrism'
Leader shred feed via gRPC + custom fanout
| Limit | Free | Operator | Blade Runner | Nexus |
|---|---|---|---|---|
| Shredstream gRPC Access | — | — | — | ✓ |
| Bandwidth Limit | — | — | — | None |
| Concurrent Streams | — | — | — | One Stream Per Key |
| Stream Type | — | — | — | Full Solana Feed over gRPC |
| Shred Visibility | — | — | — | Pre-block, sub-slot |
constant-k 'ShredQuasar'
Raw leader shreds over UDP, sold per region
| Limit | ShredQuasar |
|---|---|
| Plan | Per Region |
| Regions | New York, Frankfurt, Amsterdam |
| Concurrent Streams | One Stream Per IP |
| Stream Type | Raw Shreds over UDP |
