debug_traceCall
Last updated:
debug_traceCall simulates a contract call exactly as
eth_call 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
| Field | Type |
|---|---|
| result | object |
Examples
curl https://triport.io/sol \
-X POST -H 'Content-Type: application/json' \
-H 'Authorization: Bearer <api-key>' \
-d '{"id":1,"method":"debug_traceCall","params":[],"jsonrpc":"2.0"}'const res = await fetch("https://triport.io/sol", {
method: "POST",
headers: { "Content-Type": "application/json", Authorization: "Bearer <api-key>" },
body: JSON.stringify({
"id": 1,
"method": "debug_traceCall",
"params": [],
"jsonrpc": "2.0"
}),
});
const data = await res.json();import requests
resp = requests.post(
"https://triport.io/sol",
headers={"Authorization": "Bearer <api-key>"},
json={"id":1,"method":"debug_traceCall","params":[],"jsonrpc":"2.0"},
)
print(resp.json())Usage
- Transport: HTTP (JSON-RPC).
- Networks: mainnet.
- 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.