Skip to main content
POST
Asset contexts (metaAndAssetCtxs) with history
This endpoint serves Hyperliquid’s metaAndAssetCtxs from Allium’s realtime store and adds history. Each snapshot holds every coin in the dex with its mark price, oracle price, mid price, funding, open interest, premium, previous-day price and 24-hour notional volume.
Drop-in with historyThe body Hyperliquid accepts, {"type": "metaAndAssetCtxs", "dex": ""}, returns the latest complete snapshot, typically two to three minutes behind the exchange. Add startTime and endTime to get one snapshot per interval across the window. The Snowflake table hyperliquid.raw.perpetual_market_asset_contexts carries the same data 30 to 60 minutes later.The universe half of Hyperliquid’s response is not included, so each asset context carries coin and timestamp, and maxLeverage is folded in. impactPxs is null for now.
LimitsstartTime and endTime must be given together and may span at most 30 days. Without a coin filter a request may cover at most 60 snapshots, about one hour at 1m; with coin it may cover 2000. Requests over the limit are rejected with 400, never truncated.History is available from 14 January 2026. Earlier windows return an empty array.

Response shape

An array of snapshots ascending by timestamp. Each snapshot is an array of asset contexts ascending by coin, one per coin in the dex, or a single element when coin is given.

Buckets and paging

Both startTime and endTime are rounded down to interval boundaries, so every returned snapshot is a complete bucket holding each coin’s last sample in it. The bucket in progress is never returned; for the freshest value use 1m or omit the times. A window that contains no complete bucket after rounding is rejected with 400. To page a long range, pass the previous request’s endTime as the next request’s startTime; consecutive pages tile exactly, with identical values to a single request. HIP-3 builder markets can be addressed with "dex": "xyz" for the whole dex, or filtered with "coin": "xyz:XYZ100" or "coin": "XYZ100", "dex": "xyz". The response always uses the prefixed form, matching Hyperliquid.

Authorizations

X-API-KEY
string
header
required

Body

application/json
type
enum<string>
required

Request type. Same as Hyperliquid's.

Available options:
metaAndAssetCtxs
dex
string

Builder DEX name for HIP-3 markets, e.g. xyz. Omit or pass an empty string for core perps.

coin
string

Optional filter to one market. Hyperliquid's prefixed form for HIP-3 markets, e.g. xyz:XYZ100, or the bare coin with dex set. Omit for every coin in the dex.

startTime
integer<int64>

Window start, inclusive (Unix ms). Rounded down to the bucket boundary of the chosen interval. Omit both times for the latest snapshot.

endTime
integer<int64>

Window end, exclusive (Unix ms). Rounded down to the bucket boundary, so only complete buckets are returned. Span at most 30 days; at most 60 snapshots without a coin filter, 2000 with one; the rounded window must contain at least one bucket.

interval
enum<string>
default:1m

Snapshot spacing. Each coin's last sample in the bucket is returned. Ignored when times are omitted.

Available options:
1m,
5m,
15m,
1h,
4h,
1d

Response

Array of snapshots ascending by timestamp; each snapshot is an array of asset contexts ascending by coin. Empty array when there is no data.

timestamp
integer<int64>

Snapshot time (Unix ms, UTC).

coin
string

Coin in Hyperliquid's form, e.g. BTC, or xyz:XYZ100 for HIP-3 markets.

dayNtlVlm
string | null

Rolling 24-hour notional volume.

funding
string | null

Current funding rate.

impactPxs
string[] | null

[bid, ask] impact prices. Currently always null; not yet persisted.

markPx
string

Mark price.

midPx
string | null

Mid price. Null for bookless markets.

openInterest
string | null

Open interest in base units.

oraclePx
string | null

Oracle price.

premium
string | null

Premium of mark over oracle.

prevDayPx
string | null

Price 24 hours earlier.

maxLeverage
integer | null

Maximum leverage for the market (from Hyperliquid's universe).