Solana method
getMultipleAccounts
Fetches up to 100 accounts in one call.
How each provider handles it
This method has not been measured in this window.
It is scheduled but no observation has landed yet.
What it does
The batched form of `getAccountInfo`. One round trip instead of many, which matters a great deal on a chain where reading a position often means reading a dozen related accounts.
The result array is positional: entry `i` corresponds to the pubkey at position `i`, and an account that does not exist comes back as `null` in place rather than being omitted.
Parameters
pubkeysArray of stringrequired- Up to 100 base-58 addresses.
configObjectoptionalencoding,commitment,dataSlice,minContextSlot.
Returns
Array under result.value, positionally aligned with the request.
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":"getMultipleAccounts","params":[["SysvarC1ock11111111111111111111111111111111","SysvarRent111111111111111111111111111111111"],{"encoding":"base64"}]}'As JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "getMultipleAccounts",
"params": [
[
"SysvarC1ock11111111111111111111111111111111",
"SysvarRent111111111111111111111111111111111"
],
{ "encoding": "base64" }
]
}Response
{
"jsonrpc": "2.0",
"result": {
"context": { "slot": 372145830 },
"value": [
{ "data": ["ZgAAAAAAAAA...", "base64"], "owner": "Sysvar1111111111111111111111111111111111111", "lamports": 1169280 },
{ "data": ["rgAAAAAA...", "base64"], "owner": "Sysvar1111111111111111111111111111111111111", "lamports": 1009200 }
]
},
"id": 1
}Things that bite
- A
nullentry means that account does not exist. Filtering nulls out shifts every later index and silently misaligns the results. - The 100-account ceiling is part of the specification. Exceeding it is an error, not a truncation.
Why it is measured
It shows whether a provider genuinely batches or simply loops internally — the difference appears as latency that scales with the number of accounts.
Called every 300 seconds per endpoint, with jitter so the fleet does not hit a provider in lockstep.
30d window · generated 2026-08-24 17:25:43 UTC · 0 providers