> ## Documentation Index
> Fetch the complete documentation index at: https://docs.validationcloud.io/llms.txt
> Use this file to discover all available pages before exploring further.

# debug_traceTransaction

Returns all traces of a given transaction.

This method will use `80` [Compute Units](/nodeapi/about/billing).

***

<Info>
  This method is served by nanoreth, the HyperEVM archive client, and works for any block back to genesis. On blocks that carry a HyperCore deposit, block-level traces include the deposit as their first entry; see [Overview](/nodeapi/hyperliquid/overview).
</Info>

## **Parameters**

`transactionHash` - String - <span style={{color: "red"}}>Required</span> - The transaction hash to be traced.

`object` - Object - <span style={{color: "red"}}>Required</span> - The tracer object with the following fields:

* `tracer` - String - The type of tracer, options are: `callTracer` or `prestateTracer`.
  * `callTracer` - String - The callTracer keeps track of all call frames, including depth - calls, that are made during a transaction.
  * `prestateTracer` - String - The prestateTracer replays the transaction and tracks every part of state that occurred during the transaction.
* `tracerConfig` - Object (Optional) - 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.
* `timeout` - String (Optional) - A string of decimal integers that overrides the JavaScript-based tracing calls default timeout of 5 seconds. Example: `10s` for 10 seconds.

## **Returns**

`result` - An object with the result of the trace, containing:

* `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.
* `value` - The integer of the value sent with this transaction.
* `type` - The type of call.

```json theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
// Result
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "from": "0xd4db58f65cc967a67449dc1570f408aeb496e5c8",
    "gas": "0xe040",
    "gasUsed": "0x9960",
    "to": "0xb9cd945141f7d99fd562a6222accde5043350ad4",
    "input": "0xa9059cbb000000000000000000000000ae054f4e67bd9c95844e0152f5face89ee4e7e450000000000000000000000000000000000000000000023b5482ca79b97450164",
    "output": "0x0000000000000000000000000000000000000000000000000000000000000001",
    "value": "0x0",
    "type": "CALL"
  }
}
```

<CodeGroup>
  ```bash title="mainnet" theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
  curl https://mainnet.hyperliquid.validationcloud.io/v1/<YOUR_API_KEY_HERE>/evm \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","method":"debug_traceTransaction","params":["0x86a487d74f726697ffc06cca32975d8217142401ee459a1a604b8174315f2378", {"tracer": "callTracer"}],"id":1}'
  ```
</CodeGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.