debug_traceCall

**Availability:** Access to the `debug` namespace depends on your endpoint's method allowlist. Starting **August 4, 2026 at 12:00 PM PST**, all `debug_*` methods require an API key appended to the RPC URL — unauthenticated calls are rejected. If you receive `-32601 method not found` or `method not supported` errors, contact Conduit support to confirm your endpoint's configuration. Traces a call against a particular block, returning detailed execution information per the chosen tracer. Useful for inspecting call traces, reconstructing state changes, or debugging reverts. The `tracer` choice in the config object controls the result shape (`callTracer` returns a nested call tree; `prestateTracer` returns a pre/post state diff; `noopTracer` returns nothing; etc.). When `tracer` is omitted, Geth defaults to the structured-opcode tracer (very verbose; not usually what you want). ⚡ Compute Units: [300 CU](https://docs.conduit.xyz/rpc-nodes/information/compute-units)

Request

This endpoint expects an object.
transactionobjectRequired

Transaction call object — same shape as eth_call.

blockIdentifierenum or stringOptional

Block number, tag, or hash. Defaults to "latest" when omitted (per reth; geth requires it — we follow the looser).

configobjectOptional

Trace configuration. Shared shape across all debug_trace* methods; see the TraceConfig schema.

Response

Tracer-dependent. For callTracer the result is a CallTrace object describing the outermost call and its nested sub-calls. For other tracers see the corresponding tracer’s documentation.

CallTraceobject

Nested call-tree entry returned by the callTracer. The top-level object describes the outermost call; each entry’s calls array contains sub-calls in execution order.

OR
map from strings to any

Non-callTracer result shape (varies by tracer).