Skip to content

Solana method

getMultipleAccounts

Fetches up to 100 accounts in one call.

moderateModerate: reads state or executes code, but over a bounded range.Primary specification (opens in a new tab)

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.
configObjectoptional
encoding, 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 null entry 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.

1h window · generated 2026-08-24 17:26:25 UTC · 0 providers