For the complete documentation index, see llms.txt. This page is also available as Markdown.

simulateHistoricalTransaction

simulateHistoricalTransaction — Replay a transaction against archived state

post

Runs a signed or unsigned transaction against the archive at a chosen position.

Parameters

  1. transaction (required) — base64 (default) or base58 wire-format string. Legacy, v0 and v1 accepted.

  2. config (required) — see fields below.

Positioning. Set one of:

  • slot: N — end-of-slot; lookup tables and (by default) account state load at end of slot N.

  • slot: N, writeVersion: W — exact inside-slot boundary.

  • anchor: { signature, position } — immediately before or after that transaction; slot is resolved from the signature.

Optional preStateSlot loads account state at end of a different slot than lookup tables (lookup tables still resolve at slot). Ignored with writeVersion or anchor.

Overrides. accountOverrides is a map of base58 pubkey → override, up to 64 entries. Two variants:

  • static — supply lamports, owner, data, optional executable / rentEpoch.

  • loadAt — { "loadAt": { "slot" / "writeVersion" / "anchor" } } reads the account from the archive at that position instead of the simulation's.

Overrides are applied last, so they always win. Sysvars, address-lookup tables and the program-data account of an upgradeable program cannot be overridden statically. A loadAt that moves an upgradeable program without moving its program-data account to the same position (or vice versa) is refused with -32602 naming both accounts.

Authorizations
AuthorizationstringOptional

Pass Authorization: <api-key> on each request.

Body
jsonrpcstring · enumRequiredExample: 2.0Possible values:
idone ofRequiredExample: 1
stringOptional
or
integerOptional
methodstring · enumRequiredExample: simulateHistoricalTransactionPossible values:
Responses
200

Successful simulation.

application/json
jsonrpcstring · enumRequiredPossible values:
idone ofRequired
stringOptional
or
integerOptional
post/
curl -X POST https://rewind.solanavibestation.com \
  -H "Content-Type: application/json" \
  -H "Authorization: your-api-key-here" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "simulateHistoricalTransaction",
    "params": [
      "<base64-signed-transaction>",
      {
        "slot": 447075844,
        "innerInstructions": true
      }
    ]
  }'
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "context": {
      "apiVersion": "rewind-0.4.0",
      "slot": 447075844
    },
    "value": {
      "err": null,
      "logs": [
        "Program ComputeBudget111111111111111111111111111111 invoke [1]",
        "..."
      ],
      "accounts": [
        {
          "lamports": 1,
          "owner": "...",
          "data": [
            "",
            "base64"
          ],
          "executable": false,
          "rentEpoch": 18446744073709552000,
          "space": 0
        },
        null
      ],
      "unitsConsumed": 763060,
      "returnData": null,
      "innerInstructions": [
        {
          "index": 2,
          "instructions": [
            {
              "programIdIndex": 5,
              "accounts": [
                1,
                2
              ],
              "data": "<base58>",
              "stackHeight": 2
            }
          ]
        }
      ],
      "rewindSlot": 447075844,
      "rewindLoadSlot": 447075844,
      "rewindLoadWriteVersion": 206793211,
      "rewindOverriddenAccounts": [],
      "rewindOverrideLoads": {}
    }
  }
}

Last updated