hyperliquid.predictions.metrics_daily table provides daily activity, fee, user, and open interest metrics for Hyperliquid HIP-4 prediction markets. One row per (day, category, sub_category).
Table Details
| Property | Value |
|---|---|
| Table Name | hyperliquid.predictions.metrics_daily |
| Table Status | Beta 🌱 |
| Unique Key | day, category, sub_category |
| Clustering Key(s) | day |
| Search Optimization | category, sub_category |
HIP-4 categories:
price_binary (Recurring auto-generated price markets), categorical (named outcomes under a question), binary (orphan named outcomes). sub_category is the Recurring underlying asset (e.g. ‘BTC’); ‘none’ for non-Recurring categories.Table Columns
Identifiers
| Column Name | Data Type | Description |
|---|---|---|
| project | VARCHAR(16777216) | Top-level project namespace (hyperliquid). |
| protocol | VARCHAR(16777216) | Protocol within the project (hyperliquid_hip4). |
| chain | VARCHAR(16777216) | The blockchain network (hyperliquid). |
| day | DATE | Date bucket (UTC). |
| category | VARCHAR(16777216) | Market type. One of ‘price_binary’, ‘categorical’, ‘binary’. |
| sub_category | VARCHAR(16777216) | Underlying asset for Recurring categories (e.g. ‘BTC’). ‘none’ for non-Recurring categories. |
| trading_volume_usd | FLOAT | USD trade volume for the day. |
| notional_volume | FLOAT | Trade volume in HL contract units (1 contract = $1 of collateral locked at mint). Different scale from share-based platforms; prefer trading_volume_usd for cross-platform comparison. |
| trade_count | NUMBER(38,0) | Trade count for the day. |
| avg_trade_size_usd | FLOAT | Average trade size in USD for the day. |
| median_trade_size_usd | FLOAT | Median trade size in USD for the day. |
| total_fee_usd | FLOAT | Total transaction fee revenue in USD. |
| total_buyer_fee_usd | FLOAT | Buyer-side fee revenue in USD. |
| total_seller_fee_usd | FLOAT | Seller-side fee revenue in USD. |
| total_builder_fee_usd | FLOAT | Total builder fee revenue in USD. |
| synthetic_mint_volume_usd | FLOAT | USD volume of synthetic mints. |
| synthetic_mint_count | NUMBER(38,0) | Synthetic mint count for the day. |
| markets_traded | NUMBER(38,0) | Distinct events traded (multi-outcome questions count as one event). |
| outcomes_traded | NUMBER(38,0) | Distinct outcomes traded. |
| coins_traded | NUMBER(38,0) | Distinct side-tokens traded. |
| active_users | NUMBER(38,0) | Distinct addresses across maker and taker roles. An address acting as both in the same day counts once. |
| active_makers | NUMBER(38,0) | Distinct maker addresses. |
| active_takers | NUMBER(38,0) | Distinct taker addresses. |
| total_open_interest_usd | FLOAT | HIP-4 open interest in USD for this category and sub-category on the day. |
| markets_with_oi | NUMBER(38,0) | Distinct events with open interest on the day. |
| cumulative_trading_volume_usd | FLOAT | All-time USD volume up to and including the day, scoped to (category, sub_category). |
| cumulative_notional_volume | FLOAT | All-time notional volume up to and including the day, scoped to (category, sub_category). |
| cumulative_trade_count | NUMBER(38,0) | All-time trade count up to and including the day, scoped to (category, sub_category). |
| unique_id | VARCHAR(16777216) | Deterministic unique identifier per row. |
| _created_at | TIMESTAMP_NTZ(9) | Row creation timestamp. |
| _updated_at | TIMESTAMP_NTZ(9) | Row last update timestamp. |
Volume & Trade Counts
| Column Name | Description | |
|---|---|---|
| trading_volume_usd | USD trade volume for the day. | Voluntary trading volume in USD on this day (excludes liquidations and deleverages). |
| notional_volume | Trade volume in HL contract units (1 contract = $1 of collateral locked at mint). Different scale from share-based platforms; prefer trading_volume_usd for cross-platform comparison. | HIP-4 trade volume in contract units for the day. Prefer trading_volume_usd for cross-platform comparison. |
| trade_count | Trade count for the day. | Number of trades or swaps included in this aggregated record. |
| avg_trade_size_usd | Average trade size in USD for the day. | Average trade size in USD (trading_volume_usd / trade_count). |
| median_trade_size_usd | Median trade size in USD for the day. | Median trade size in USD. More robust than avg_trade_size_usd for skewed distributions. |
Fees
| Column Name | Description | |
|---|---|---|
| total_fee_usd | Total transaction fee revenue in USD. | Sum of NET fee_usd across trades for the day (gross charged minus rebate paid). For Polymarket: actual on-chain FeeCharged minus FeeRefunded (may be 0 for neg_risk markets). For Jupiter (venue_fee_usd) and DFlow (fee_amount * token_price): no rebate concept, so equals gross_fee_usd. Estimated for Polymarket US (fee_coefficient * collateral). For Kalshi: sum of taker_fee_usd + maker_fee_usd from the published fee formula, CEIL to $0.0001 per side. NULL for Gemini. Identity holds: total_fee_usd = gross_fee_usd - coalesce(rebate_fee_usd, 0). Fee structures differ across platforms and are not directly comparable. |
| total_buyer_fee_usd | Buyer-side fee revenue in USD. | SUM(buyer_fee_usd). Buyer-side fee revenue in USD (settlement stable USDH/USDC). |
| total_seller_fee_usd | Seller-side fee revenue in USD. | SUM(seller_fee_usd). Seller-side fee revenue in USD (settlement stable USDH/USDC). |
| total_builder_fee_usd | Total builder fee revenue in USD. | SUM of buyer + seller builder fees, USD-denominated. Mirrors the trade-fee conversion: each side’s builder fee is hydrated against its own fee_token (the HIP-4 settlement stable, USDH/USDC post the ~2026-05-23 cutover). |
Synthetic Mints
| Column Name | Description | |
|---|---|---|
| synthetic_mint_volume_usd | USD volume of synthetic mints. | USD volume from is_synthetic_mint=true rows — collateral-minted via the mint path (HIP-4 Settlement-free flow), as opposed to orderbook trades. |
| synthetic_mint_count | Synthetic mint count for the day. | Count of is_synthetic_mint=true rows. |
Market Coverage
| Column Name | Description | |
|---|---|---|
| markets_traded | Distinct events traded (multi-outcome questions count as one event). | Count of distinct events/questions with at least one trade on this day. Uses event_ticker (condition_id for Polymarket, market_event_id for Kalshi/Jupiter/DFlow) for an apples-to-apples comparison across platforms. Kalshi can have dozens of individual contracts (tickers) per event, so counting at the event level avoids inflating Kalshi’s count relative to Polymarket. |
| outcomes_traded | Distinct outcomes traded. | COUNT(DISTINCT outcome_id). |
| coins_traded | Distinct side-tokens traded. | COUNT(DISTINCT coin) — token-side grain (~2x outcomes_traded). |
Users
| Column Name | Description | |
|---|---|---|
| active_users | Distinct addresses across maker and taker roles. An address acting as both in the same day counts once. | Number of unique users (buyers + sellers, deduplicated) that traded on this day. |
| active_makers | Distinct maker addresses. | COUNT(DISTINCT maker_address). |
| active_takers | Distinct taker addresses. | COUNT(DISTINCT taker_address). |
Open Interest
| Column Name | Description | |
|---|---|---|
| total_open_interest_usd | HIP-4 open interest in USD for this category and sub-category on the day. | Total HIP-4 open interest in USD for the day at (category, sub_category). Sum of per-user position USD values. Not perpetual-market open interest. |
| markets_with_oi | Distinct events with open interest on the day. | Count of distinct events/questions with non-zero open interest on this day. Uses event_ticker for consistency with markets_traded (event-level, not contract-level). |
Cumulative
| Column Name | Description | |
|---|---|---|
| cumulative_trading_volume_usd | All-time USD volume up to and including the day, scoped to (category, sub_category). | Running total of trading_volume_usd partitioned by (project, protocol, chain, category). |
| cumulative_notional_volume | All-time notional volume up to and including the day, scoped to (category, sub_category). | Running total of notional_volume partitioned by (project, protocol, chain, category). |
| cumulative_trade_count | All-time trade count up to and including the day, scoped to (category, sub_category). | Running total of trade_count partitioned by (project, protocol, chain, category). |
Lineage
| Column Name | Description | |
|---|---|---|
| unique_id | Deterministic unique identifier per row. | Allium’s deterministic unique identifier for this row. Generated from the fields that uniquely identify the record (e.g. transaction hash + log index). Stable across full refreshes. |
| _created_at | Row creation timestamp. | Timestamp (UTC) when this row was first written to the Allium platform. Set once on insert and never changed. |
| _updated_at | Row last update timestamp. | Timestamp (UTC) of the most recent update to this row in the Allium platform. Advances when the row is reprocessed or enriched (e.g. USD price hydration). |
Sample Query
SELECT
day,
category,
sub_category,
trading_volume_usd,
trade_count,
active_users,
total_open_interest_usd,
markets_with_oi
FROM hyperliquid.predictions.metrics_daily
WHERE day >= CURRENT_DATE - 30
ORDER BY day DESC, category, sub_category