Market types
HIP-4 markets fall into four types, each with its own structure and set of fields.- defaultBinary
- labelledBinary
- priceBucket
(aka Distinguishing fields: Fetch recurring markets specifically:
priceBinary)Recurring price binary markets are auto-generated on a schedule and ask whether an asset’s price will exceed a target by a given expiry. They always use “Yes” / “No” sides.e.g. “Will BTC finish above $82,000 at 23:59 11/05/2026”
underlying, targetPrice, expiry, periodMarket type summary
| Type | Description | Key fields |
|---|---|---|
defaultBinary | Recurring price binary (auto-generated) | underlying, targetPrice, expiry, period |
labelledBinary | Standalone binary with custom side names | Custom sides[n].name values |
priceBucket | Grouped under a parent question | questionId, questionName, isFallback |
Data hierarchy
HIP-4 structures data in three layers: events, markets, and outcomes.PredictionEvent groups one or more PredictionMarket objects. For question-based events (multi-outcome), each named outcome becomes its own PredictionMarket. For standalone outcomes, the event contains a single market.
PredictionOutcome represents one side. It carries the side name, the tokenId (the side coin like #5160), and the current price as a decimal string between “0” and “1”.
Event IDs
Event IDs follow two formats depending on how the market was created:q{n}- a question-based event grouping multiple named outcomes (e.g."q42")o{n}- a standalone outcome that forms its own single-market event (e.g."o516")
o{n} format. Price bucket markets are always question-based and use q{n}.
Market status
EveryPredictionEvent has a status field that reflects its current lifecycle state.
| Status | Meaning |
|---|---|
"active" | Trading is open |
"pending_resolution" | Market has closed; awaiting settlement |
"resolved" | Outcome has been determined |
"cancelled" | Market was voided |