Skip to content
Alchemy Logo

Markets, assets, and DEXes

Beta

HyperCore APIs are in beta. Message fields, limits, and behavior may change, including breaking changes. To request access, contact [email protected].

Streams use Hyperliquid's own market names, exactly as Hyperliquid's API returns them. The format tells you the market type:

FormMarket typeExamples
Readable namePerpetualBTC, ETH, HYPE
dex:NAMEHIP-3 perpetual on a builder-deployed DEXxyz:AAPL, io:SNDK
@indexSpot@107, @142
#idOutcome market (HIP-4)#102220

A few spot markets use a readable pair name such as PURR/USDC. Look up names and @index mappings with Hyperliquid's meta, perpDexs, and spotMeta info requests.

Rules to rely on:

  • Names are case-sensitive. BTC is a market; btc is not.
  • Filters match exactly. "coins": ["BTC"] matches the BTC perpetual only, not xyz:BTC or spot BTC.
  • Unknown names aren't rejected. A subscription to a name that doesn't exist (yet) is accepted and returns empty data until that market appears. Check spelling if a market stays empty.
  • Omitting coins means every market of every type, including new markets as they're listed.

New market types and naming forms may appear as Hyperliquid evolves. Treat coin names as opaque strings rather than parsing them.

l2Book and l2BookDiff can group price levels:

ParameterAccepted valuesEffect
nSigFigs2, 3, 4, 5Group prices to this many significant figures. Omit for exact prices.
mantissa1, 2, 5Step size within the last significant figure. Only with nSigFigs: 5; default 1.
nLevels1, 10, 20 (default), 50Levels per side.

Grouping rounds bids down and asks up. A diff-maintained book must use the same parameters as the snapshot it started from.

A price level reports px (price), sz (total resting size), and n (number of orders). Aggregated streams don't expose order IDs or addresses; use l4BookUpdates for order-level detail.

Was this page helpful?