# tracer The tracer object with the following fields: * `tracer` - string - The type of tracer. It could be `callTracer` or `prestateTracer`. * `callTracer` - The calltracer keeps track of all call frames, including depth 0 calls, that are made during a transaction * `prestateTracer` - The prestateTracer replays the transaction and tracks every part of state that occured during the transaction * If not set, generate an execution trace for every evm step. * `tracerConfig` - object - 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 ## Example ```Text JSON { "tracer": "callTracer", "tracerConfig": { "onlyTopCall": false } } ```