Hyperliquid

Perpetual futures market data, fills, trade episodes, wallet performance, funding rates, and metadata from Hyperliquid L1.

10 tables. All backed by ReplacingMergeTree — query hyperliquid_market_data and hyperliquid_funding_rates with FINAL; the other tables already deduplicate inside the view (adding FINAL anyway is harmless).

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)
agent.hyperliquid_perp_eventsIndividual perp fills — price, size, fee, closed PnL, direction, liquidation info
agent.hyperliquid_episodesRound-trip trade episodes per wallet — open/close time and price, fills, gross/net PnL, win flag
agent.hyperliquid_wallet_perfPer-wallet lifetime stats — trades, win rate, PnL, profit factor, volume
agent.hyperliquid_oracle_pricesOracle price snapshots per contract
agent.hyperliquid_perp_dexsPerp DEX registry — deployer, oracle updater, fee config, asset count
agent.hyperliquid_spot_tokensSpot token registry — indexes, decimals, EVM contract mapping
agent.hyperliquid_spot_pairsSpot pair registry — base/quote token indexes

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

  • Use FINAL on hyperliquid_market_data and hyperliquid_funding_rates — the other tables deduplicate internally.
  • 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.
  • perp_events is trade-level (individual fills). market_data is hourly snapshots.
  • Filter perp_events on event_date and episodes on close_date / open_date — these are the partition-style date columns.
  • episodes and wallet_perf are derived from fills — use them instead of aggregating perp_events yourself.
Surf — Crypto Intelligence for AI Agents