> ## 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_traceCall | Base

Executes a call and retrieves a detailed execution trace of the call, similar to a transaction but without creating a transaction on the blockchain. This method is crucial for developers and analysts who need to understand the execution flow of a call, including all the operations (opcodes) executed, gas usage, and the call's outcome.

<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_traceCall`, send a POST request with a JSON RPC call in the body.

## Parameters

* **from** (`string`): The address the call is sent from.
* **to** (`string`): The address the call is directed to.
* **gasPrice** (`string`): The gas price for the call.
* **data** (`string`): The data sent along with the call.

## Response

The response includes a detailed execution trace of the call, providing insights into each step of the call's execution.

* **result** (`object`): The detailed execution trace, 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_traceCall` method is essential for:

* Developers debugging smart contract interactions.
* Analysts conducting forensic analysis of calls.
* Tools and services that provide insights into Ethereum Virtual Machine (EVM) execution.


## OpenAPI

````yaml /openapi/base_node_api/debug_traceCall.json POST /2fc1de7f08c0465f6a28e3c355e0cb14
openapi: 3.0.0
info:
  title: debug_traceCall example
  version: 1.0.0
  description: >-
    This API example demonstrates how to use the debug_traceCall method to
    execute a call and retrieve a  detailed execution trace of the call, similar
    to a transaction but without creating a transaction on the blockchain.
servers:
  - url: https://base-mainnet.core.chainstack.com
security: []
paths:
  /2fc1de7f08c0465f6a28e3c355e0cb14:
    post:
      tags:
        - Debug Operations
      summary: Execute a call and retrieve a detailed execution trace
      operationId: traceCall
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                jsonrpc:
                  type: string
                  default: '2.0'
                method:
                  type: string
                  default: debug_traceCall
                id:
                  type: integer
                  default: 1
                params:
                  type: array
                  description: Parameters for the call
                  default:
                    - to: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'
                      gasPrice: '0x7896e72a'
                      data: >-
                        0x70a082310000000000000000000000001985ea6e9c68e1c272d8209f3b478ac2fdb25c87
                    - latest
      responses:
        '200':
          description: Detailed execution trace of the call
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                  id:
                    type: integer
                  result:
                    type: object
                    properties:
                      structLogs:
                        type: array
                        items:
                          type: object
                        description: >-
                          An array of execution steps (opcodes) taken by the
                          call.
                      gas:
                        type: integer
                        description: The gas provided by the call.
                      returnValue:
                        type: string
                        description: The return value of the call, if any.
                      gasUsed:
                        type: integer
                        description: The total gas used by the call.
                      failed:
                        type: boolean
                        description: Indicates whether the call failed.

````