> For the complete documentation index, see [llms.txt](https://docs.solanavibestation.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.solanavibestation.com/api-reference/rewind/getmultipleaccounts.md).

# getMultipleAccounts

## getMultipleAccounts — Batched historical lookup at one shared boundary

> Returns the state of multiple accounts at one shared historical position.\
> \
> \*\*Parameters\*\*\
> \
> 0\. \`pubkeys\` (required) — array of base58 pubkeys, length 1..=\`max\_multi\_accounts\`.\
> 1\. \`config\` (required) — same shape as \`getAccountInfo\`'s config; one positioning mode required.\
> \
> Per-entry \`rewindSlot\` is independently resolved per pubkey: each entry's \`rewindSlot\` is the actual slot where its returned version lives (typically ≤ \`context.slot\`) and may differ between entries.<br>

```json
{"openapi":"3.0.3","info":{"title":"Rewind RPC: getMultipleAccounts","version":"1.0.0"},"tags":[{"name":"Rewind","description":"Historical account state and per-write change history."}],"servers":[{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Anchor":{"type":"object","required":["signature"],"properties":{"signature":{"type":"string"},"position":{"type":"string","enum":["before","after"],"default":"before"}}},"Encoding":{"type":"string","enum":["base64","base64+zstd","base58","jsonParsed"],"default":"base64"},"DataSlice":{"type":"object","required":["offset","length"],"properties":{"offset":{"type":"integer","format":"int64","minimum":0},"length":{"type":"integer","format":"int64","minimum":0}}},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]}}},"RewindContext":{"type":"object","required":["apiVersion","slot"],"properties":{"apiVersion":{"type":"string"},"slot":{"type":"integer","format":"int64"}}},"AccountInfo":{"type":"object","nullable":true,"required":["lamports","owner","data","executable","rentEpoch","space","rewindSlot"],"properties":{"lamports":{"type":"integer","format":"int64"},"owner":{"type":"string"},"data":{"oneOf":[{"type":"array","items":{"type":"string"},"minItems":2,"maxItems":2},{"type":"object","additionalProperties":true}]},"executable":{"type":"boolean"},"rentEpoch":{"type":"integer","format":"int64"},"space":{"type":"integer","format":"int64"},"rewindSlot":{"type":"integer","format":"int64","description":"Rewind extension. Actual slot of the version returned (≤ `context.slot`). Less than `context.slot` means the value carries forward from an earlier slot."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Rewind-specific codes: `-32014` future, `-32015` before earliest, `-32016` signature not found, `-32018` slot in archive gap.\n","properties":{"code":{"type":"integer"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/rewind":{"post":{"operationId":"getMultipleAccounts","summary":"getMultipleAccounts — Batched historical lookup at one shared boundary","tags":["Rewind"],"description":"Returns the state of multiple accounts at one shared historical position.\n\n**Parameters**\n\n0. `pubkeys` (required) — array of base58 pubkeys, length 1..=`max_multi_accounts`.\n1. `config` (required) — same shape as `getAccountInfo`'s config; one positioning mode required.\n\nPer-entry `rewindSlot` is independently resolved per pubkey: each entry's `rewindSlot` is the actual slot where its returned version lives (typically ≤ `context.slot`) and may differ between entries.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"method":{"type":"string","enum":["getMultipleAccounts"]},"params":{"type":"array","description":"Positional parameters [pubkeys, config].","minItems":2,"maxItems":2,"items":{"anyOf":[{"title":"pubkeys","type":"array","description":"Base58 pubkeys, length 1..=`max_multi_accounts`.","minItems":1,"items":{"type":"string"}},{"title":"config","type":"object","properties":{"slot":{"type":"integer","format":"int64","description":"End-of-slot boundary. Required unless `anchor` is set."},"anchor":{"$ref":"#/components/schemas/Anchor"},"encoding":{"$ref":"#/components/schemas/Encoding"},"dataSlice":{"$ref":"#/components/schemas/DataSlice"},"commitment":{"type":"string","description":"Accepted for compatibility; ignored."},"tolerateGaps":{"type":"boolean","default":false}}}]}}}}}}},"responses":{"200":{"description":"Successful response. Some entries may be `null` (no version exists, or response byte cap hit).","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["context","value","truncatedByBytes"],"properties":{"context":{"$ref":"#/components/schemas/RewindContext"},"value":{"type":"array","description":"AccountInfo entries (or `null`) in request order. `null` indicates either \"no version exists at or before the resolved boundary\" or \"response byte cap reached before this entry\".","items":{"$ref":"#/components/schemas/AccountInfo"}},"truncatedByBytes":{"type":"boolean","description":"True if the 10 MiB response cap was reached. Resubmit the truncated tail with a smaller batch."}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```
