Hyperliquid HIP-4 Data API

Outcome-market routes under /v1/hyperliquid/hip4: binary prediction events with Yes/No sides and live probability streams. Numeric coin ids.

Namespace
/v1/hyperliquid/hip4
Markets
Binary outcome (Yes/No)
mark_price
Implied probability in [0,1]
Discovery
/outcomes

HIP-4

Outcome-market routes inside the Hyperliquid namespace: /outcomes discovery, per-side L2/L4 books, trades, OI, and order lifecycle. Coins are referenced by numeric id (0, 1, 10, 11, ...); the #-prefixed form is also accepted for callers integrating from on-chain SDKs.

Hyperliquid HIP-4 - Outcomes (Build+)

GET/v1/hyperliquid/hip4/outcomes1 credit

List HIP-4 outcome markets (binary prediction events).

List HIP-4 outcome markets (binary prediction events). Each outcome has Yes (side 0) and No (side 1) sides. Filter by `is_settled` to scope to live or settled markets. Cursor pagination. Response excludes `aggregated_oi` (call /outcomes/:outcome_id for OI snapshots). Requires Build tier or higher.

is_settledqueryFilter by settlement status: true or false
cursorqueryPagination cursor from previous response
limitqueryMax results (default: 100, max: 1000)
/v1/hyperliquid/hip4/outcomes?is_settled=false&limit=100
{
"success": true,
"data": [
{
"outcome_id": 0,
"name": "BTC >= 78213 by 2026-05-03 06:00 UTC",
"class": "priceBinary",
"underlying": "BTC",
"expiry": "2026-05-03T06:00:00Z",
"target_price": 78213,
"period": "1d",
"side_specs": [
{
"side": 0,
"name": "Yes",
"coin": "#0",
"asset_id": 100000000
},
{
"side": 1,
"name": "No",
"coin": "#1",
"asset_id": 100000001
}
],
"is_settled": false,
"status": "live",
"source_seen_at": "2026-05-02T20:25:00Z"
}
],
"meta": {
"request_id": "req_abc123",
"count": 1,
"next_cursor": "1704067200000_abc123",
"has_more": false
}
}
GET/v1/hyperliquid/hip4/outcomes/:outcome_id1 credit

Get a single HIP-4 outcome market by id, including the latest both-sides aggregated OI snapshot (display, paired-set supply, parity flag).

Get a single HIP-4 outcome market by id, including the latest both-sides aggregated OI snapshot (display, paired-set supply, parity flag). Requires Build tier or higher.

outcome_idpathrequiredOutcome id (integer, e.g., 0)
/v1/hyperliquid/hip4/outcomes/0
{
"success": true,
"data": {
"outcome_id": 0,
"name": "BTC >= 78213 by 2026-05-03 06:00 UTC",
"description_raw": "class:priceBinary|underlying:BTC|expiry:20260503-0600|targetPrice:78213|period:1d",
"class": "priceBinary",
"underlying": "BTC",
"expiry": "2026-05-03T06:00:00Z",
"target_price": 78213,
"period": "1d",
"side_specs": [
{
"side": 0,
"name": "Yes",
"coin": "#0",
"asset_id": 100000000
},
{
"side": 1,
"name": "No",
"coin": "#1",
"asset_id": 100000001
}
],
"is_settled": false,
"status": "live",
"source_seen_at": "2026-05-02T20:25:00Z",
"aggregated_oi": {
"side0_open_interest_contracts": 568048,
"side1_open_interest_contracts": 568048,
"outcome_display_open_interest_contracts": 1136096,
"paired_set_supply_contracts": 568048,
"side_supply_parity": true,
"currency": "USDH",
"as_of": "2026-05-02T20:27:21Z",
"side0_as_of": "2026-05-02T20:27:21Z",
"side1_as_of": "2026-05-02T20:27:21Z"
}
},
"meta": {
"request_id": "req_abc123",
"count": 1
}
}

Hyperliquid HIP-4 - Instruments (Build+)

GET/v1/hyperliquid/hip4/instruments1 credit

List per-side HIP-4 instruments (one row per `#N` coin).

List per-side HIP-4 instruments (one row per `#N` coin). Each outcome contributes two rows (Yes side `#0`, No side `#1` etc.). Requires Build tier or higher.

/v1/hyperliquid/hip4/instruments
{
"success": true,
"data": [
{
"outcome_id": 0,
"side": 0,
"asset_id": 100000000,
"coin": "#0",
"symbol": "#0",
"side_name": "Yes",
"is_settled": false
},
{
"outcome_id": 0,
"side": 1,
"asset_id": 100000001,
"coin": "#1",
"symbol": "#1",
"side_name": "No",
"is_settled": false
}
],
"meta": {
"request_id": "req_abc123",
"count": 2
}
}
GET/v1/hyperliquid/hip4/instruments/:symbol1 credit

Get a specific HIP-4 instrument by coin id.

Get a specific HIP-4 instrument by coin id. Requires Build tier or higher.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). Encoding: 10*outcome_id + side. #-prefixed form also accepted.
/v1/hyperliquid/hip4/instruments/0
{
"success": true,
"data": {
"outcome_id": 0,
"side": 0,
"asset_id": 100000000,
"coin": "#0",
"symbol": "#0",
"name": "BTC >= 78213 by 2026-05-03 06:00 UTC - Yes",
"description": "class:priceBinary|underlying:BTC|expiry:20260503-0600|targetPrice:78213|period:1d",
"side_name": "Yes",
"recurring_class": "priceBinary",
"recurring_underlying": "BTC",
"recurring_expiry": "2026-05-03T06:00:00Z",
"recurring_target_px": 78213,
"recurring_period": "1d",
"builder_address": "0x1234...abcd",
"is_settled": false,
"first_seen_at": "2026-05-02T07:47:00Z",
"last_updated_at": "2026-05-02T20:25:00Z"
},
"meta": {
"request_id": "req_abc123",
"count": 1
}
}

Hyperliquid HIP-4 - Order Book (Pro+ for L2/L4)

GET/v1/hyperliquid/hip4/orderbook/:symbol1 credit

Get current L2 order book snapshot for a HIP-4 outcome side.

Get current L2 order book snapshot for a HIP-4 outcome side. Requires Pro tier or higher.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
timestampqueryUnix timestamp in ms for historical snapshot
depthqueryNumber of price levels per side. Tier limits: Free=20, Build=200, Pro=Full Depth, Enterprise=Full Depth
/v1/hyperliquid/hip4/orderbook/0?depth=20
{
"success": true,
"data": {
"symbol": "#0",
"timestamp": "2026-01-01T12:00:00Z",
"bids": [
{
"px": "42150.50",
"sz": "2.5",
"n": 5
}
],
"asks": [
{
"px": "42151.00",
"sz": "1.8",
"n": 3
}
],
"mid_price": "42150.75",
"spread": "0.50",
"spread_bps": "1.19"
},
"meta": {
"request_id": "req_abc123",
"count": 1
}
}
GET/v1/hyperliquid/hip4/orderbook/:symbol/history5 credits

Get historical HIP-4 L2 order book snapshots with cursor pagination.

Get historical HIP-4 L2 order book snapshots with cursor pagination. Returns sub-second L1 snapshots. Data available from 2026-05-02. Requires Pro tier or higher.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
startqueryrequiredStart timestamp in ms
endqueryrequiredEnd timestamp in ms
cursorqueryPagination cursor from previous response
limitqueryMax results (default: 100, max: 1000)
depthqueryNumber of price levels per side. Tier limits: Free=20, Build=200, Pro=Full Depth, Enterprise=Full Depth
/v1/hyperliquid/hip4/orderbook/0/history?start=1746144000000&end=1746230400000&limit=100
{
"success": true,
"data": [
{
"symbol": "#0",
"timestamp": "2026-01-01T12:00:00Z",
"bids": [
{
"px": "42150.50",
"sz": "2.5",
"n": 5
}
],
"asks": [
{
"px": "42151.00",
"sz": "1.8",
"n": 3
}
],
"mid_price": "42150.75",
"spread": "0.50"
}
],
"meta": {
"request_id": "req_abc123",
"count": 1,
"next_cursor": "1704067200000_abc123",
"has_more": false
}
}
GET/v1/hyperliquid/hip4/orderbook/:symbol/l410 credits

Reconstruct the HIP-4 L4 orderbook for a side at a specific point in time, showing individual orders with user attribution at each price level.

Reconstruct the HIP-4 L4 orderbook for a side at a specific point in time, showing individual orders with user attribution at each price level. Requires Pro tier or higher. Data available from 2026-05-02.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
timestampqueryrequiredUnix timestamp in ms for reconstruction point
depthqueryNumber of price levels per side (default: 20)
/v1/hyperliquid/hip4/orderbook/0/l4?timestamp=1746144000000&depth=20
{
"success": true,
"data": {
"symbol": "#0",
"timestamp": "2026-03-11T12:00:00Z",
"bids": [
{
"price": "42150.50",
"orders": [
{
"order_id": "0xabc",
"user_address": "0x1234...abcd",
"size": "2.5"
}
]
}
],
"asks": [
{
"price": "42151.00",
"orders": [
{
"order_id": "0xdef",
"user_address": "0x5678...efgh",
"size": "1.8"
}
]
}
]
},
"meta": {
"request_id": "req_abc123",
"count": 1
}
}
GET/v1/hyperliquid/hip4/orderbook/:symbol/l4/diffs5 credits

Get HIP-4 L4 orderbook diffs (event stream) showing individual order changes with user attribution.

Get HIP-4 L4 orderbook diffs (event stream) showing individual order changes with user attribution. ASC + cursor pagination. Requires Pro tier or higher. Data available from 2026-05-02.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
startqueryrequiredStart timestamp in ms
endqueryrequiredEnd timestamp in ms
cursorqueryPagination cursor from previous response
limitqueryMax results (default: 100, max: 1000)
/v1/hyperliquid/hip4/orderbook/0/l4/diffs?start=1746144000000&end=1746230400000&limit=100
{
"success": true,
"data": [
{
"symbol": "#0",
"timestamp": "2026-03-11T12:00:00Z",
"bids": [
{
"price": "42150.50",
"orders": [
{
"order_id": "0xabc",
"user_address": "0x1234...abcd",
"size": "2.5"
}
]
}
],
"asks": [
{
"price": "42151.00",
"orders": [
{
"order_id": "0xdef",
"user_address": "0x5678...efgh",
"size": "1.8"
}
]
}
]
}
],
"meta": {
"request_id": "req_abc123",
"count": 1,
"next_cursor": "1704067200000_abc123",
"has_more": false
}
}
GET/v1/hyperliquid/hip4/orderbook/:symbol/l4/history10 credits

Get HIP-4 L4 orderbook checkpoints (full snapshots) with user attribution.

Get HIP-4 L4 orderbook checkpoints (full snapshots) with user attribution. Hard cap `limit=10`. Requires Build tier or higher. Data available from 2026-05-02.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
startqueryrequiredStart timestamp in ms
endqueryrequiredEnd timestamp in ms
cursorqueryPagination cursor from previous response
limitqueryMax results (default: 10, max: 10)
/v1/hyperliquid/hip4/orderbook/0/l4/history?start=1746144000000&end=1746230400000&limit=10
{
"success": true,
"data": [
{
"symbol": "#0",
"timestamp": "2026-03-11T12:00:00Z",
"bids": [
{
"price": "42150.50",
"orders": [
{
"order_id": "0xabc",
"user_address": "0x1234...abcd",
"size": "2.5"
}
]
}
],
"asks": [
{
"price": "42151.00",
"orders": [
{
"order_id": "0xdef",
"user_address": "0x5678...efgh",
"size": "1.8"
}
]
}
]
}
],
"meta": {
"request_id": "req_abc123",
"count": 1,
"next_cursor": "1704067200000_abc123",
"has_more": false
}
}

Hyperliquid HIP-4 - Trades (Build+)

GET/v1/hyperliquid/hip4/trades/:symbol2 credits

Get HIP-4 fills history (full) with cursor pagination.

Get HIP-4 fills history (full) with cursor pagination. Requires Build tier or higher.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
startqueryrequiredStart timestamp in ms
endqueryrequiredEnd timestamp in ms
cursorqueryCursor from previous response (next_cursor)
limitqueryMax results (default: 100, max: 1000)
/v1/hyperliquid/hip4/trades/0?start=1746144000000&end=1746230400000&limit=100
{
"success": true,
"data": [
{
"symbol": "#0",
"timestamp": "2026-01-01T12:00:00Z",
"side": "B",
"price": "42150.50",
"size": "0.25",
"trade_id": 12345678,
"direction": "Open Long"
}
],
"meta": {
"request_id": "req_abc123",
"count": 1,
"next_cursor": "1704067200000_abc123",
"has_more": false
}
}
GET/v1/hyperliquid/hip4/trades/:symbol/recent1 credit

Get last N HIP-4 fills, latest first.

Get last N HIP-4 fills, latest first. Requires Build tier or higher.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
limitqueryNumber of trades to return (default: 100, max: 1000)
/v1/hyperliquid/hip4/trades/0/recent?limit=50
{
"success": true,
"data": [
{
"symbol": "#0",
"timestamp": "2026-01-01T12:00:00Z",
"side": "B",
"price": "42150.50",
"size": "0.25",
"trade_id": 12345678,
"direction": "Open Long"
}
],
"meta": {
"request_id": "req_abc123",
"count": 1,
"next_cursor": "1704067200000_abc123",
"has_more": false
}
}

Hyperliquid HIP-4 - Market Data (Build+)

GET/v1/hyperliquid/hip4/openinterest/:symbol2 credits

Get historical HIP-4 side open interest with cursor pagination.

Get historical HIP-4 side open interest with cursor pagination. Mirrors HIP-3 OI byte-for-byte (single-table, no joins). For both-sides display/paired/parity fields use /outcomes/:outcome_id. Requires Build tier or higher.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
startqueryrequiredStart timestamp in ms
endqueryrequiredEnd timestamp in ms
cursorqueryCursor from previous response (next_cursor)
limitqueryMax results (default: 100, max: 1000)
/v1/hyperliquid/hip4/openinterest/0?start=1746144000000&end=1746230400000&limit=100
{
"success": true,
"data": [
{
"coin": "#0",
"symbol": "#0",
"outcome_id": 0,
"side": 0,
"timestamp": "2026-05-02T20:27:21Z",
"open_interest": "568048",
"mark_price": "0.6502",
"mid_price": "0.65038"
}
],
"meta": {
"request_id": "req_abc123",
"count": 1,
"next_cursor": "1704067200000_abc123",
"has_more": false
}
}
GET/v1/hyperliquid/hip4/openinterest/:symbol/current1 credit

Get the latest HIP-4 side open interest row.

Get the latest HIP-4 side open interest row. `mark_price` for HIP-4 is an implied probability in [0,1], not USD. Requires Build tier or higher.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
/v1/hyperliquid/hip4/openinterest/0/current
{
"success": true,
"data": {
"coin": "#0",
"symbol": "#0",
"outcome_id": 0,
"side": 0,
"timestamp": "2026-05-02T20:27:21Z",
"open_interest": "568048",
"mark_price": "0.6502",
"mid_price": "0.65038"
},
"meta": {
"request_id": "req_abc123",
"count": 1
}
}
GET/v1/hyperliquid/hip4/prices/:symbol2 credits

Get HIP-4 mid-price history for a side.

Get HIP-4 mid-price history for a side. `mark_price` is an implied probability in [0,1], not USD. No oracle price feed for HIP-4. Requires Build tier or higher.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
startqueryStart timestamp (Unix ms or ISO 8601). Defaults to 24h ago.
endqueryEnd timestamp (Unix ms or ISO 8601). Defaults to now.
intervalqueryAggregation interval: 5m, 15m, 30m, 1h, 4h, 1d. When omitted, returns raw data.
limitqueryMax results (default: 100, max: 1000)
cursorqueryPagination cursor from previous response
/v1/hyperliquid/hip4/prices/0?start=1746144000000&end=1746230400000&interval=1h&limit=100
{
"success": true,
"data": [
{
"coin": "#0",
"symbol": "#0",
"timestamp": "2026-05-02T20:27:21Z",
"mark_price": "0.6502",
"mid_price": "0.65038"
}
],
"meta": {
"request_id": "req_abc123",
"count": 1,
"next_cursor": "1704067200000_abc123",
"has_more": false
}
}
GET/v1/hyperliquid/hip4/summary/:symbol2 credits

Get a 24h aggregate (price, volume, OI) for a HIP-4 side.

Get a 24h aggregate (price, volume, OI) for a HIP-4 side. `mark_price` is an implied probability. Requires Build tier or higher.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
/v1/hyperliquid/hip4/summary/0
{
"success": true,
"data": {
"coin": "#0",
"symbol": "#0",
"outcome_id": 0,
"side": 0,
"mark_price": "0.6502",
"mid_price": "0.65038",
"open_interest": "568048",
"volume_24h": "1250000",
"timestamp": "2026-05-02T20:27:21Z"
},
"meta": {
"request_id": "req_abc123",
"count": 1
}
}
GET/v1/hyperliquid/hip4/freshness/:symbol1 credit

Get per-data-type lag breakdown for a HIP-4 side (orderbook, trades, OI).

Get per-data-type lag breakdown for a HIP-4 side (orderbook, trades, OI). Requires Build tier or higher.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
/v1/hyperliquid/hip4/freshness/0
{
"success": true,
"data": {
"symbol": "#0",
"exchange": "hyperliquid_hip4",
"latest_timestamp": "2026-01-01T12:00:00Z",
"lag_ms": 1200,
"status": "fresh"
},
"meta": {
"request_id": "req_abc123",
"count": 1
}
}

Hyperliquid HIP-4 - Order Lifecycle (Pro+)

GET/v1/hyperliquid/hip4/orders/:symbol/history5 credits

Get HIP-4 order lifecycle events with user attribution from Hyperliquid node data.

Get HIP-4 order lifecycle events with user attribution from Hyperliquid node data. Includes order placements, cancellations, and fills. Requires Pro tier or higher.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
startqueryrequiredStart timestamp in ms
endqueryrequiredEnd timestamp in ms
userqueryFilter by user wallet address (e.g., 0x...)
statusqueryFilter by order status (e.g., open, filled, cancelled)
order_typequeryFilter by order type (e.g., limit, market)
cursorqueryPagination cursor from previous response
limitqueryMax results (default: 100, max: 1000)
/v1/hyperliquid/hip4/orders/0/history?start=1746144000000&end=1746230400000&limit=100
{
"success": true,
"data": [
{
"symbol": "#0",
"timestamp": "2026-01-01T12:00:00Z",
"order_id": "0xabc",
"user_address": "0x1234...abcd",
"status": "filled",
"side": "B",
"price": "42150.50",
"size": "1.2"
}
],
"meta": {
"request_id": "req_abc123",
"count": 1,
"next_cursor": "1704067200000_abc123",
"has_more": false
}
}
GET/v1/hyperliquid/hip4/orders/:symbol/flow5 credits

Get time-bucketed HIP-4 order-flow aggregates showing buy/sell pressure over intervals.

Get time-bucketed HIP-4 order-flow aggregates showing buy/sell pressure over intervals. Requires Pro tier or higher.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
startqueryrequiredStart timestamp in ms
endqueryrequiredEnd timestamp in ms
intervalqueryAggregation interval (e.g., 1m, 5m, 15m, 1h, 1d)
limitqueryMax results (default: 100, max: 1000)
/v1/hyperliquid/hip4/orders/0/flow?start=1746144000000&end=1746230400000&interval=1h&limit=100
{
"success": true,
"data": [
{
"symbol": "#0",
"timestamp": "2026-01-01T12:00:00Z",
"interval": "5m",
"new_orders": 1250,
"cancels": 1180,
"fills": 340,
"net_size": "42.5"
}
],
"meta": {
"request_id": "req_abc123",
"count": 1,
"next_cursor": "1704067200000_abc123",
"has_more": false
}
}
GET/v1/hyperliquid/hip4/orders/:symbol/tpsl5 credits

Get HIP-4 take-profit and stop-loss orders for the symbol with user attribution.

Get HIP-4 take-profit and stop-loss orders for the symbol with user attribution. Requires Pro tier or higher.

symbolpathrequiredHIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). #-prefixed form also accepted.
startqueryrequiredStart timestamp in ms
endqueryrequiredEnd timestamp in ms
userqueryFilter by user wallet address (e.g., 0x...)
triggeredqueryFilter by triggered status (true/false)
cursorqueryPagination cursor from previous response
limitqueryMax results (default: 100, max: 1000)
/v1/hyperliquid/hip4/orders/0/tpsl?start=1746144000000&end=1746230400000&limit=100
{
"success": true,
"data": [
{
"symbol": "#0",
"timestamp": "2026-01-01T12:00:00Z",
"order_id": "0xabc",
"trigger_price": "42000.00",
"order_type": "stop_market",
"side": "A",
"size": "0.5"
}
],
"meta": {
"request_id": "req_abc123",
"count": 1,
"next_cursor": "1704067200000_abc123",
"has_more": false
}
}