> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# debug_traceCallMany | Base

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.

<Check>
  **Get your own node endpoint today**

  [Start for free](https://console.chainstack.com/) and get your app to production levels immediately. No credit card required.

  You can sign up with your GitHub, X, Google, or Microsoft account.
</Check>

## 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.


## OpenAPI

````yaml /openapi/base_node_api/debug_traceCallMany.json POST /2fc1de7f08c0465f6a28e3c355e0cb14
openapi: 3.0.0
info:
  title: debug_traceCallMany example
  version: 1.0.0
  description: >-
    This API example demonstrates how to use the debug_traceCallMany method to
    execute multiple calls and  retrieve detailed execution traces of those
    calls, similar to transactions but without creating transactions on the 
    blockchain.
servers:
  - url: https://base-mainnet.core.chainstack.com
security: []
paths:
  /2fc1de7f08c0465f6a28e3c355e0cb14:
    post:
      tags:
        - Debug Operations
      summary: Execute multiple calls and retrieve detailed execution traces
      operationId: traceCallMany
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                jsonrpc:
                  type: string
                  default: '2.0'
                method:
                  type: string
                  default: debug_traceCallMany
                id:
                  type: integer
                  default: 1
                params:
                  type: array
                  description: Parameters for the call
                  default:
                    - - transactions:
                          - from: '0x1985EA6E9c68E1C272d8209f3B478AC2Fdb25c87'
                            to: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'
                            gas: '0xf4240'
                            gasPrice: '0x7896e72a'
                            data: >-
                              0xa9059cbb000000000000000000000000bc0E63965946815d105E7591407704e6e1964E590000000000000000000000000000000000000000000000000000000005f5e100
                          - to: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'
                            gasPrice: '0x7896e72a'
                            data: >-
                              0x70a08231000000000000000000000000bc0E63965946815d105E7591407704e6e1964E59
                        blockOverride:
                          blockNumber: '0xbb5fe9'
                    - blockNumber: '0xbb5fe9'
                      transactionIndex: 1
                    - {}
      responses:
        '200':
          description: Detailed execution traces of the calls
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                  id:
                    type: integer
                  result:
                    type: array
                    items:
                      type: object
                      properties:
                        structLogs:
                          type: array
                          items:
                            type: object
                            properties:
                              pc:
                                type: integer
                              op:
                                type: string
                              gas:
                                type: integer
                              gasCost:
                                type: integer
                              depth:
                                type: integer
                              stack:
                                type: array
                              memory:
                                type: array
                        gas:
                          type: integer
                        returnValue:
                          type: string
                        gasUsed:
                          type: integer
                        failed:
                          type: boolean

````