Join AWS, Dust Labs & OrangeDAO at QuickPitch. Win $80k — Apply Today.


debug_traceCall RPC Method

The API credit value for this method is 9 . To learn more about API credits and each method's value, visit the API Credits page.


  1. object - The transaction call object with the following fields:
  2. from - string - (optional) The address the transaction is sent from

    to - string - The address the transaction is directed to

    gas - integer - (optional) The integer of the gas provided for the transaction execution

    gasPrice - integer - (optional) The integer of the gasPrice used for each paid gas

    value - integer - (optional) The integer of the value sent with this transaction

    data - string - (optional) The hash of the method signature and encoded parameters

  3. blockReference - string - The block number in hexadecimal format, the block hash, or tags. The supported tag values include earliest for the earliest/genesis block, latest for the latest mined block, pending for the pending state/transactions, safe for the most recent secure block, and finalized for the most recent secure block accepted by more than 2/3 of validators. safe and finalized are only supported on Ethereum, Gnosis, Arbitrum, Arbitrum Nova, and Avalanche C-chain
  4. object - (optional) The tracer object with the following fields:
  5. 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

    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


    1. result - The transaction trace object, which has the following fields:
    2. failed - The transaction is successful or not

      gas - The total consumed gas in the transaction

      returnValue - The return value of the executed contract call

      structLogs - The trace result of each step with the following fields:

      pc - The current index in bytecode

      op - The name of current executing operation

      gas - The available gas in the execution

      gasCost - The gas cost of the operation

      depth - The number of levels of calling functions

      error - The error of the execution

      stack - An array of values in the current stack

      memory - An array of values in the current memory

      storage - The mapping of the current storage

      refund - The total of current refund value

Code Examples:

curl \
-H "Content-Type: application/json" \
--data '{"method":"debug_traceCall","params":[{"from":null,"to":"0x6b175474e89094c44da98b954eedeac495271d0f","data":"0x70a082310000000000000000000000006E0d01A76C3Cf4288372a29124A26D4353EE51BE"}, "latest"],"id":1,"jsonrpc":"2.0"}'
Ready to get started? Create a free account