curl --request POST \
--url https://api.hyperliquid.xyz/info \
--header 'Content-Type: application/json' \
--data '
{
"type": "outcomeMeta"
}
'{
"outcomes": [
{
"outcome": 1,
"name": "Recurring",
"description": "class:priceBinary|underlying:BTC|expiry:20260504-0600|targetPrice:78213|period:1d",
"sideSpecs": [
{
"name": "Yes"
},
{
"name": "No"
}
]
}
],
"questions": []
}curl --request POST \
--url https://api.hyperliquid.xyz/info \
--header 'Content-Type: application/json' \
--data '
{
"type": "outcomeMeta"
}
'{
"outcomes": [
{
"outcome": 1,
"name": "Recurring",
"description": "class:priceBinary|underlying:BTC|expiry:20260504-0600|targetPrice:78213|period:1d",
"sideSpecs": [
{
"name": "Yes"
},
{
"name": "No"
}
]
}
],
"questions": []
}Documentation Index
Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
Use this file to discover all available pages before exploring further.
info endpoint with type: "outcomeMeta" retrieves the live HIP-4 outcome markets and any categorical questions on the Hyperliquid exchange. Outcome markets are fully collateralized binary contracts that settle within a fixed range — the primitive that powers prediction markets and bounded options-like instruments on Hyperliquid.
type (string, required) — Must be "outcomeMeta"outcome (integer) — Outcome id. Used together with the side index to derive the asset encoding.name (string) — Human-readable market name (for example, "Recurring" for the recurring BTC daily binary, or a custom name for one-off markets).description (string) — For recurring binary markets, a pipe-separated key:value string with class, underlying, expiry, targetPrice, period (for example, "class:priceBinary|underlying:BTC|expiry:20260504-0600|targetPrice:78213|period:1d"). For other market types, free-form text.sideSpecs (array) — Two-element array describing the YES (index 0) and NO (index 1) sides. Each element has a name field.question (integer) — Question id.name (string) — Question text.description (string) — Free-form description.fallbackOutcome (integer) — Outcome id used if none of the named outcomes matches.namedOutcomes (array of integers) — Outcome ids for the named legs.settledNamedOutcomes (array of integers) — Outcome ids that have already settled.outcomeMeta does not return per-side coin strings or asset ids. Compute them client-side from outcome and side (0 for YES, 1 for NO):
encoding = 10 * outcome + side
trade coin = "#<encoding>" # for /info l2Book and Exchange.order(...)
balance coin = "+<encoding>" # for spotClearinghouseState
asset id = 100_000_000 + encoding
1, side 0), the encoding is 10, the trade coin is #10, the balance coin is +10, and the asset id is 100_000_010.
See the full guide at Trading HIP-4 outcome markets on Hyperliquid for the rest of the trading flow.
curl -X POST \
-H "Content-Type: application/json" \
-d '{"type": "outcomeMeta"}' \
https://api.hyperliquid.xyz/info
description to extract the expiry and targetPrice for binary price-based markets.question and their settled status (testnet).outcome ids are still live so you can mark settled positions out of your book.Request type to retrieve HIP-4 outcome market metadata
outcomeMeta Was this page helpful?