debug_traceCallMany | Optimism

Executes a list of bundles (a bundle is a collection of transactions), without creating transactions on the blockchain. Returns their traces. This method is akin to eth_callMany but provides detailed execution traces for each call, making it invaluable for debugging complex interactions involving multiple transactions.

👍

Get you own node endpoint today

Start for free and get your app to production levels immediately. No credit card required.

You can sign up with your GitHub, X, Google, or Microsoft account.

Request

To use debug_traceCallMany, send a POST request with a JSON RPC call in the body.

Parameters

  • transactions (array): An array of transaction objects to be executed. Each transaction object includes:
    • from (string): The address the transaction is sent from (optional).
    • to (string): The address the transaction is directed to.
    • gas (string): The gas limit for the transaction.
    • gasPrice (string): The gas price for the transaction.
    • data (string): The data sent along with the transaction.
  • blockOverride (object): Optional overrides for the execution context block header, including:
    • blockNumber (string): Block number for the execution context.
  • Simulation Context (object): The context for the simulation, including block number and transaction index.
  • State Overrides (object): Optional state overrides for the execution context.

Response

The response includes detailed execution traces for each call in the bundles, providing insights into each step of the transactions' execution.

  • result (array): An array of execution traces for each call, including:
    • structLogs (array): An array of execution steps (opcodes) taken by the call.
    • gas (integer): The gas provided by the call.
    • returnValue (string): The return value of the call, if any.
    • gasUsed (integer): The total gas used by the call.
    • failed (boolean): Indicates whether the call failed.

Use case

The debug_traceCallMany method is essential for:

  • Developers debugging complex interactions involving multiple transactions.
  • Analysts conducting forensic analysis of transaction sequences.
  • Tools and services that provide insights into Ethereum Virtual Machine (EVM) execution across multiple calls.

Try the debug_traceCallMany RPC method yourself

Language
Click Try It! to start a request and see the response here!