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

# EVM Normalizers

> Column-level schema reference for EVM normalizers.

EVM normalizers process block data into structured, typed rows for EVM chains. Each normalizer maps a single entity type to a single output table with a fixed column schema.

## BlocksNormalizer

**Entity:** `blocks` | **Output table:** `blocks`

| Column                     | Type      | Description                         |
| -------------------------- | --------- | ----------------------------------- |
| `chain_name`               | STRING    | Blockchain name                     |
| `height`                   | UINT64    | Block number                        |
| `block_hash`               | STRING    | Block hash (hex)                    |
| `block_parent_hash`        | STRING    | Parent block hash (hex)             |
| `nonce`                    | UINT64    | Block nonce                         |
| `transactions_root`        | STRING    | Transactions trie root (hex)        |
| `state_root`               | STRING    | State trie root (hex)               |
| `miner_address`            | STRING    | Miner/validator address (hex)       |
| `difficulty`               | STRING    | Block difficulty (big integer)      |
| `total_difficulty`         | STRING    | Cumulative difficulty (big integer) |
| `size`                     | UINT64    | Block size in bytes                 |
| `extra_data`               | STRING    | Extra data field (hex)              |
| `gas_limit`                | UINT64    | Gas limit                           |
| `gas_used`                 | UINT64    | Gas used                            |
| `signed_at`                | TIMESTAMP | Block timestamp (ISO 8601)          |
| `transaction_count`        | UINT32    | Number of transactions              |
| `base_fee_per_gas`         | STRING    | EIP-1559 base fee (big integer)     |
| `withdrawals_root`         | STRING    | Withdrawals trie root (hex)         |
| `logs_bloom`               | STRING    | Bloom filter (hex)                  |
| `blob_gas_used`            | UINT64    | EIP-4844 blob gas used              |
| `excess_blob_gas`          | UINT64    | EIP-4844 excess blob gas            |
| `parent_beacon_block_root` | STRING    | Beacon chain parent root (hex)      |

## TracesNormalizer

**Entity:** `traces` | **Output table:** `traces`

| Column            | Type      | Description                                |
| ----------------- | --------- | ------------------------------------------ |
| `block_height`    | UINT64    | Block number                               |
| `block_hash`      | STRING    | Block hash (hex)                           |
| `block_signed_at` | TIMESTAMP | Block timestamp                            |
| `chain_name`      | STRING    | Blockchain name                            |
| `tx_hash`         | STRING    | Transaction hash (hex)                     |
| `tx_offset`       | UINT32    | Transaction index in block                 |
| `from_address`    | STRING    | Caller address (hex)                       |
| `to_address`      | STRING    | Callee address (hex)                       |
| `value`           | STRING    | ETH value transferred (big integer)        |
| `method_id`       | STRING    | 4-byte function selector (hex)             |
| `input_data`      | STRING    | Call input data (hex)                      |
| `output_data`     | STRING    | Call output data (hex)                     |
| `trace_type`      | STRING    | Trace type (call, create, suicide)         |
| `call_type`       | STRING    | Call type (call, delegatecall, staticcall) |
| `gas_limit`       | UINT64    | Gas limit for this call                    |
| `gas_used`        | UINT64    | Gas used by this call                      |
| `subtraces`       | UINT32    | Number of child traces                     |
| `trace_address`   | JSON      | Position in trace tree (e.g., \[0,1,2])    |
| `error`           | STRING    | Error message if failed                    |
| `status`          | STRING    | Execution status                           |
| `trace_id`        | STRING    | Unique trace identifier                    |

## TransactionsNormalizer

**Entity:** `transactions` | **Output table:** `transactions`

| Column                     | Type      | Description                             |
| -------------------------- | --------- | --------------------------------------- |
| `block_height`             | UINT64    | Block number                            |
| `block_hash`               | STRING    | Block hash (hex)                        |
| `block_signed_at`          | TIMESTAMP | Block timestamp                         |
| `chain_name`               | STRING    | Blockchain name                         |
| `tx_hash`                  | STRING    | Transaction hash (hex)                  |
| `nonce`                    | UINT64    | Sender's nonce                          |
| `tx_offset`                | UINT32    | Transaction index in block              |
| `from_address`             | STRING    | Sender address (hex)                    |
| `to_address`               | STRING    | Recipient address (hex)                 |
| `value`                    | STRING    | ETH value (big integer)                 |
| `gas_limit`                | UINT64    | Gas limit                               |
| `gas_price`                | STRING    | Gas price (big integer)                 |
| `input_data`               | STRING    | Transaction input data (hex)            |
| `max_fee_per_gas`          | STRING    | EIP-1559 max fee (big integer)          |
| `max_priority_fee_per_gas` | STRING    | EIP-1559 max priority fee (big integer) |
| `receipt_status`           | STRING    | Transaction receipt status              |
| `type`                     | STRING    | Transaction type                        |
| `blob_versioned_hashes`    | JSON      | EIP-4844 blob hashes (JSON array)       |
| `access_list`              | JSON      | EIP-2930 access list (JSON array)       |

## LogsNormalizer

**Entity:** `logs (alias: `log`)` | **Output table:** `logs`

| Column              | Type      | Description                            |
| ------------------- | --------- | -------------------------------------- |
| `block_height`      | UINT64    | Block number                           |
| `block_signed_at`   | TIMESTAMP | Block timestamp                        |
| `block_hash`        | STRING    | Block hash (hex)                       |
| `block_parent_hash` | STRING    | Parent block hash (hex)                |
| `chain_name`        | STRING    | Blockchain name                        |
| `miner_address`     | STRING    | Miner address (hex)                    |
| `gas_used`          | UINT64    | Block gas used                         |
| `gas_limit`         | UINT64    | Block gas limit                        |
| `tx_hash`           | STRING    | Transaction hash (hex)                 |
| `tx_offset`         | UINT32    | Transaction index                      |
| `log_offset`        | UINT32    | Log index within transaction           |
| `contract_address`  | STRING    | Emitting contract (hex)                |
| `raw_log_data`      | STRING    | Log data field (hex)                   |
| `raw_log_topics`    | JSON      | Log topics array (JSON of hex strings) |

## ReceiptsNormalizer

**Entity:** `receipts` | **Output table:** `receipts`

| Column                        | Type      | Description                        |
| ----------------------------- | --------- | ---------------------------------- |
| `block_height`                | UINT64    | Block number                       |
| `block_hash`                  | STRING    | Block hash (hex)                   |
| `block_signed_at`             | TIMESTAMP | Block timestamp                    |
| `chain_name`                  | STRING    | Blockchain name                    |
| `receipt_root_hash`           | STRING    | Receipts trie root (hex)           |
| `tx_hash`                     | STRING    | Transaction hash (hex)             |
| `tx_offset`                   | UINT32    | Transaction index                  |
| `receipt_status`              | UINT32    | Receipt status (0=fail, 1=success) |
| `output_data`                 | STRING    | Return data (hex)                  |
| `receipt_gas_used`            | UINT64    | Gas used by transaction            |
| `receipt_cumulative_gas_used` | UINT64    | Cumulative gas used in block       |
| `receipt_effective_gas_price` | STRING    | Effective gas price (big integer)  |
| `receipt_blob_gas_used`       | UINT64    | EIP-4844 blob gas used             |
| `receipt_blob_gas_price`      | STRING    | EIP-4844 blob gas price            |
| `receipt_state_root`          | STRING    | Post-tx state root (hex)           |
| `receipt_contract_address`    | STRING    | Created contract address (hex)     |

## TransfersNormalizer

**Entity:** `transfers (alias: `transfer`)` | **Output table:** `transfers`

| Column             | Type      | Description                   |
| ------------------ | --------- | ----------------------------- |
| `block_height`     | UINT64    | Block number                  |
| `block_signed_at`  | TIMESTAMP | Block timestamp               |
| `chain_name`       | STRING    | Blockchain name               |
| `tx_hash`          | STRING    | Transaction hash (hex)        |
| `tx_offset`        | UINT32    | Transaction index             |
| `log_offset`       | UINT32    | Log index                     |
| `contract_address` | STRING    | Token contract address (hex)  |
| `from_address`     | STRING    | Sender address (hex)          |
| `to_address`       | STRING    | Recipient address (hex)       |
| `token_id`         | STRING    | NFT token ID (big integer)    |
| `amount`           | STRING    | Transfer amount (big integer) |

## SwapsNormalizer

**Entity:** `swaps` | **Output table:** `swaps`

| Column            | Type      | Description                           |
| ----------------- | --------- | ------------------------------------- |
| `chain_name`      | STRING    | Blockchain name                       |
| `block_signed_at` | TIMESTAMP | Block timestamp (ISO 8601)            |
| `block_height`    | UINT64    | Block number                          |
| `block_hash`      | STRING    | Block hash (hex)                      |
| `tx_hash`         | STRING    | Transaction hash (hex)                |
| `log_offset`      | UINT32    | Log index within transaction          |
| `tx_offset`       | UINT32    | Transaction index within block        |
| `pair_address`    | STRING    | DEX pair contract address (hex)       |
| `topic0`          | STRING    | Event signature hash (hex)            |
| `topic1`          | STRING    | Indexed parameter 1 (hex)             |
| `topic2`          | STRING    | Indexed parameter 2 (hex)             |
| `topic3`          | STRING    | Indexed parameter 3 (hex)             |
| `data_raw`        | STRING    | Complete raw log data (hex)           |
| `protocol`        | STRING    | Protocol name (e.g., "uniswap\_v2")   |
| `removed`         | BOOLEAN   | Removed flag (chain reorganization)   |
| `token0`          | STRING    | Token0 address (hex)                  |
| `token1`          | STRING    | Token1 address (hex)                  |
| `reserve0`        | STRING    | Reserve0 from Sync event (Uniswap V2) |
| `reserve1`        | STRING    | Reserve1 from Sync event (Uniswap V2) |
