# Traces

Transactions can trigger smaller atomic actions that modify the internal state of an Ethereum Virtual Machine. Information about the execution of these actions is logged and can be found stored as an EVM execution trace, or just a *trace*.

## ETL data class

<table><thead><tr><th width="215.70987654320987">Column Name</th><th width="193">Data Type</th><th>Note</th></tr></thead><tbody><tr><td>transaction_hash</td><td>str</td><td></td></tr><tr><td>transaction_index</td><td>int</td><td></td></tr><tr><td>from_address</td><td>str</td><td></td></tr><tr><td>to_address</td><td>str</td><td></td></tr><tr><td>value</td><td>decimal</td><td></td></tr><tr><td>input</td><td>str</td><td></td></tr><tr><td>output</td><td>str</td><td></td></tr><tr><td>trace_type</td><td>str</td><td></td></tr><tr><td>call_type</td><td>str</td><td></td></tr><tr><td>reward_type</td><td>str</td><td></td></tr><tr><td>gas</td><td>int</td><td></td></tr><tr><td>gas_used</td><td>decimal</td><td></td></tr><tr><td>subtraces</td><td>int</td><td></td></tr><tr><td>trace_address</td><td>str</td><td></td></tr><tr><td>error</td><td>str</td><td></td></tr><tr><td>status</td><td>int</td><td></td></tr><tr><td>block_timestamp</td><td>timestamp</td><td></td></tr><tr><td>block_number</td><td>int</td><td></td></tr><tr><td>block_hash</td><td>str</td><td></td></tr><tr><td>trace_id</td><td>str</td><td></td></tr></tbody></table>

Examples

```json
{
  "transaction_hash": "0xd00acf04d3164d86224c9094571c253a48cc6f3a9110a22e63e1c655acc5372f",
  "transaction_index": 0,
  "from_address": "0x1e2f91f8aa563e02e158da8870749a9bd7edfcad",
  "to_address": "0xb29caa2cb1feb7f4ccaa9dd9b8ad2022eaca6ec3",
  "value": 0,
  "input": "0x628ea1fc0000000000000000000000000a882d83a3d3160a6ef5192f03a79afc40208bde0000000000000000000000000000000000000000000000000000000000002710",
  "output": null,
  "trace_type": "call",
  "call_type": "call",
  "reward_type": null,
  "gas": 53325,
  "gas_used": 52943,
  "subtraces": 1,
  "trace_address": "{}",
  "error": null,
  "status": 1,
  "block_timestamp": "2023-07-17T18:00:01.000Z",
  "block_number": 2058,
  "block_hash": "0xdaed8fcdbd146aa3e0c63d24f9cf647dd26c855086ba5786ab96d1738ddadb63",
  "trace_id": "call_2058_0"
}
```

## Model in the Database

| Column Name        | Data Type    | Note          |
| ------------------ | ------------ | ------------- |
| trace\_id          | varchar      | primary key   |
| from\_address      | bytea        |               |
| to\_address        | bytea        |               |
| value              | numeric(100) |               |
| input              | bytea        |               |
| output             | bytea        |               |
| trace\_type        | varchar      |               |
| call\_type         | varchar      |               |
| gas                | numeric(100) |               |
| gas\_used          | numeric(100) |               |
| subtraces          | integer      |               |
| trace\_address     | integer\[]   |               |
| error              | text         |               |
| status             | integer      |               |
| block\_number      | bigint       |               |
| block\_hash        | bytea        |               |
| block\_timestamp   | timestamp    |               |
| transaction\_index | integer      |               |
| transaction\_hash  | bytea        |               |
| create\_time       | timestamp    | default now() |
| update\_time       | timestamp    | default now() |
| reorg              | boolean      |               |

Examples

```json
{
  "trace_id": "call_2058_0",
  "from_address": "E'\\\\x1E2F91F8AA563E02E158DA8870749A9BD7EDFCAD'",
  "to_address": "E'\\\\xB29CAA2CB1FEB7F4CCAA9DD9B8AD2022EACA6EC3'",
  "value": 0,
  "input": "E'\\\\x628EA1FC0000000000000000000000000A882D83A3D3160A6EF5192F03A79AFC40208BDE0000000000000000000000000000000000000000000000000000000000002710'",
  "output": null,
  "trace_type": "call",
  "call_type": "call",
  "gas": 53325,
  "gas_used": 52943,
  "subtraces": 1,
  "trace_address": "{0}",
  "error": null,
  "status": 1,
  "block_number": 2058,
  "block_hash": "E'\\\\xDAED8FCDBD146AA3E0C63D24F9CF647DD26C855086BA5786AB96D1738DDADB63'",
  "block_timestamp": "2023-07-17 18:00:01.000000",
  "transaction_index": 0,
  "transaction_hash": "E'\\\\xD00ACF04D3164D86224C9094571C253A48CC6F3A9110A22E63E1C655ACC5372F'",
  "create_time": "2024-08-12 13:38:46.949956",
  "update_time": null,
  "reorg": false
}
```

```csv
call_2058_0,0x1E2F91F8AA563E02E158DA8870749A9BD7EDFCAD,0xB29CAA2CB1FEB7F4CCAA9DD9B8AD2022EACA6EC3,0,0x628EA1FC0000000000000000000000000A882D83A3D3160A6EF5192F03A79AFC40208BDE0000000000000000000000000000000000000000000000000000000000002710,null,call,call,53325,52943,1,"{0}",null,1,2058,0xDAED8FCDBD146AA3E0C63D24F9CF647DD26C855086BA5786AB96D1738DDADB63,2023-07-17 18:00:01.000000,0,0xD00ACF04D3164D86224C9094571C253A48CC6F3A9110A22E63E1C655ACC5372F,2024-08-12 13:38:46.949956,null,false
```
