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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.chainstack.com/feedback

```json
{
  "path": "/reference/base-trace-call",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# trace_call | Base

Base API method `trace_call` allows for the execution of a call transaction and returns a number of possible traces for it. This method is useful for simulating transactions without broadcasting them to the network, allowing developers to test and debug their transactions in a controlled environment.

## Parameters

* `transaction` — The transaction to be executed, specified as an object. This includes fields such as `from`, `to`, `gas`, `gasPrice`, `value`, and `data`.
* `traceTypes` — An array of strings specifying the types of traces to return. Common trace types include `"vmTrace"`, `"trace"`, and `"stateDiff"`.
* `blockNumber` — The block number against which the transaction should be executed. This can be a specific block number, `"earliest"`, `"latest"`, or `"pending"`.

## Response

* `result` — Depending on the requested `traceTypes`, the result may include various forms of trace data such as VM operation trace, state changes, and executed transaction trace. This data is crucial for understanding how a transaction interacts with the EVM and alters the blockchain state.

## Use case

A possible use case for the `trace_call` method in Base is for smart contract developers who need to debug complex interactions with the Ethereum Virtual Machine (EVM). By simulating transactions, developers can identify and fix issues before deploying contracts or sending transactions on the live network. Additionally, it can be used to estimate gas usage more accurately or to verify that a transaction will behave as expected without actually making a state change on the blockchain.


## OpenAPI

````yaml /openapi/base_node_api/trace_call.json POST /2fc1de7f08c0465f6a28e3c355e0cb14
openapi: 3.0.0
info:
  title: trace_call example
  version: 1.0.0
  description: >-
    This is an API example for trace_call, a method to execute a new message
    call immediately without creating a transaction on the block chain.
servers:
  - url: https://base-mainnet.core.chainstack.com
security: []
paths:
  /2fc1de7f08c0465f6a28e3c355e0cb14:
    post:
      tags:
        - Ethereum Operations
      summary: trace_call
      operationId: call
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                jsonrpc:
                  type: string
                  default: '2.0'
                method:
                  type: string
                  default: trace_call
                id:
                  type: integer
                  default: 1
                params:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          from:
                            type: string
                            nullable: true
                            default: null
                          to:
                            type: string
                            default: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'
                          data:
                            type: string
                            default: >-
                              0x70a082310000000000000000000000001985ea6e9c68e1c272d8209f3b478ac2fdb25c87
                      - type: array
                        items:
                          type: string
                        default:
                          - trace
                          - vmTrace
                      - type: string
                        default: latest
                  default:
                    - from: null
                      to: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'
                      data: >-
                        0x70a082310000000000000000000000001985ea6e9c68e1c272d8209f3b478ac2fdb25c87
                    - - trace
                      - vmTrace
                    - latest
      responses:
        '200':
          description: The result of the call
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                  id:
                    type: integer
                  result:
                    type: string

````