# trace\_transaction

**Parameters:**

*hash* - The hash of a transaction

**Returns:**

*array* - The block traces, which have the following fields (please note that all return types are hexadecimal representations of their data type unless otherwise stated):

*action* - The action to be performed on the receiver id

&#x20;    *from* - The address of the sender

&#x20;    *callType* - The type of method such as **call**, **delegatecall**

&#x20;    *gas* - The gas provided by the sender, encoded as hexadecimal

&#x20;    *input* - The data sent along with the transaction

&#x20;    *to* - The address of the receiver

&#x20;    *value* - The integer of the value sent with this transaction, encoded as hexadecimal

*blockHash* - The hash of the block where this transaction was in

*blockNumber* - The block number where this transaction was in

&#x20;     *result* - The integer of the gas price used encoded as hexadecimal

&#x20;          *gasUsed* - The total used gas by all transactions in this block encoded as hexadecimal

&#x20;          *output* - The value returned by the contract call, and it only contains the actual value sent by the RETURN method. If the RETURN method was not executed, the output is empty bytes

&#x20;    *subtraces* - The traces of contract calls made by the transaction

&#x20;    *traceAddress* - The list of addresses where the call was executed, the address of the parents, and the order of the current sub call

&#x20;    *transactionHash* - The hash of the transaction

&#x20;    *transactionPosition* - The transaction position

&#x20;    *type* - The value of the method such as **call** or **create**

**Code Examples:**

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

var raw = JSON.stringify({
  "method": "trace_transaction",
  "params": [
    "0x3277c743c14e482243862c03a70e83ccb52e25cb9e54378b20a8303f15cb985d"
  ],
  "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/ethererum/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));
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ebs.ezat.io/ebs-documentation/services/rpc/supported-networks/ethererum/trace_transaction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
