Hyperliquid

Perpetual futures market data, funding rates, and contract metadata from Hyperliquid L1.

3 tables. All use ReplacingMergeTree — always query with FINAL.

TableWhat it is
agent.hyperliquid_market_dataHourly perp snapshots (funding, OI, prices, volume)
agent.hyperliquid_funding_ratesHistorical funding rate settlements
agent.hyperliquid_perp_metaContract metadata (~229 rows)

Market Data Schema

Engine: ReplacingMergeTree | ORDER BY: coin, snapshot_time

ColumnTypeDescription
snapshot_timeDateTime64(3)Hourly snapshot
coinStringContract ticker (BTC, ETH, SOL, etc.)
fundingFloat64Predicted hourly funding rate. Positive = longs pay shorts.
open_interestFloat64OI in contract units (not USD)
day_ntl_vlmFloat6424h notional volume in USD
oracle_pxFloat64Oracle price (Pyth/Chainlink)
mark_pxFloat64Mark price (used for margin/liquidation)
mid_pxNullable(Float64)Order book mid price
premiumNullable(Float64)Mark - oracle basis
snapshot_dateDatePartition key

Funding Rates Schema

Engine: ReplacingMergeTree | ORDER BY: coin, time

ColumnTypeDescription
timeDateTime64(3)Settlement timestamp
coinStringContract ticker
funding_rateFloat64Settlement rate (per hour). Annualize: × 8760.
premiumFloat64Mark-to-oracle premium at settlement
funding_dateDatePartition key

Perp Meta Schema

Engine: ReplacingMergeTree | ORDER BY: coin

ColumnTypeDescription
coinStringContract ticker
sz_decimalsUInt8Sizing decimal places
max_leverageUInt16Maximum leverage

Good to Know

  • Always use FINAL — all three tables are ReplacingMergeTree.
  • open_interest is in contract units — multiply by mark_px for USD value.
  • Funding rate is per-hour. Annualize: funding_rate * 8760.
  • perp_meta is small (~229 rows) — safe to use freely in joins.
  • Hourly snapshots only — no tick-level or trade-level data.