Skip to main content

Hyperliquid Mark Prices & Price Updates API

This page covers the MarkPrices and PriceUpdates cubes: the current mark price of every market, and the underlying oracle / reference price feed.

API Key Required

To query or stream data outside the Bitquery IDE, you need an API access token.

Follow the steps here: How to generate Bitquery API token ➤

Mark prices

MarkPrices is a state cube: one row per market with the latest mark price and the block it was last updated at. It includes HIP-3 markets, so tokenized stocks (mkts:AAPL, mkts:GOOGL) and indices are covered too.

Run it in the IDE: Hyperliquid Mark Prices ➤

query {
Hyperliquid {
MarkPrices(limit: {count: 100}, orderBy: {descending: LastTime}) {
LastBlock
LastTime
Mark
Market { Symbol Kind IsPerp Protocol CoinRaw }
}
}
}

Get one market with where: {Market: {Symbol: {is: "BTC"}}} (or CoinRaw for HIP-3 markets, since symbols can repeat across deployer namespaces).

Price updates

PriceUpdates is the event feed the mark prices are built from. Kind distinguishes the source — values observed include spotInput, extPerp and extPerpInput — and DailyPx carries the daily reference price when present. UpdateClass is Normal in regular operation.

Run it in the IDE: Hyperliquid Price Updates Stream ➤

subscription {
Hyperliquid {
PriceUpdates {
Block { Time }
PriceUpdate {
Kind Price DailyPx UpdateClass UpdateTime
Market { Symbol Kind }
}
}
}
}

The same shape works as a query with limit, orderBy: {descending: Block_Time} and a where filter for historical lookups.

For tradeable OHLCV rather than oracle prices, use Candles.

Build with Bitquery

Ready to run this in production?

Get an API key and run these queries in minutes, or talk to us about plans and enterprise delivery.