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


debug_traceBlockByNumber RPC Method

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

Please note that this RPC method requires the "Trace Mode" add-on to be enabled on your QuickNode endpoint.


  1. blockNumber - string - The block number as a string in hexadecimal format 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
  2. object- (optional) The tracer object with the following fields:
  3. 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. type - The type of the call
  2. from - The address the transaction is sent from
  3. to - The address the transaction is directed to
  4. value - The integer of the value sent with this transaction
  5. gas - The integer of the gas provided for the transaction execution
  6. gasUsed - The integer of the gas used
  7. input - The data given at the time of input
  8. output - The data which is returned as an output
  9. calls - A list of sub-calls
  10. time - (optional) The timestamp associated with the block (It is only returned for Harmony)

Code Examples:

const ethers = require("ethers");
(async () => {
  const provider = new ethers.providers.JsonRpcProvider("");
  const response = await provider.send("debug_traceBlockByNumber", [
    { "tracer": "callTracer" },
Ready to get started? Create a free account