# Hyperliquid table reference

> Full table and column schema reference for the Hyperliquid Indexer — perpetual exchange trades, orders, funding, and wallet views.

Tables containing Hyperliquid perpetual exchange data including trades, orders, and funding rates. For query patterns see [/hyperliquid/examples](https://supanode.xyz/docs/hyperliquid/examples); for connection details see [/hyperliquid/indexer](https://supanode.xyz/docs/hyperliquid/indexer).

_Last updated: 2026-05-23 21:01 UTC._

## Summary

| Table | Rows | Size |
|---|---|---|
| `agg_fulfilled_order` | 425,720,908 | 10.15 GB |
| `raw_node_fills_by_block` | 2,175,505,136 | 152.84 GB |
| `view_perpetual_wallet` | 0 | 0 B |
| `view_wallet_position` | 0 | 0 B |

## agg_fulfilled_order

Aggregated, per-order rollup of fills.

- **Rows:** 425,720,908
- **Size:** 10.15 GB
- **Partition key:** `toYYYYMM(utc_first_fill_dt)`
- **TTL:** `utc_first_fill_dt + toIntervalDay(90)`

| Column | Type | Description |
|---|---|---|
| `utc_first_fill_dttm` | `SimpleAggregateFunction(min, DateTime64(3, 'UTC'))` | UTC datetime of the first fill for this order |
| `utc_first_fill_dt` | `Date` | UTC date of the first fill (for partitioning) |
| `order_id` | `Int64` | Unique order identifier |
| `wallet_address` | `String` | Wallet address of the trader |
| `coin` | `String` | Trading pair symbol (e.g., BTC, ETH) |
| `side` | `String` | Trade side (Buy/Sell) |
| `twap_id` | `Nullable(Int64)` | TWAP order identifier (if part of TWAP) |
| `size` | `SimpleAggregateFunction(sum, Float64)` | Total filled size (in contracts) |
| `volume` | `SimpleAggregateFunction(sum, Float64)` | Total filled volume in USD |
| `closed_pnl` | `SimpleAggregateFunction(sum, Float64)` | Realized PnL from this order |

## raw_node_fills_by_block

Raw, per-fill records as read from the node, ordered by block.

- **Rows:** 2,175,505,136
- **Size:** 152.84 GB
- **Partition key:** `utc_fill_dt`

| Column | Type | Description |
|---|---|---|
| `utc_fill_dttm` | `DateTime64(3, 'UTC')` | UTC datetime of the fill (millisecond precision) |
| `utc_fill_dt` | `Date` | UTC date of the fill (for partitioning) |
| `fill_id` | `Int64` | Unique fill identifier |
| `fill_hash` | `String` | Hash of the fill |
| `fill_type` | `String` | Type of fill (trade, liquidation, etc.) |
| `utc_block_dttm` | `DateTime64(9, 'UTC')` | UTC datetime of the block (nanosecond precision) |
| `block_id` | `Int64` | Hyperliquid block number |
| `block_tx_idx` | `UInt16` | Transaction index within the block |
| `wallet_address` | `String` | Wallet address of the trader |
| `coin` | `String` | Trading pair symbol (e.g., BTC, ETH) |
| `price` | `Float64` | Execution price |
| `size` | `Float64` | Fill size (in contracts) |
| `side` | `String` | Trade side (Buy/Sell) |
| `start_position` | `Float64` | Position size before fill |
| `closed_pnl` | `Float64` | Realized PnL from this fill |
| `order_id` | `Int64` | Order identifier |
| `order_crossed_spread_flg` | `Bool` | Whether order crossed the spread |
| `fee` | `Float64` | Trading fee |
| `fee_token` | `String` | Token used for fee payment |
| `client_order_id` | `Nullable(String)` | Client-provided order ID |
| `builder_fee` | `Nullable(Float64)` | Builder/API fee |
| `builder` | `Nullable(String)` | Builder/API identifier |
| `liquidation_user` | `Nullable(String)` | User being liquidated (if liquidation) |
| `liquidation_mark_px` | `Nullable(Float64)` | Mark price at liquidation |
| `liquidation_method` | `Nullable(String)` | Liquidation method used |
| `twap_id` | `Nullable(Int64)` | TWAP order identifier |
| `deployer_fee` | `Nullable(Float64)` | Deployer fee for spot tokens |
| `priority_gas` | `Nullable(Float64)` | Priority gas fee paid for inclusion (in USDC) |

## view_perpetual_wallet

Per-wallet aggregate view across all positions.

- **Rows:** 0
- **Size:** 0 B

| Column | Type | Description |
|---|---|---|
| `wallet_address` | `String` | Wallet address of the trader |
| `total_pnl` | `Float64` | Total realized profit and loss across all positions |
| `total_volume` | `Float64` | Total trading volume in USD |
| `cnt_unique_orders` | `UInt64` | Count of unique orders placed |
| `last_utc_order_dt` | `SimpleAggregateFunction(max, Date)` | UTC date of the most recent order |
| `win_count` | `UInt64` | Number of profitable trades |
| `total_count` | `UInt64` | Total number of completed trades |
| `sum_order_roi` | `Float64` | Sum of return on investment across all orders |
| `sum_profitable_pnl` | `Float64` | Sum of PnL from profitable trades |
| `cnt_profitable_orders` | `UInt64` | Count of profitable orders |
| `sum_unprofitable_pnl` | `Float64` | Sum of PnL from unprofitable trades (negative) |
| `cnt_unprofitable_orders` | `UInt64` | Count of unprofitable orders |
| `cnt_unique_coins` | `UInt64` | Number of unique trading pairs traded |
| `cnt_trade_days` | `UInt64` | Number of distinct days with trading activity |
| `roi_quantiles` | `Array(Float64)` | ROI distribution quantiles for the wallet |

## view_wallet_position

Latest position per wallet and market.

- **Rows:** 0
- **Size:** 0 B

| Column | Type | Description |
|---|---|---|
| `wallet_address` | `String` | Wallet address of the trader |
| `coin` | `String` | Trading pair symbol (e.g., BTC, ETH) |
| `last_position_size` | `Float64` | Current position size (positive = long, negative = short) |
| `last_position_update_dttm` | `DateTime64(3, 'UTC')` | UTC datetime of the last position update |

## Get started

Provision access or start a trial: [@supanode_tgs](https://t.me/supanode_tgs).
