> 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/methods/getmultipleaccounts.md).

# getMultipleHistoricalAccounts

## getMultipleHistoricalAccounts — Batched historical lookup at one shared position

> Returns the state of multiple accounts at one shared historical position.\
> \
> \*\*Parameters\*\*\
> \
> 0\. \`pubkeys\` (required) — array of base58 pubkeys, length 1..=100.\
> 1\. \`config\` (required) — same shape as \`getHistoricalAccountInfo\`'s config; one positioning mode required.<br>

```json
{"openapi":"3.0.3","info":{"title":"Rewind RPC: getMultipleHistoricalAccounts","version":"1.0.0"},"tags":[{"name":"Rewind","description":"Historical account state, per-write change history, and historical simulation."}],"servers":[{"url":"https://rewind.solanavibestation.com","description":"Rewind service (all tiers routed by API key)"}],"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","rewindWriteVersion"],"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`)."},"rewindWriteVersion":{"type":"integer","format":"int64","description":"Rewind extension. `writeVersion` of the version returned within `rewindSlot`."}}},"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 codes: `-32014` future, `-32015` before earliest, `-32016` signature not found, `-32017` filtered account (Vote), `-32018` slot in archive gap. The gap check applies to the shared position, so a gap refuses the whole batch unless `tolerateGaps: true`.\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":{"/":{"post":{"operationId":"getMultipleHistoricalAccounts","summary":"getMultipleHistoricalAccounts — Batched historical lookup at one shared position","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..=100.\n1. `config` (required) — same shape as `getHistoricalAccountInfo`'s config; one positioning mode required.\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":["getMultipleHistoricalAccounts"]},"params":{"type":"array","description":"Positional parameters [pubkeys, config].","minItems":2,"maxItems":2,"items":{"anyOf":[{"title":"pubkeys","type":"array","description":"Base58 pubkeys, length 1..=100.","minItems":1,"maxItems":100,"items":{"type":"string"}},{"title":"config","type":"object","properties":{"slot":{"type":"integer","format":"int64","description":"End-of-slot boundary, or (with `writeVersion`) the slot for the inside-a-slot cursor. Required unless `anchor` is set."},"writeVersion":{"type":"integer","format":"int64","description":"Position inside `slot`. Values come from `getAccountChanges` rows."},"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 at or before the resolved position, filtered account, 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 at or before the resolved position\" 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."}}}}}]}}}},"400":{"description":"Malformed JSON."},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```
