Solana RPC
Supported Solana HTTP and WebSocket RPC methods, plan availability, and the RPC Fast getProgramAccountsPaginated extension.
RPC Fast exposes the current Solana JSON-RPC 2.0 method set over HTTP, Solana PubSub over WebSocket, and selected RPC Fast extensions.
Each RPC request consumes 1 Compute Unit (CU) by default. The exception is getProgramAccounts, which consumes 10 CU. Each page fetched with getProgramAccountsPaginated is a separate request and consumes 1 CU. See Compute Units for billing details.
For standard request parameters and response schemas, refer to the official Solana HTTP RPC documentation and Solana WebSocket RPC documentation.
Supported HTTP methods
Account and token state
getAccountInfo, getBalance, getLargestAccounts, getMultipleAccounts, getProgramAccounts, getSupply, getTokenAccountBalance, getTokenAccountsByDelegate, getTokenAccountsByOwner, getTokenLargestAccounts, getTokenSupply
Read SOL balances, account data, program-owned accounts, token accounts, mint supply, and network supply.
Blocks, slots, and ledger
getBlock, getBlockCommitment, getBlockHeight, getBlockProduction, getBlocks, getBlocksWithLimit, getBlockTime, getFirstAvailableBlock, getHighestSnapshotSlot, getLatestBlockhash, getMaxRetransmitSlot, getMaxShredInsertSlot, getSlot, getSlotLeader, getSlotLeaders, minimumLedgerSlot
Read blocks, slot progress, leaders, block production, and the node's available ledger range.
Transactions, signatures, and fees
getFeeForMessage, getRecentPerformanceSamples, getRecentPrioritizationFees, getSignaturesForAddress, getSignatureStatuses, getTransaction, getTransactionCount, isBlockhashValid, sendTransaction, simulateTransaction
Estimate fees, inspect transaction history and status, validate blockhashes, simulate transactions, and submit signed transactions.
Network, epoch, and validator information
getClusterNodes, getEpochInfo, getEpochSchedule, getGenesisHash, getHealth, getIdentity, getInflationGovernor, getInflationRate, getInflationReward, getLeaderSchedule, getMinimumBalanceForRentExemption, getStakeMinimumDelegation, getVersion, getVoteAccounts
Inspect cluster identity and health, epoch configuration, inflation, rent, leaders, and validator vote accounts.
Network utility
requestAirdrop
Request test SOL where the selected network provides a faucet. Airdrops are not available on mainnet.
RPC Fast extensions
getProgramAccountsPaginated, simulateBundle
Traverse large program-account result sets in bounded pages or simulate a transaction bundle.
Method availability can still depend on the selected network, retained ledger history, request parameters, and plan limits.
Supported WebSocket methods
Accounts and programs
accountSubscribe, accountUnsubscribe, programSubscribe, programUnsubscribe
Blocks, transactions, and logs
blockSubscribe, blockUnsubscribe, logsSubscribe, logsUnsubscribe, signatureSubscribe, signatureUnsubscribe
Chain progress and votes
rootSubscribe, rootUnsubscribe, slotSubscribe, slotUnsubscribe, slotsUpdatesSubscribe, slotsUpdatesUnsubscribe, voteSubscribe, voteUnsubscribe
Multiple subscriptions can be active on one connection. Methods that accept commitment default to finalized when it is omitted.
Plan availability
On the Start plan, the following high-cost account-query methods are limited to supported query shapes:
getProgramAccountsgetTokenAccountsByOwnergetTokenAccountsByDelegategetTokenLargestAccounts
Additionally, getProgramAccounts is limited to 1 request per second (1 RPS) on the Start plan.
When a restricted request cannot be served, RPC Fast returns:
Paid plans enable the general route for these methods, subject to request validation and plan limits.
getProgramAccountsPaginated
getProgramAccountsPaginated is an RPC Fast extension for program-account result sets that are too large or expensive to return safely in one getProgramAccounts response. It preserves the standard Solana account encoding and filter shapes while returning a bounded page plus an opaque continuation key.
Parameters
The first parameter is the program ID. The second parameter is a configuration object with:
commitment
processed | confirmed | finalized
No
Defaults to finalized. Keep it unchanged while following a cursor.
encoding
binary | base58 | base64 | base64+zstd | jsonParsed
No
Account data encoding. Base58 retains Solana's 128-byte encoded-data limit.
filters
array
No
Standard dataSize and memcmp filters. memcmp.bytes may use base58 or base64 encoding and is limited to 128 decoded bytes.
dataSlice
object or null
No
Optional offset and length projection.
limit
integer
No
Accounts per page. Default: 1000. Allowed range: 1–10000.
paginationKey
string or null
No
Omit or pass null for the first page. For the next page, pass the exact key returned by the previous response.
minContextSlot is not currently supported by this extension.
First-page request
Response
To read the complete result set:
Send the first request with
paginationKey: nullor omit the field.Append the returned
accountsto your result.If
paginationKeyis notnull, send the same program ID, commitment, filters, encoding, and data slice again with that key.Stop only when
paginationKeyisnull. Do not infer completion from the number of accounts in a page.
The key is opaque and signed. Do not decode or modify it, and do not reuse it with a different program or commitment.
Pagination reads live account state rather than a historical snapshot. Accounts can change between pages, so clients that require snapshot-like output should deduplicate by account public key.
For presale or technical questions, contact us on Telegram. Our team will reply in the community chat. Please be aware of impersonators.
Last updated