Hyperliquid normalizers process trading and protocol event data from Hyperliquid 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 |
local_time | STRING | Local processing time |
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 | Table: hl_trades
Each trade represents a matched market event with both buyer and seller details.
| Column | Type | Description |
|---|
block_number | UINT64 | Block number |
block_time | STRING | Block timestamp |
local_time | STRING | Local processing time |
stream | STRING | Stream identifier |
coin | STRING | Trading pair |
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) |
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 |
local_time | STRING | Local processing time |
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 |
local_time | STRING | Local processing time |
time | STRING | Event time |
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 |
local_time | STRING | Local processing time |
time | STRING | Event time |
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 |
local_time | STRING | Local processing time |
time | STRING | Event time |
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 |
local_time | STRING | Local processing time |
time | STRING | Event time |
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 |
local_time | STRING | Local processing time |
time | STRING | Event time |
hash | STRING | Event hash |
coin | STRING | Funding coin |
usdc | STRING | USDC amount |
szi | STRING | Size |
funding_rate | STRING | Funding rate |
n_samples | STRING | Number of samples |
hl_ledger_updates
| Column | Type | Description |
|---|
block_number | UINT64 | Block number |
block_time | STRING | Block timestamp |
local_time | STRING | Local processing time |
time | STRING | Event time |
hash | STRING | Event hash |
users | JSON | Array of user addresses |
delta_type | STRING | Ledger delta variant name |
delta_json | JSON | Serialized ledger delta details |
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.