Skip to main content
GET
Get market history

Path Parameters

outcome_id
string
required

HIP-4 outcome ID of the market, as a decimal string.

Maximum string length: 10
Pattern: ^(0|[1-9][0-9]{0,8}|[1-3][0-9]{9}|4[01][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[0-1][0-9]{2}|42949672[0-8][0-9]|429496729[0-5])$

Query Parameters

side
enum<string>
required

Outcome side whose price history is returned.

Available options:
YES,
NO
series
enum<string>
default:AUTO

Use REFERENCE_PRICE_OHLC for a line chart and TRADE_OHLCV for candles; AUTO uses trades when there are any. AUTO selects retained closed trade buckets in the window, otherwise reference history. REFERENCE_PRICE_OHLC prefers L2, then BBO, then allMids among sources with a closed bucket in the window; with none it carries the most recent earlier source inside the 90-day online window, breaking ties in that order. With no evidence the empty reference response is labelled L2/BOOK_MID. Explicit series avoids AUTO switching when trades arrive.

Available options:
AUTO,
REFERENCE_PRICE_OHLC,
TRADE_OHLCV
from
string<date-time>

Inclusive RFC3339 window start. Omit from and to together for the exact rolling 24 hours ending at server time; supplying only one is rejected. The response repeats the resolved bounds, which later pages must reuse.

to
string<date-time>

Exclusive RFC3339 window end, at most 24 hours after from. Omit from and to together for the server default.

cursor
string

Omit for the first page; then send the previous response's next_cursor unchanged. Opaque list cursor. Send a previous response's next_cursor back unchanged; never build or parse one.

Required string length: 1 - 2048
limit
integer
default:50

The shared page limit with one exception: the maximum is 1,440, a full 24-hour window of one-minute bars, so a chart loads in one request.

Required range: 1 <= x <= 1440
include_gaps
boolean
default:false

Include at most 1440 retained diagnostic gap records; gaps is empty unless this is true.

Response

Exactly one labelled, sparse series: reference prices or trades. Only minutes that closed before closed_before are returned; take the current minute from the live market stream. Later pages reuse the window this first response returns.

outcome_id
string
required

Hyperliquid outcome ID of the market.

Maximum string length: 10
Pattern: ^(0|[1-9][0-9]{0,8}|[1-3][0-9]{9}|4[01][0-9]{8}|42[0-8][0-9]{7}|429[0-3][0-9]{6}|4294[0-8][0-9]{5}|42949[0-5][0-9]{4}|429496[0-6][0-9]{3}|4294967[0-1][0-9]{2}|42949672[0-8][0-9]|429496729[0-5])$
side
enum<string>
required

Market side every bar describes, YES or NO.

Available options:
YES,
NO
series_type
enum<string>
required

TRADE_OHLCV: bars are one-minute OHLCV of executed trade prices, with base-size volume. REFERENCE_PRICE_OHLC: bars are one-minute OHLC of indicative mid prices, falling back to the last trade, without volume. Minutes without observations have no bar and are never filled in.

Available options:
TRADE_OHLCV,
REFERENCE_PRICE_OHLC
source
enum<string>
required

Hyperliquid feed every bar in the response was built from. Always HYPERLIQUID_TRADES for trade history.

Available options:
HYPERLIQUID_FAST_ASSET_CTXS,
HYPERLIQUID_ALL_MIDS,
HYPERLIQUID_L2_BOOK,
HYPERLIQUID_BBO,
HYPERLIQUID_TRADES
quality
enum<string>
required

Price quality every bar in the response carries. Always TRADE for trade history.

Available options:
BOOK_MID,
MARK_PRICE,
ALL_MIDS_FALLBACK,
TRADE
scale
string<uint256-decimal> | null
required

Divisor for open, high, low and close of every bar and the anchor; null when there are neither. Currently 1000000000000000000 (18 decimals); a scale change starts a new page.

Maximum string length: 78
Pattern: ^[1-9][0-9]*$
volume_scale
string<uint256-decimal> | null
required

Divisor for volume of every bar and the anchor; null for reference-price history or when there are no bars. Divisor for volume; null only when there are no bars. Always null; reference-price bars carry no volume.

Maximum string length: 78
Pattern: ^[1-9][0-9]*$
from
string<date-time>
required

Authoritative window start. It repeats the request, or the rolling 24-hour default when from and to are both omitted. Reuse these bounds for later pages.

Maximum string length: 30
Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,9})?Z$
to
string<date-time>
required

Authoritative exclusive window end. It repeats the request, or the request time when from and to are both omitted. Reuse these bounds for later pages.

Maximum string length: 30
Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,9})?Z$
bucket_time
enum<string>
required

minute is the inclusive UTC bucket start on this clock; bucket end is exclusive one minute later. Only full closed buckets contained in [from,to) appear in bars.

Available options:
TOTALIS_RECEIVED_AT,
HYPERLIQUID_SOURCE_TIME
closed_before
string<date-time>
required

Exclusive bucket boundary, the earlier of to or server time rounded down to a minute. This is not a persistence or coverage watermark. Closed buckets can still be repaired.

Maximum string length: 30
Pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,9})?Z$
anchor
object | null
required

Latest retained earlier full bucket within the 90-day online window for the selected source and side, last received before from. Its close is an observed price, not proof that the value held through from. Null when there is none or its scale differs from the bars.

bars
object[]
required

Closed one-minute bars in the window, ascending by minute.

Maximum array length: 1440
gaps
object[]
required

Recorded data gaps overlapping the window; empty unless gaps were requested.

Maximum array length: 1440
next_cursor
string | null
required

Pass as cursor with the same from and to to read the next page; null when there are no more bars.

Required string length: 1 - 2048
has_more
boolean
required

True when more bars follow in the window.