> ## 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.

# HyperCore Normalizers

> Schema reference for HyperCore normalizers including fills, trades, orders, and miscellaneous protocol events.

HyperCore normalizers process trading and protocol event data from the HyperCore chain into structured tables. The `miscevents` normalizer routes events to one of 6 tables based on the event type.

## FillsNormalizer

**Entity:** `fills` | **Table:** `hl_fills`

Each fill represents one side of a matched order.

| Column                | Type    | Description                 |
| --------------------- | ------- | --------------------------- |
| `block_number`        | UINT64  | Block number                |
| `block_time`          | STRING  | Block timestamp             |
| `stream`              | STRING  | Stream identifier           |
| `user_address`        | STRING  | User address                |
| `coin`                | STRING  | Trading pair                |
| `px`                  | STRING  | Price                       |
| `sz`                  | STRING  | Size                        |
| `side`                | STRING  | Buy/Sell                    |
| `time`                | STRING  | Fill time                   |
| `start_position`      | STRING  | Starting position           |
| `dir`                 | STRING  | Direction                   |
| `closed_pnl`          | STRING  | Closed PnL                  |
| `hash`                | STRING  | Fill hash                   |
| `oid`                 | UINT64  | Order ID                    |
| `crossed`             | BOOLEAN | Whether fill crossed spread |
| `fee`                 | STRING  | Trading fee                 |
| `tid`                 | UINT64  | Trade ID                    |
| `fee_token`           | STRING  | Fee token                   |
| `builder_fee`         | STRING  | Builder fee (optional)      |
| `cloid`               | STRING  | Client order ID (optional)  |
| `twap_id`             | UINT64  | TWAP ID (optional)          |
| `builder`             | STRING  | Builder address (optional)  |
| `liquidation_user`    | STRING  | Liquidated user             |
| `liquidation_mark_px` | STRING  | Mark price at liquidation   |
| `liquidation_method`  | STRING  | Liquidation method          |

Liquidation fields are null when no liquidation occurred.

## TradesNormalizer

**Entity:** `trades` | **Tables:** 2 tables

The TradesNormalizer produces two fan-out tables from each matched trade: a raw passthrough (`hl_trades`) and an enriched table (`hl_enriched_trades`) with derived market metadata. Users can disable either table via the transforms block.

### hl\_trades

| Column         | Type   | Description                                                                            |
| -------------- | ------ | -------------------------------------------------------------------------------------- |
| `block_number` | UINT64 | Block number                                                                           |
| `block_time`   | STRING | Block timestamp                                                                        |
| `stream`       | STRING | Stream identifier                                                                      |
| `coin`         | STRING | Trading pair or coin code (e.g. `BTC`, `PURR/USDC`, `@107`, `nanofunds:USDAI`, `#350`) |
| `px`           | STRING | Trade price                                                                            |
| `sz`           | STRING | Trade size                                                                             |
| `side`         | STRING | Aggressor side                                                                         |
| `time`         | STRING | Trade time                                                                             |
| `tid`          | UINT64 | Trade ID                                                                               |
| `hash`         | STRING | Trade hash                                                                             |
| `users`        | JSON   | Array of user addresses                                                                |
| `buyer_json`   | JSON   | Buyer fill details (JSON)                                                              |
| `seller_json`  | JSON   | Seller fill details (JSON)                                                             |

### hl\_enriched\_trades

| Column           | Type    | Description                                                                                      |
| ---------------- | ------- | ------------------------------------------------------------------------------------------------ |
| `block_number`   | UINT64  | Block number                                                                                     |
| `block_time`     | STRING  | Block timestamp                                                                                  |
| `stream`         | STRING  | Stream identifier                                                                                |
| `coin`           | STRING  | Raw trading pair or coin code                                                                    |
| `px`             | STRING  | Trade price                                                                                      |
| `sz`             | STRING  | Trade size                                                                                       |
| `side`           | STRING  | Aggressor side                                                                                   |
| `time`           | STRING  | Trade time                                                                                       |
| `tid`            | UINT64  | Trade ID                                                                                         |
| `hash`           | STRING  | Trade hash                                                                                       |
| `users`          | JSON    | Array of user addresses                                                                          |
| `buyer_json`     | JSON    | Buyer fill details (JSON)                                                                        |
| `seller_json`    | JSON    | Seller fill details (JSON)                                                                       |
| `base_symbol`    | STRING  | Resolved base asset symbol (e.g. `ETH`, `PURR`, `#350`). Null for unresolvable spot-index codes. |
| `market_name`    | STRING  | Human-readable market name (e.g. `ETH-USD`, `PURR/USDC`, `#350`)                                 |
| `market_type`    | STRING  | Market classification: `perp`, `spot`, or `prediction`                                           |
| `usd_amount`     | STRING  | Notional trade value (`px × sz`)                                                                 |
| `buyer_address`  | STRING  | Buyer wallet address (first element of `users`)                                                  |
| `seller_address` | STRING  | Seller wallet address (second element of `users`)                                                |
| `is_hip3`        | BOOLEAN | True if the coin is a HIP-3 deployable perp DEX market (e.g. `nanofunds:USDAI`)                  |
| `is_hip4`        | BOOLEAN | True if the coin is a HIP-4 prediction market (e.g. `#350`)                                      |

## OrdersNormalizer

**Entity:** `orders` | **Table:** `hl_orders`

Order lifecycle events including placements, cancellations, and fills.

| Column              | Type    | Description                 |
| ------------------- | ------- | --------------------------- |
| `block_number`      | UINT64  | Block number                |
| `block_time`        | STRING  | Block timestamp             |
| `stream`            | STRING  | Stream identifier           |
| `builder`           | STRING  | Builder address (optional)  |
| `hash`              | STRING  | Order event hash (optional) |
| `time`              | STRING  | Order time                  |
| `user`              | STRING  | User address                |
| `status`            | STRING  | Order status                |
| `coin`              | STRING  | Trading pair                |
| `side`              | STRING  | Buy/Sell                    |
| `oid`               | UINT64  | Order ID                    |
| `limit_px`          | STRING  | Limit price                 |
| `sz`                | STRING  | Order size                  |
| `orig_sz`           | STRING  | Original order size         |
| `timestamp`         | INT64   | Order timestamp             |
| `order_type`        | STRING  | Order type                  |
| `tif`               | STRING  | Time in force               |
| `reduce_only`       | BOOLEAN | Reduce-only flag            |
| `is_trigger`        | BOOLEAN | Trigger order flag          |
| `is_position_tpsl`  | BOOLEAN | Position TP/SL flag         |
| `trigger_condition` | STRING  | Trigger condition           |
| `trigger_px`        | STRING  | Trigger price               |
| `cloid`             | STRING  | Client order ID (optional)  |
| `children_json`     | JSON    | Child orders (JSON array)   |

## MiscEventsNormalizer

**Entity:** `miscevents` | **Tables:** 6 tables

The MiscEvents normalizer routes each event to the appropriate table based on its type:

| Event Type        | Output Table           |
| ----------------- | ---------------------- |
| Deposit           | `hl_deposits`          |
| Withdrawal        | `hl_withdrawals`       |
| Delegation        | `hl_delegations`       |
| Validator Rewards | `hl_validator_rewards` |
| Funding           | `hl_funding`           |
| Ledger Update     | `hl_ledger_updates`    |

### hl\_deposits

| Column         | Type   | Description       |
| -------------- | ------ | ----------------- |
| `block_number` | UINT64 | Block number      |
| `block_time`   | STRING | Block timestamp   |
| `hash`         | STRING | Event hash        |
| `user`         | STRING | Depositor address |
| `amount`       | STRING | Deposit amount    |

### hl\_withdrawals

| Column         | Type    | Description                     |
| -------------- | ------- | ------------------------------- |
| `block_number` | UINT64  | Block number                    |
| `block_time`   | STRING  | Block timestamp                 |
| `hash`         | STRING  | Event hash                      |
| `user`         | STRING  | Withdrawer address              |
| `amount`       | STRING  | Withdrawal amount               |
| `is_finalized` | BOOLEAN | Whether withdrawal is finalized |

### hl\_delegations

| Column          | Type    | Description                     |
| --------------- | ------- | ------------------------------- |
| `block_number`  | UINT64  | Block number                    |
| `block_time`    | STRING  | Block timestamp                 |
| `hash`          | STRING  | Event hash                      |
| `user`          | STRING  | Delegator address               |
| `validator`     | STRING  | Validator address               |
| `amount`        | STRING  | Delegation amount               |
| `is_undelegate` | BOOLEAN | Whether this is an undelegation |

### hl\_validator\_rewards

| Column         | Type   | Description       |
| -------------- | ------ | ----------------- |
| `block_number` | UINT64 | Block number      |
| `block_time`   | STRING | Block timestamp   |
| `hash`         | STRING | Event hash        |
| `validator`    | STRING | Validator address |
| `reward`       | STRING | Reward amount     |

### hl\_funding

| Column           | Type   | Description     |
| ---------------- | ------ | --------------- |
| `block_number`   | UINT64 | Block number    |
| `block_time`     | STRING | Block timestamp |
| `hash`           | STRING | Event hash      |
| `coin`           | STRING | Funding coin    |
| `szi`            | STRING | Size            |
| `funding_rate`   | STRING | Funding rate    |
| `funding_amount` | STRING | Funding amount  |
| `user`           | STRING | Trader address  |

### hl\_ledger\_updates

| Column         | Type   | Description                     |
| -------------- | ------ | ------------------------------- |
| `block_number` | UINT64 | Block number                    |
| `block_time`   | STRING | Block timestamp                 |
| `hash`         | STRING | Event hash                      |
| `users`        | JSON   | Array of user addresses         |
| `delta_type`   | STRING | Ledger delta variant name       |
| `delta_json`   | JSON   | Serialized ledger delta details |

<Info>
  The `delta_type` field identifies the ledger operation. Supported types include: Withdraw, Deposit, VaultCreate, VaultDeposit, VaultWithdraw, VaultDistribution, VaultLeaderCommission, Liquidation, InternalTransfer, SubAccountTransfer, SpotTransfer, SpotGenesis, RewardsClaim, AccountActivationGas, AccountClassTransfer, PerpDexClassTransfer, DeployGasAuction, Send, CStakingTransfer, and BorrowLend.
</Info>
