Solana method
getProgramAccounts
Returns every account owned by a program, optionally filtered.
How each provider handles it
This method has not been measured in this window.
It is in the catalogue but disabled, so nothing calls it.
What it does
The most powerful and most expensive read Solana offers. It scans the accounts owned by a program, with optional `memcmp` and `dataSize` filters applied server-side.
On a large program this means scanning millions of accounts. Nearly every provider restricts it, rate-limits it heavily, or requires a paid plan — and those that allow it often cap the result set.
Parameters
programIdstringrequired- The owning program, base-58.
configObjectoptionalencoding,filters(memcmp,dataSize),dataSlice,commitment,withContext.
Returns
Array of { pubkey, account }.
Try it
Runnable as written, against a keyless public endpoint. Nothing here needs an API key.
Request
curl -s https://api.mainnet-beta.solana.com \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"getProgramAccounts","params":["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",{"encoding":"base64","dataSlice":{"offset":0,"length":0},"filters":[{"dataSize":165},{"memcmp":{"offset":0,"bytes":"So11111111111111111111111111111111111111112"}}]}]}'As JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "getProgramAccounts",
"params": [
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
{
"encoding": "base64",
"dataSlice": { "offset": 0, "length": 0 },
"filters": [
{ "dataSize": 165 },
{ "memcmp": { "offset": 0, "bytes": "So11111111111111111111111111111111111111112" } }
]
}
]
}Response
{
"jsonrpc": "2.0",
"result": [
{
"pubkey": "CxELquR1gPP8wHe33gZ4QxqGB3sZ9RSwsJ2KshVewkFY",
"account": {
"data": ["", "base64"],
"executable": false,
"lamports": 2039280,
"owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"space": 165
}
}
],
"id": 1
}Things that bite
- Always filter. An unfiltered call against the SPL Token program asks the node to return millions of accounts.
dataSlicewith length 0 returns pubkeys only, which is dramatically cheaper when you only need to know which accounts exist.- Disabled by default here. Calling it on a schedule against free public endpoints would be an abuse of them.
Why it is measured
Catalogued as the clearest example of a method whose availability is a commercial decision rather than a technical one, and left disabled.
Called every 3600 seconds per endpoint, with jitter so the fleet does not hit a provider in lockstep.
6h window · generated 2026-08-24 17:25:26 UTC · 0 providers