The traceBlock method will return a full stack trace of all invoked opcodes of all transaction that were included in this block. Note, the parent of this block must be present or it will fail. For the second parameter see TraceConfig reference.


  • block: string - The RLP encoded block
  • object: array - 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
    • 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
curl \
--request POST \
--header "Content-Type: application/json" \
--data '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "debug_traceBlockByHash",
  "params": [
      "tracer": "callTracer",
      "tracderConfig": {
        "onlyTopCall": true


An array ofobject with the following fields:

  • txHash: string - transaction hash
  • result: object
    • 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
    • output - The data which is returned as an output
    • calls: array - A array of sub-call objects
    • value - The integer of the value sent with this transaction
    • type - The type of the call
  "jsonrpc": "2.0",
  "id": "1",
  "result": [
      "txHash": "0x637eabe31da13cbc095b62668fcfabdf10277bde60ce879e0e3bd06c4db120cc",
      "result": {
        "from": "0x4e14529d962cba526a70435132cee96599675d45",
        "gas": "0xbf4a",
        "gasUsed": "0xbded",
        "to": "0x6a9014fb802dcc5efe3b97fd40aaa632585636d0",
        "input": "0x095ea7b3000000000000000000000000f403c135812408bfbe8713b5a23a04b3d48aae31000000000000000000000000000000000000000000000046681f67c89dd49af3",
        "output": "0x0000000000000000000000000000000000000000000000000000000000000001",
        "calls": [
            "from": "0x6a9014fb802dcc5efe3b97fd40aaa632585636d0",
            "gas": "0x5ed3",
            "gasUsed": "0x5ed3",
            "to": "0xc629a01ec23ab04e1050500a3717a2a5c0701497",
            "input": "0x095ea7b3000000000000000000000000f403c135812408bfbe8713b5a23a04b3d48aae31000000000000000000000000000000000000000000000046681f67c89dd49af3",
            "output": "0x0000000000000000000000000000000000000000000000000000000000000001",
            "value": "0x0",
            "type": "DELEGATECALL"
        "value": "0x0",
        "type": "CALL"
    // another objects

Try Yourself

Click Try It! to start a request and see the response here!