coin | VARCHAR | Primary key. Venue-native market id: BTC first-party, xyz:TSLA HIP-3. The join key used by every market-grained table in the dataset |
perp_dex | VARCHAR | hyperliquid for first-party markets, otherwise the builder DEX code (xyz, flx, vntl, para, …) |
market_symbol | VARCHAR | coin with the dex: prefix stripped. Not unique across dexes — never join on it |
asset_id | BIGINT | Numeric asset id used by the action tables. First-party: asset_index. HIP-3: 100000 + dex_index * 10000 + asset_index |
asset_index | INTEGER | Per-dex asset index, kept so the asset_id arithmetic is reproducible |
dex_index | INTEGER | Registry index of the dex; 0 is first-party Hyperliquid |
perp_dex_type | VARCHAR | first_party or builder. The cheap filter for native-only or HIP-3-only, without string-matching coin |
builder_name | VARCHAR | DEX full name (XYZ, Felix Exchange, Ventuals, …); Hyperliquid on first-party markets |
deployer | VARBINARY | Address that deployed the DEX and staked the HYPE. Null for first-party |
oracle_updater | VARBINARY | Address permitted to push oracle prices. Often null, first-party included |
fee_recipient | VARBINARY | Address receiving the deployer’s fee share. Null where the DEX has not set one |
size_decimals | INTEGER | Decimal precision of order and fill size for the market (sz_decimals) |
max_leverage | INTEGER | Top-tier maximum leverage. Lower for a large position when is_tiered_margin |
margin_table_id | INTEGER | Pointer into the venue’s margin tables, namespaced per dex — the same id means different tiers on different dexes. 1-50 is the implicit single-tier ladder, 51+ deployer-defined |
margin_tiers | VARCHAR | Resolved margin table as JSON, ordered by notional bound: [{"lowerBound": ..., "maxLeverage": ...}] |
is_tiered_margin | BOOLEAN | True when margin_tiers has more than one tier, i.e. the leverage cap depends on position size |
margin_mode | VARCHAR | Deployer-set regime: cross (traders may still pick isolated), noCross, strictIsolated. Source nulls mean cross |
only_isolated | BOOLEAN | True iff margin_mode <> 'cross' |
funding_multiplier | DOUBLE | Per-coin funding multiplier (0.0 = funding disabled). HIP-3 only; null for first-party and for a HIP-3 coin its DEX has not mapped |
open_interest_cap_usd | DOUBLE | Per-coin streaming open-interest cap, USD. HIP-3 only, same null rule |
growth_mode | VARCHAR | HIP-3 growth-mode state (enabled or null), which caps the deployer fee share at 100% instead of 300% |
growth_mode_changed_at | TIMESTAMP(3) WITH TIME ZONE | Last growth-mode change. Null when the source omits it and when it carries the source’s 1970-01-01 never-changed sentinel |
is_delisted | BOOLEAN | Latest polled delisting flag. Delisted markets keep their row |
is_halted | BOOLEAN | Latest decoded haltTrading state. false means “no decoded halt action”, which is weaker than “not halted” |
listed_at | TIMESTAMP(3) WITH TIME ZONE | Block time of the market’s registerAsset / registerAsset2. Null on most markets — always on first-party ones, where listing is not a perpDeploy action — so null means “not in the decoded action log”, not “never registered” |
delisted_at | TIMESTAMP(3) WITH TIME ZONE | First poll observing the market’s current delisted spell; null while listed. Poll resolution, floored at 2026-06-29 |
market_category | VARCHAR | Coarse category of the underlying family, maintained for every listing |
asset_class | VARCHAR | Top-level class in the shared RWA vocabulary. Null on every crypto market |
asset_type | VARCHAR | Finer classification within asset_class, same vocabulary. Null exactly where asset_class is null |
underlying_ticker | VARCHAR | Underlying’s symbol on its primary exchange, local codes included (0700 = Tencent on HKEX). Null for indices, commodities, fx, pre-IPO names and crypto |
description | VARCHAR | Curated description of the reference, with the contract unit where the DEX spec states one. Null on plain crypto tickers |
metadata_last_updated | DATE | Date a curated cell on this row last changed. Says nothing about market activity |
_updated_at | TIMESTAMP(3) WITH TIME ZONE | Newest poller write among this market’s registry row, its dex row and its margin table. Neither a poll clock nor a change clock |