We're now supporting Polygon zkEVM!
Learn more here.


debug_traceBlockByHash 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. blockHash - string - The hash of the block to be traced
  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:

var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "method": "debug_traceBlockByHash",
  "params": [
      "tracer": "callTracer"
  "id": 1,
  "jsonrpc": "2.0"

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'

fetch("http://sample-endpoint-name.network.quiknode.pro/token-goes-here/", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
Ready to get started? Create a free account