Skip to main content

eth_simulateV1

Executes a sequence of message calls building on each other's state without creating transactions on the block chain, optionally overriding block and state data

Parameters (by position)

Payload undefined required


Block tag string or string or string

default: 'latest'


Show Option 1 Block number string

Block number fields

default: 'latest'

Block tag string

default: 'latest'

Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


Show Option 2 Block tag string

Block tag fields

earliest: The lowest numbered block the client has available; finalized: The most recent crypto-economically secure block, cannot be re-orged outside of manual intervention driven by community coordination; safe: The most recent block that is safe from re-orgs under honest majority and certain synchronicity assumptions; latest: The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions; pending: A sample next block built by the client on top of latest and containing the set of transactions usually taken from local mempool. Before the merge transition is finalized, any call querying for finalized or safe block MUST be responded to with -39001: Unknown block error

Block tag string

default: 'latest'

Allowed values: earliest finalized safe latest pending


Show Option 3 Block hash string

Block hash fields

default: 'latest'

Block tag string

default: 'latest'

Match pattern: ^0x[0-9a-f]{64}$


Result

Result of calls array<object>

Result of eth_simulate block-level, with array of calls


Show Result of calls object

Result of calls fields

  • hash string required

    Hash

    Match pattern: ^0x[0-9a-f]{64}$


  • parentHash string required

    Parent block hash

    Match pattern: ^0x[0-9a-f]{64}$


  • sha3Uncles string required

    Ommers hash

    Match pattern: ^0x[0-9a-f]{64}$


  • miner string required

    Coinbase

    Match pattern: ^0x[0-9a-fA-F]{40}$


  • stateRoot string required

    State root

    Match pattern: ^0x[0-9a-f]{64}$


  • transactionsRoot string required

    Transactions root

    Match pattern: ^0x[0-9a-f]{64}$


  • receiptsRoot string required

    Receipts root

    Match pattern: ^0x[0-9a-f]{64}$


  • logsBloom string required

    Bloom filter

    Match pattern: ^0x[0-9a-f]{512}$


  • difficulty string

    Difficulty

    Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


  • number string required

    Number

    Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


  • gasLimit string required

    Gas limit

    Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


  • gasUsed string required

    Gas used

    Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


  • timestamp string required

    Timestamp

    Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


  • extraData string required

    Extra data

    Match pattern: ^0x[0-9a-f]*$


  • mixHash string required

    Mix hash

    Match pattern: ^0x[0-9a-f]{64}$


  • nonce string required

    Nonce

    Match pattern: ^0x[0-9a-f]{16}$


  • baseFeePerGas string

    Base fee per gas

    Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


  • withdrawalsRoot string

    Withdrawals root

    Match pattern: ^0x[0-9a-f]{64}$


  • blobGasUsed string

    Blob gas used

    Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


  • excessBlobGas string

    Excess blob gas

    Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


  • parentBeaconBlockRoot string

    Parent Beacon Block Root

    Match pattern: ^0x[0-9a-f]{64}$


  • size string required

    Block size

    Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


  • transactions array<string> or array<object> required


    Show Option 1 Transaction hashes array

    Transaction hashes fields

    transactions array<string> required

    32 byte hex value

    Match pattern: ^0x[0-9a-f]{64}$


    Show Option 2 Full transactions array

    Full transactions fields

    transactions object or object or object or object or object required


    Show Option 1 Signed 7702 Transaction object

    Signed 7702 Transaction fields

    transactions array<object> required

    Signed 7702 Transaction


    Show transactions object

    transactions fields

    • type string required

      type

      Match pattern: ^0x4$


    • nonce string required

      nonce

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • to string required

      to address

      Match pattern: ^0x[0-9a-fA-F]{40}$


    • gas string required

      gas limit

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • value string required

      value

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • input string required

      input data

      Match pattern: ^0x[0-9a-f]*$


    • maxPriorityFeePerGas string required

      Maximum fee per gas the sender is willing to pay to miners in wei

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • maxFeePerGas string required

      The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • gasPrice string

      The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • accessList array<object> required

      EIP-2930 access lists


      Show accessList object

      accessList fields

      EIP-2930 access lists

      • address string required

        hex encoded address

        Match pattern: ^0x[0-9a-fA-F]{40}$


      • storageKeys array<string> required

        32 byte hex value

        Match pattern: ^0x[0-9a-f]{64}$


      • additionalProperties false


    • chainId string required

      Chain ID that this transaction is valid on

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • authorizationList array<object> required

      List of authorizations for the transaction


      Show authorizationList object

      authorizationList fields

      List of authorizations for the transaction

      • chainId string required

        Chain ID on which this transaction is valid

        Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


      • nonce string required

        nonce

        Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


      • address string required

        hex encoded address

        Match pattern: ^0x[0-9a-fA-F]{40}$


      • yParity string required

        The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature

        Match pattern: ^0x([0-9a-fA-F]?){1,2}$


      • r string required

        r

        Match pattern: ^0x(0|[1-9a-f][0-9a-f]{0,63})$


      • s string required

        s

        Match pattern: ^0x(0|[1-9a-f][0-9a-f]{0,63})$


      • additionalProperties true


    • yParity string required

      The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.

      Match pattern: ^0x([0-9a-fA-F]?){1,2}$


    • v string

      For backwards compatibility, v is optionally provided as an alternative to yParity. This field is DEPRECATED and all use of it should migrate to yParity.

      Match pattern: ^0x([0-9a-fA-F]?){1,2}$


    • r string required

      r

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • s string required

      s

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • additionalProperties true


    Show Option 2 Signed 4844 Transaction object

    Signed 4844 Transaction fields

    transactions array<object> required

    Signed 4844 Transaction


    Show transactions object

    transactions fields

    • type string required

      type

      Match pattern: ^0x3$


    • nonce string required

      nonce

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • to string required

      to address

      Match pattern: ^0x[0-9a-fA-F]{40}$


    • gas string required

      gas limit

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • value string required

      value

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • input string required

      input data

      Match pattern: ^0x[0-9a-f]*$


    • maxPriorityFeePerGas string required

      Maximum fee per gas the sender is willing to pay to miners in wei

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • maxFeePerGas string required

      The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • maxFeePerBlobGas string required

      The maximum total fee per gas the sender is willing to pay for blob gas in wei

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • gasPrice string

      The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • accessList array<object> required

      EIP-2930 access list


      Show accessList object

      accessList fields

      EIP-2930 access list

      • address string required

        hex encoded address

        Match pattern: ^0x[0-9a-fA-F]{40}$


      • storageKeys array<string> required

        32 byte hex value

        Match pattern: ^0x[0-9a-f]{64}$


      • additionalProperties false


    • blobVersionedHashes array<string> required

      List of versioned blob hashes associated with the transaction's EIP-4844 data blobs

      Match pattern: ^0x[0-9a-f]{64}$


    • chainId string required

      Chain ID that this transaction is valid on

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • yParity string required

      The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.

      Match pattern: ^0x([0-9a-fA-F]?){1,2}$


    • v string

      For backwards compatibility, v is optionally provided as an alternative to yParity. This field is DEPRECATED and all use of it should migrate to yParity.

      Match pattern: ^0x([0-9a-fA-F]?){1,2}$


    • r string required

      r

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • s string required

      s

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • additionalProperties true


    Show Option 3 Signed 1559 Transaction object

    Signed 1559 Transaction fields

    transactions array<object> required

    Signed 1559 Transaction


    Show transactions object

    transactions fields

    • type string required

      type

      Match pattern: ^0x2$


    • nonce string required

      nonce

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • to null or string


      Show Option 1 Contract Creation (null) null

      Contract Creation (null) fields

      to null

      Contract Creation (null)


      Show Option 2 Address string

      Address fields

      to string

      Address

      Match pattern: ^0x[0-9a-fA-F]{40}$


    • gas string required

      gas limit

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • value string required

      value

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • input string required

      input data

      Match pattern: ^0x[0-9a-f]*$


    • maxPriorityFeePerGas string required

      Maximum fee per gas the sender is willing to pay to miners in wei

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • maxFeePerGas string required

      The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • gasPrice string required

      The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • accessList array<object> required

      EIP-2930 access list


      Show accessList object

      accessList fields

      EIP-2930 access list

      • address string required

        hex encoded address

        Match pattern: ^0x[0-9a-fA-F]{40}$


      • storageKeys array<string> required

        32 byte hex value

        Match pattern: ^0x[0-9a-f]{64}$


      • additionalProperties false


    • chainId string required

      Chain ID that this transaction is valid on.

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • yParity string required

      The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.

      Match pattern: ^0x([0-9a-fA-F]?){1,2}$


    • v string

      For backwards compatibility, v is optionally provided as an alternative to yParity. This field is DEPRECATED and all use of it should migrate to yParity.

      Match pattern: ^0x([0-9a-fA-F]?){1,2}$


    • r string required

      r

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • s string required

      s

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • additionalProperties true


    Show Option 4 Signed 2930 Transaction object

    Signed 2930 Transaction fields

    transactions array<object> required

    Signed 2930 Transaction


    Show transactions object

    transactions fields

    • type string required

      type

      Match pattern: ^0x1$


    • nonce string required

      nonce

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • to null or string


      Show Option 1 Contract Creation (null) null

      Contract Creation (null) fields

      to null

      Contract Creation (null)


      Show Option 2 Address string

      Address fields

      to string

      Address

      Match pattern: ^0x[0-9a-fA-F]{40}$


    • gas string required

      gas limit

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • value string required

      value

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • input string required

      input data

      Match pattern: ^0x[0-9a-f]*$


    • gasPrice string required

      The gas price willing to be paid by the sender in wei

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • accessList array<object> required

      EIP-2930 access list


      Show accessList object

      accessList fields

      EIP-2930 access list

      • address string required

        hex encoded address

        Match pattern: ^0x[0-9a-fA-F]{40}$


      • storageKeys array<string> required

        32 byte hex value

        Match pattern: ^0x[0-9a-f]{64}$


      • additionalProperties false


    • chainId string required

      Chain ID that this transaction is valid on.

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • yParity string required

      The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature.

      Match pattern: ^0x([0-9a-fA-F]?){1,2}$


    • v string

      For backwards compatibility, v is optionally provided as an alternative to yParity. This field is DEPRECATED and all use of it should migrate to yParity.

      Match pattern: ^0x([0-9a-fA-F]?){1,2}$


    • r string required

      r

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • s string required

      s

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • additionalProperties true


    Show Option 5 Signed Legacy Transaction object

    Signed Legacy Transaction fields

    transactions array<object> required

    Signed Legacy Transaction


    Show transactions object

    transactions fields

    • type string required

      type

      Match pattern: ^0x0$


    • nonce string required

      nonce

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • to null or string


      Show Option 1 Contract Creation (null) null

      Contract Creation (null) fields

      to null

      Contract Creation (null)


      Show Option 2 Address string

      Address fields

      to string

      Address

      Match pattern: ^0x[0-9a-fA-F]{40}$


    • gas string required

      gas limit

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • value string required

      value

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • input string required

      input data

      Match pattern: ^0x[0-9a-f]*$


    • gasPrice string required

      The gas price willing to be paid by the sender in wei

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • chainId string

      Chain ID that this transaction is valid on.

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • v string required

      v

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • r string required

      r

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • s string required

      s

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


    • additionalProperties true


  • withdrawals array<object>

    Validator withdrawal


    Show withdrawals object

    withdrawals fields

    • index string required

      index of withdrawal

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]{0,15})$


    • validatorIndex string required

      index of validator that generated withdrawal

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]{0,15})$


    • address string required

      recipient address for withdrawal value

      Match pattern: ^0x[0-9a-fA-F]{40}$


    • amount string required

      value contained in withdrawal

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]{0,63})$


    • additionalProperties false


  • uncles array<string> required

    32 byte hex value

    Match pattern: ^0x[0-9a-f]{64}$


  • requestsHash string

    EIP-7685 requests hash

    Match pattern: ^0x[0-9a-f]{64}$


  • calls object or object required


    Show Option 1 Result of call failure object

    Result of call failure fields

    The error messages are suggestions, and clients might implement different error messages. However, the error codes are enforced by the spec.

    calls array<object> required

    The error messages are suggestions, and clients might implement different error messages. However, the error codes are enforced by the spec.


    Show calls object

    calls fields

    • status string required

      Call Status Failure

      Match pattern: ^0x0$


    • returnData string required

      Return data

      Match pattern: ^0x[0-9a-f]*$


    • gasUsed string required

      Return gasUsed

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]{0,15})$


    • error object or object required


      Show Option 1 error object

      error fields

      error object required


      Show error object

      error fields

      • message string required

        Match pattern: ^execution reverted.*


      • additionalProperties true


      Show Option 2 error object

      error fields

      error object required


      Show error object

      error fields

      • message string

        Match pattern: ^vm execution error.*


      • additionalProperties true


    • additionalProperties true


    Show Option 2 Result of call success object

    Result of call success fields

    calls array<object> required

    Result of call success


    Show calls object

    calls fields

    • status string required

      Call Status Success

      Match pattern: ^0x1$


    • returnData string required

      Return data

      Match pattern: ^0x[0-9a-f]*$


    • gasUsed string required

      Return gasUsed

      Match pattern: ^0x(0|[1-9a-f][0-9a-f]{0,15})$


    • logs array<object> required

      log


      Show logs object

      logs fields

      • removed boolean

        removed


      • logIndex string

        log index

        Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


      • transactionIndex string

        transaction index

        Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


      • transactionHash string required

        transaction hash

        Match pattern: ^0x[0-9a-f]{64}$


      • blockHash string

        block hash

        Match pattern: ^0x[0-9a-f]{64}$


      • blockNumber string

        block number

        Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


      • blockTimestamp string

        block timestamp

        Match pattern: ^0x(0|[1-9a-f][0-9a-f]*)$


      • address string

        address

        Match pattern: ^0x[0-9a-fA-F]{40}$


      • data string

        data

        Match pattern: ^0x[0-9a-f]*$


      • topics array<string>

        32 hex encoded bytes

        Match pattern: ^0x[0-9a-f]{64}$


      • additionalProperties false


    • additionalProperties true


  • additionalProperties true


Errors

Error code: -32000

  • code

    -32000

  • message

    Invalid request

Error code: -32602

  • code

    -32602

  • message

    Missing or invalid parameters

Error code: -32005

  • code

    -32005

  • message

    Transactions maxFeePerGas is too low

Error code: -32015

  • code

    -32015

  • message

    Execution error

Error code: -32016

  • code

    -32016

  • message

    Timeout

Error code: -32603

  • code

    -32603

  • message

    The Ethereum node encountered an internal error

Error code: -38010

  • code

    -38010

  • message

    Transactions nonce is too low

Error code: -38011

  • code

    -38011

  • message

    Transactions nonce is too high

Error code: -38012

  • code

    -38012

  • message

    Transactions baseFeePerGas is too low

Error code: -38013

  • code

    -38013

  • message

    Not enough gas provided to pay for intrinsic gas for a transaction

Error code: -38014

  • code

    -38014

  • message

    Insufficient funds to pay for gas fees and value for a transaction

Error code: -38015

  • code

    -38015

  • message

    Block gas limit exceeded by the block's transactions

Error code: -38020

  • code

    -38020

  • message

    Block number in sequence did not increase

Error code: -38021

  • code

    -38021

  • message

    Block timestamp in sequence did not increase or stay the same

Error code: -38022

  • code

    -38022

  • message

    MovePrecompileToAddress referenced itself in replacement

Error code: -38023

  • code

    -38023

  • message

    Multiple MovePrecompileToAddress referencing the same address to replace

Error code: -38024

  • code

    -38024

  • message

    Sender is not an EOA

Error code: -38025

  • code

    -38025

  • message

    Max init code size exceeded

Error code: -38026

  • code

    -38026

  • message

    Client adjustable limit exceeded