Skip to main content
Schema: hypercore.core Table: ez_perp_asset_snapshots Type: View

What

Periodic snapshots of perpetual market state including open interest, oracle prices, mark prices, and impact prices. Enriched with market metadata from dim_perp_markets. Source data comes from the Hyperliquid asset_ctxs endpoint. Historical asset context data is uploaded to the hyperliquid-archive S3 bucket approximately once a month. There is no guarantee of timely updates and historical data may be missing. Asset contexts and L2 book snapshots are the only historical data sets provided by Hyperliquid via S3.

Key Use Cases

  • Tracking open interest trends across markets
  • Monitoring oracle vs mark price divergence
  • Analyzing market depth via impact prices
  • Measuring premium/discount to oracle price
  • Tracking daily notional volume by market

Important Relationships

  • Derived from silver__asset_contexts via Streamline API
  • Enriched with core__dim_perp_markets via coin
  • Complements core__ez_perp_candles for different market views

Commonly-used Fields

  • coin: Perp asset identifier
  • open_interest: Total open interest
  • oracle_price / mark_price / mid_price: Price metrics
  • premium: Premium over oracle price
  • day_notional_volume: 24h notional volume
  • recorded_at: Snapshot timestamp

Sample queries

-- Open interest trends for top markets (last 14 days)
SELECT
    recorded_at::DATE AS dt,
    coin,
    ROUND(AVG(open_interest), 0) AS avg_open_interest,
    ROUND(AVG(oracle_price), 2) AS avg_oracle_price,
    ROUND(AVG(mark_price), 2) AS avg_mark_price,
    ROUND(AVG(funding_rate) * 100, 4) AS avg_funding_pct
FROM hypercore.core.ez_perp_asset_snapshots
WHERE recorded_at >= DATEADD('day', -14, CURRENT_DATE)
    AND coin IN ('BTC', 'ETH', 'SOL', 'HYPE')
GROUP BY 1, 2
ORDER BY 1, 2;

Columns

Column NameData TypeDescription
RECORDED_ATTIMESTAMP_NTZTimestamp when the asset context snapshot was recorded.
COINTEXTRaw asset identifier. Perps use plain ticker (e.g. BTC), spot uses @token_index format (e.g. @2), prelaunch uses xyz:name prefix.
ASSET_INDEXNUMBERNumeric index for the asset on the Hyperliquid exchange.
SIZE_DECIMALSNUMBERDecimal precision for order sizes on this market.
MAX_LEVERAGENUMBERMaximum allowed leverage for this perpetual market.
FUNDING_RATEFLOATHourly funding rate. Positive means longs pay shorts; negative means shorts pay longs.
OPEN_INTERESTFLOATTotal open interest for the market at the time of the snapshot.
PREV_DAY_PRICEFLOATPrevious day’s closing price.
DAY_NOTIONAL_VOLUMEFLOAT24-hour notional trading volume for the market.
PREMIUMFLOATPremium component of the funding rate, reflecting the price difference between the perp and oracle.
ORACLE_PRICEFLOATOracle reference price from external price feeds.
MARK_PRICEFLOATMark price used for margining and liquidation calculations.
MID_PRICEFLOATMid-market price, calculated as the average of the best bid and ask.
IMPACT_BID_PRICEFLOATPrice impact on the bid side, measuring depth-weighted bid price.
IMPACT_ASK_PRICEFLOATPrice impact on the ask side, measuring depth-weighted ask price.
INSERTED_TIMESTAMPTIMESTAMP_NTZTimestamp when the record was inserted into this table (Snowflake SYSDATE).
MODIFIED_TIMESTAMPTIMESTAMP_NTZTimestamp when the record was last modified in this table (Snowflake SYSDATE).
EZ_PERP_ASSET_SNAPSHOTS_IDTEXTSurrogate key generated from recorded_at and coin
_INVOCATION_IDTEXTdbt invocation identifier for tracking which run produced this record.