# trace\_transaction

Returns all traces of given transaction.

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

***

## **Parameters**

`hash` - String - <mark style="color:red;">Required</mark> - The hash of a transaction

## **Returns**

`array` - The block traces, which have the following fields (all return types are hexadecimal unless otherwise noted):

* `action` - object The ParityTrace action object containing call details
  * `from` - string - The address of the sender
  * `callType` - string - The type of method such as call, staticcall, delegatecall
  * `gas` - string - The gas provided by the sender, encoded as hexadecimal
  * `input` - string - The input data sent along with the transaction
  * `to` - string - The address of the receiver
  * `value` - string - The integer of the value sent with this transaction, encoded as hexadecimal
* `blockHash` - string - The hash of the block where this transaction was included
* `blockNumber` - integer - The block number where this transaction was in
* `result` - object - The result of the trace execution
  * `gasUsed` - string -The amount of gas used by this specific transaction
  * `output` - string - The return value of the contract call, empty if no RETURN executed
* `subtraces` - integer - The number of subtraces (internal calls) made by the transaction
* `traceAddress` - array - The list of addresses where the call executed, including parent addresses and call order
* `transactionHash` - string - The hash of the transaction
* `transactionPosition` - integer - The transaction index position within the block
* `type` - string - The type of the trace, such as call or create

```bash
// Result
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
      {
        "action": {
          "from": "0x786d1ecc7ad626f48d6d95ccb2c0500e52e4a15b",
          "callType": "call",
          "gas": "0x168ef8",
          "input": "0xa9059cbb0000000000000000000000009406c483929bac16a41efae8665d8dab68c33eea0000000000000000000000000000000000000000000000000000000002fa2d30",
          "to": "0x20c0000000000000000000000000000000000000",
          "value": "0x0"
        },
        "blockHash": "0xe1dd033a33e1b2be07a6c3f5256b177b0e09f2d81f8f306eb0a3bb19203d47c2",
        "blockNumber": 8148608,
        "result": {
          "gasUsed": "0x7cf1e",
          "output": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        "subtraces": 0,
        "traceAddress": [],
        "transactionHash": "0x9c5c434a92a5efa222d510a77e35d0e0b02b607cf31195dcb80c536271060ebd",
        "transactionPosition": 0,
        "type": "call"
      }
    ]
  }
```

{% tabs %}
{% tab title="testnet" %}

```bash
curl https://testnet.tempo.validationcloud.io/v1/<YOUR_API_KEY_HERE> \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"jsonrpc":"2.0","method":"trace_transaction","params":["0x9c5c434a92a5efa222d510a77e35d0e0b02b607cf31195dcb80c536271060ebd"],"id":1}'
    
```

{% endtab %}
{% endtabs %}


---

# 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.validationcloud.io/v1/tempo/trace-api/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.
