For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

Category
Methods
What they do

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

Category
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:

  • getProgramAccounts

  • getTokenAccountsByOwner

  • getTokenAccountsByDelegate

  • getTokenLargestAccounts

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:

Field
Type
Required
Description

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: 110000.

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:

  1. Send the first request with paginationKey: null or omit the field.

  2. Append the returned accounts to your result.

  3. If paginationKey is not null, send the same program ID, commitment, filters, encoding, and data slice again with that key.

  4. Stop only when paginationKey is null. 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.

Last updated