Hyperliquid HIP-4
HIP-4 is the outcome-market surface Hyperliquid shipped to mainnet on 2026-05-02. Each market is a binary YES/NO contract that settles in USDH at $1 per winning share. HIP-4 markets are accounted on HyperCore (the order-book exchange), not on HyperEVM.
HIP-4 is not HIP-3. HIP-3 is continuous-price perpetuals (TSLA, FX, SP500). HIP-4 is the
actual binary prediction-market product. Artery splits them into two registered providers —
hyperliquid_perp covers main perps + HIP-3, hyperliquid_hip4 covers outcome markets only.
Asset-id encoding
Hyperliquid encodes everything in a single integer asset id. HIP-4 outcomes live in their own range:
| Range | Surface |
|---|---|
0..N | Main perps (BTC, ETH, …) |
10_000 + spotMeta.universe[i].index | Spot pairs |
100_000 + dex_idx*10_000 + idx_in_dex | HIP-3 perps (TSLA, FX, …) |
100_000_000 + (10*outcome_id + side) | HIP-4 outcomes — side=0 NO, side=1 YES |
Example: HIP-4 outcome 42, YES leg → asset id 100_000_421.
Endpoints
| Artery | Upstream /info action | Notes |
|---|---|---|
GET /v1/hyperliquid/hip4/outcome-meta | outcomeMeta | List of all live outcome markets |
POST /v1/hyperliquid/hip4/info | (raw passthrough) | Body forwarded verbatim — covers any new HIP-4 action without an Artery release |
The raw passthrough exists because HIP-4's info actions are still being shipped — passthrough means new fields and new action types work the day upstream ships them.
Wire shape
bashcurl -sS https://api.artery.questflow.ai/v1/hyperliquid/hip4/outcome-meta \
-H "Authorization: Bearer $TOKEN" | jqjson{
"native": {
"outcomes": [
{
"id": 42,
"name": "BTC closes above $200k by 2026-12-31",
"expiry": 1798761600000,
"settlementToken": "USDH",
"yesAssetId": 100000421,
"noAssetId": 100000420,
"status": "open"
}
]
},
"meta": {
"provider": "hyperliquid_hip4",
"fetchedAt": "2026-05-08T12:00:00.000Z",
"source": "live"
}
}Streaming
Same /v1/stream gateway as the rest of Hyperliquid. HIP-4 outcomes share
the hyperliquid_perp channel namespace because they ride the same
upstream WebSocket:
json{
"type": "subscribe",
"channels": ["artery:stream:hyperliquid_perp:100000421"]
}Artery's stream worker pulls HL allMids once on bootstrap and fans out
per-asset events; HIP-4 outcomes show up alongside main perps without
extra setup. Use artery:stream:hyperliquid_perp:* to receive every
update including all HIP-4 outcome markets.
Trading model (planned)
HIP-4 reuses the HL Core agent-trading model:
- User signs EIP-712
approveAgentwith master wallet — one-time per agent - Artery issues a unique short-lived agent (
qf-<base36-ts>, max 16 chars) - All
order/cancel/modifyactions sign with the agent — agent cannot withdraw funds
USDH balances live on HyperCore; HIP-4 markets settle into the user's
HyperCore USDH balance. To bridge USDH off-platform, the user signs
withdraw3 with the master wallet — Artery never holds withdrawal authority.
Why Artery ships HIP-4 day one — HIP-4 launched 2026-05-02 and most aggregators are still
working through HIP-3. By treating HIP-4 as a separate registered provider with raw passthrough on
/info, we don't need to chase upstream schema changes.
See also
- Hyperliquid Perp + HIP-3 — sibling provider, shared
/infohost - Adapter contract — capability declaration model
- Streaming concept — the
/v1/streamwire protocol