> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dune.com/llms.txt
> Use this file to discover all available pages before exploring further.

# hip4_hyperliquid.market_details

> Hyperliquid HIP-4 market reference table — one row per binary market with its question, sides, event grouping, strike, expiry, and settlement.

export const TableSample = ({tableName, tableSchema}) => <>
    <div className="hidden dark:block">
      <iframe src={`https://dune.com/embeds/3419983/5785629?table_schema_t6f0df=${tableSchema}&table_name_t6f0df=${tableName}&darkMode=true`} style={{
  width: '100%',
  height: '500px',
  border: 'none',
  marginTop: '10px'
}} />
    </div>
    <div className="dark:hidden">
      <iframe src={`https://dune.com/embeds/3419983/5785629?table_schema_t6f0df=${tableSchema}&table_name_t6f0df=${tableName}`} style={{
  width: '100%',
  height: '500px',
  border: 'none',
  marginTop: '10px'
}} />
    </div>
  </>;

The `hip4_hyperliquid.market_details` table is the Hyperliquid HIP-4 market reference table. Grain: one row per `market_id`. Every market is a binary Yes/No pair. Use this table to look up what a market asks, which event it belongs to, when it expires, and how it settled. Join [`hip4_hyperliquid.market_trades`](/data-catalog/curated/prediction-markets/hip4/market_trades) on `market_id` for its fills, or on `outcome_id` = `yes_outcome_id` / `no_outcome_id` for one side.

Hyperliquid publishes most market descriptions as pipe-delimited `key:value` template parameters rather than prose. `title` and `event_title` are readable statements built from those parameters. The raw values are kept in `template`, `description` and `template_fields`.

<Note>
  Markets listed before the venue published a market registry have no name or description (`template` is null, so `title` is null too). They are real markets, not an ingestion gap.
</Note>

## Table Schema

| Column                        | Type                    | Description                                                                                                                                                                                                                                                                                              |
| ----------------------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `market_id`                   | `VARCHAR`               | Market identifier (Hyperliquid's outcome index). One binary Yes/No contract                                                                                                                                                                                                                              |
| `event_id`                    | `VARCHAR`               | Event this market is one outcome of, where the venue groups markets into mutually exclusive sets. NULL for standalone markets and while the venue has not published the grouping                                                                                                                         |
| `yes_outcome_id`              | `VARCHAR`               | Token that pays out when the market settles yes. Joins `market_trades.outcome_id`                                                                                                                                                                                                                        |
| `no_outcome_id`               | `VARCHAR`               | Token that pays out when the market settles no. Joins `market_trades.outcome_id`                                                                                                                                                                                                                         |
| `title`                       | `VARCHAR`               | Readable one-line statement of what the market asks, built from the venue's parameters. NULL where the venue published no name, incomplete parameters, or a fallback template                                                                                                                            |
| `yes_outcome_name`            | `VARCHAR`               | What the Yes side is called: `Yes` on a plain binary, a team or range on others                                                                                                                                                                                                                          |
| `no_outcome_name`             | `VARCHAR`               | What the No side is called                                                                                                                                                                                                                                                                               |
| `event_title`                 | `VARCHAR`               | Name of the event this market belongs to. NULL for standalone markets                                                                                                                                                                                                                                    |
| `template_id`                 | `VARCHAR`               | Venue template the market was created from (e.g. `priceBinary`, `priceTouch`, `sportsTournamentParticipant`). `manual` for hand-written markets, `fallback` for an event's catch-all outcome, `recurring` for a recurring market the venue has not yet described. NULL where the venue published no name |
| `is_fallback`                 | `BOOLEAN`               | TRUE on an event's fallback outcome, which settles yes when none of the named outcomes happens                                                                                                                                                                                                           |
| `market_type`                 | `VARCHAR`               | `standalone` or `question_outcome` (one of the mutually exclusive outcomes of an event)                                                                                                                                                                                                                  |
| `is_mutually_exclusive_event` | `BOOLEAN`               | TRUE where exactly one of the event's outcomes settles yes. FALSE for standalone markets and where no grouping is known                                                                                                                                                                                  |
| `event_outcome_count`         | `INTEGER`               | Number of named outcomes in the event, excluding the fallback outcome. NULL for standalone markets                                                                                                                                                                                                       |
| `outcome_position`            | `INTEGER`               | Published slot within the event, counting from 0. Only set on price-range events                                                                                                                                                                                                                         |
| `quote_token`                 | `VARCHAR`               | Stablecoin the market is collateralised and paid out in: `USDC`, or `USDH` on the earliest markets                                                                                                                                                                                                       |
| `deployer`                    | `VARBINARY`             | Account that listed the market (or its event). NULL on markets listed by validators before permissionless listing                                                                                                                                                                                        |
| `deployer_venue`              | `VARCHAR`               | Namespace the deployer listed under                                                                                                                                                                                                                                                                      |
| `frequency`                   | `VARCHAR`               | Cadence of a recurring series: `fifteen_min`, `hourly`, `daily`, `weekly`, `monthly`, `annual`. NULL on one-off markets                                                                                                                                                                                  |
| `underlying`                  | `VARCHAR`               | Symbol the market settles against, on price-based markets                                                                                                                                                                                                                                                |
| `underlying_dex`              | `VARCHAR`               | HIP-3 builder dex listing the underlying, where it is not a first-party Hyperliquid market                                                                                                                                                                                                               |
| `strike_type`                 | `VARCHAR`               | How the strike is read: `greater`, `greater_or_equal`, `less`, `less_or_equal`, `between`, `structured`, `custom`                                                                                                                                                                                        |
| `floor_strike`                | `DOUBLE`                | Lower bound of the range the market resolves yes in, in units of `underlying`                                                                                                                                                                                                                            |
| `cap_strike`                  | `DOUBLE`                | Upper bound of the range the market resolves yes in, in units of `underlying`                                                                                                                                                                                                                            |
| `observation_seconds`         | `INTEGER`               | How long the underlying must hold the strike to resolve yes. NULL where resolution is a single reading                                                                                                                                                                                                   |
| `listed_at`                   | `TIMESTAMP`             | Earliest the venue is known to have listed the market (registration, or first appearance in the registry, a trader action, or a settlement). Not the first trade                                                                                                                                         |
| `scheduled_start_time`        | `TIMESTAMP`             | When the underlying event is scheduled to begin, where applicable                                                                                                                                                                                                                                        |
| `expected_expiration_time`    | `TIMESTAMP`             | When the market is due to stop trading and resolve                                                                                                                                                                                                                                                       |
| `status`                      | `VARCHAR`               | `active` while open, `closed` once expiration passed without a recorded settlement, `settled` once settled                                                                                                                                                                                               |
| `result`                      | `VARCHAR`               | `yes`, `no`, `void` (both sides paid equally), or `scalar` (fractional payout). NULL until settled                                                                                                                                                                                                       |
| `settlement_value_usd`        | `DOUBLE`                | What one Yes token paid, on a 0 to 1 scale. NULL until settled                                                                                                                                                                                                                                           |
| `settlement_details`          | `VARCHAR`               | Reference value the venue settled on, where published                                                                                                                                                                                                                                                    |
| `settlement_ts`               | `TIMESTAMP`             | When the market settled. NULL until settled                                                                                                                                                                                                                                                              |
| `settlement_block_number`     | `BIGINT`                | Block the payout was made in. NULL until settled, and on markets settled with no holder to pay                                                                                                                                                                                                           |
| `category`                    | `VARCHAR`               | Unified prediction-market category: `sports`, `crypto`, `politics`, `finance`, `technology`, `culture`, `weather`, `world`, `health`, `other`                                                                                                                                                            |
| `category_native`             | `ARRAY(VARCHAR)`        | The venue's own descriptors for the market                                                                                                                                                                                                                                                               |
| `template`                    | `VARCHAR`               | The venue's name for the market. On templated markets this is the template label; `title` is the readable form                                                                                                                                                                                           |
| `description`                 | `VARCHAR`               | The venue's description, verbatim. Templated markets carry pipe-delimited `key:value` parameters                                                                                                                                                                                                         |
| `event_description`           | `VARCHAR`               | Description of the parent event, verbatim                                                                                                                                                                                                                                                                |
| `template_fields`             | `MAP(VARCHAR, VARCHAR)` | The market's template parameters as a key-value map                                                                                                                                                                                                                                                      |
| `event_template_fields`       | `MAP(VARCHAR, VARCHAR)` | The event's template parameters as a key-value map                                                                                                                                                                                                                                                       |
| `source_updated_at`           | `TIMESTAMP`             | Latest the venue changed anything this row reports                                                                                                                                                                                                                                                       |
| `_updated_at`                 | `TIMESTAMP`             | When this row was last written by the pipeline                                                                                                                                                                                                                                                           |

## Table sample

<TableSample tableSchema="hip4_hyperliquid" tableName="market_details" />

## Example query

```sql theme={null}
-- Active markets closest to expiry
SELECT
  market_id,
  event_title,
  title,
  yes_outcome_name,
  no_outcome_name,
  category,
  expected_expiration_time
FROM hip4_hyperliquid.market_details
WHERE status = 'active'
ORDER BY expected_expiration_time
LIMIT 20
```
