---
description: debug_traceBlock RPC Method
---

# debug\_traceBlock

**Parameters:**

_block_ - string - The RLP encoded block

_object_ - (optional) The tracer object with the following fields:

&#x20;    _tracer_ - string - The type of tracer. It could be **callTracer** or **prestateTracer**

&#x20;    _**callTracer**_ - The calltracer keeps track of all call frames, including depth 0 calls, that are made during a transaction\
&#x20;    _**prestateTracer**_ - The prestateTracer replays the transaction and tracks every part of state that occured during the transaction

&#x20;    _tracerConfig_ - object - The object to specify the configurations of the tracer

&#x20;    _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



**Returns:**

_result_ - A result array with the following fields:

&#x20;    _type_ - The type of the call

&#x20;    _from_ - The address the transaction is sent from

&#x20;    _to_ - The address the transaction is directed to

&#x20;    _value_ - The integer of the value sent with this transaction

&#x20;    _gas_ - The integer of the gas provided for the transaction execution

&#x20;    _gasUsed_ - The integer of the gas used

&#x20;    _input_ - The data given at the time of input

&#x20;    _output_ - The data which is returned as an output

&#x20;    _calls_ - A list of sub-calls\


**Code Examples:**

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

var raw = JSON.stringify({
  "method": "debug_traceBlock",
  "params": ["RLP_ENCODED_BLOCK", {"tracer": "callTracer"}],
  "id": 1,
  "jsonrpc": "2.0"
});

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

fetch("https://api.ebs.ezat.io/core/api/v1.0/rpc/ethereum/mainnet?x-api-key-id=API-KEY-ID&x-api-key=API-KEY", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
```
