POST
/
2fc1de7f08c0465f6a28e3c355e0cb14
curl --request POST \
  --url https://base-mainnet.core.chainstack.com/2fc1de7f08c0465f6a28e3c355e0cb14 \
  --header 'Content-Type: application/json' \
  --data '{
  "jsonrpc": "2.0",
  "method": "debug_traceCall",
  "id": 1,
  "params": [
    {
      "to": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
      "gasPrice": "0x7896e72a",
      "data": "0x70a082310000000000000000000000001985ea6e9c68e1c272d8209f3b478ac2fdb25c87"
    },
    "latest"
  ]
}'
{
  "jsonrpc": "<string>",
  "id": 123,
  "result": {
    "structLogs": [
      {}
    ],
    "gas": 123,
    "returnValue": "<string>",
    "gasUsed": 123,
    "failed": true
  }
}

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.

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

Body

application/json

Response

200 - application/json
Detailed execution trace of the call

The response is of type object.