Skip to main content
Returns all traces of a given transaction. This method will use 80 Compute Units.
Traces need the state of the traced block, so Unichain Mainnet can trace roughly the last 10,000 blocks, about 2.8 hours at Unichain’s 1-second block time. Older blocks return JSON-RPC error -32603 with a message that contains state at block #<number> is pruned.

Parameters

transactionHash - String - Required - The transaction hash to be traced. object - Object - Required - The tracer object with the following fields:
  • tracer - String - The type of tracer, options are: callTracer or prestateTracer.
    • callTracer - String - The callTracer keeps track of all call frames, including depth - calls, that are made during a transaction.
    • prestateTracer - String - The prestateTracer replays the transaction and tracks every part of state that occurred during the transaction.
  • tracerConfig - Object (Optional) - The object to specify the configurations of the tracer.
    • onlyTopCall - Boolean - When set to true, this will only trace the primary (top-level) call and not any sub-calls. It eliminates the additional processing for each call frame.
  • timeout - String (Optional) - A string of decimal integers that overrides the JavaScript-based tracing calls default timeout of 5 seconds. Example: 10s for 10 seconds.

Returns

result - With callTracer, an object with the result of the trace, containing:
  • from - The address the transaction is sent from.
  • gas - The integer of the gas provided for the transaction execution.
  • gasUsed - The integer of the gas used.
  • to - The address the transaction is directed to.
  • input - The data given at the time of input.
  • value - The integer of the value sent with this transaction.
  • type - The type of call.
With prestateTracer, the result is instead a map keyed by account address, holding the state the transaction touched (such as balance, nonce, code and storage).