TriportRPC

debug_traceCall

Last updated:

`debug_traceCall` simulates a contract call exactly as [`eth_call`](./eth_call.md) would, but instead of returning only the call's return data it returns a structured EVM execution trace. The call is evaluated against the state at the supplied block — nothing is broadcast and no state is persisted. Use it to debug why a call reverts, to inspect internal call hierarchies and gas accounting, or to preview the effect of a transaction before sending it.

The method is part of the `debug` namespace and is available on the **pro** and **business** tiers. Because producing a trace is more expensive than a plain `eth_call`, the per-second limits are lower than for standard `eth_*` read methods.

By default the method uses the built-in **struct/opcode logger**, which emits one entry per executed opcode. For higher-level output pass a named tracer such as `callTracer` (call hierarchy) or `prestateTracer` (pre-execution state) in the options object.

Parameters

This method takes no parameters.

Returns

debug_traceCall return value
FieldType
resultobject

Examples

curl https://<your-endpoint>/ \
  -X POST -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"debug_traceCall","params":[]}'
const res = await fetch("https://<your-endpoint>/", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
  "id": 1,
  "method": "debug_traceCall",
  "params": [],
  "jsonrpc": "2.0"
}),
});
const data = await res.json();
import requests
resp = requests.post("https://<your-endpoint>/", json={"id":1,"method":"debug_traceCall","params":[],"jsonrpc":"2.0"})
print(resp.json())

Usage

  1. Transport: HTTP (JSON-RPC).
  2. Networks: mainnet.
  3. Credit cost: 5 per call.

FAQ

What does debug_traceCall do?
Executes an `eth_call` against the state of a chosen block and returns the full EVM execution trace, without broadcasting a transaction.
How many credits does debug_traceCall cost?
debug_traceCall costs 5 credit(s) per call on Triport by default.
Is debug_traceCall available over WebSocket?
debug_traceCall is an HTTP JSON-RPC method.