API reference, Liquidations & positions

Who opened positions

The largest orders that opened longs or shorts on a perp in a window, with the account and whether it crossed the spread.

  • Elysium: not served
  • HyperCore
  • HyperEVM: not served
  • Not on Elysium or HyperEVM: the EVM layers trade on AMM pools, with no order book: pool detail and liquidity events cover a pool

GET https://api.femtos.xyz/v1/hypercore/oi/opens

Parameters

ParamInExample or valuesMeaning
coinqueryBTCPerp market: BTC, xyz:TSLA
fromquery1793303100000Start (ms, inclusive; aligned down to the minute)
toquery1793304000000End (ms, exclusive; aligned up to the minute; at most a day after `from`)
sidequery(empty), long, shortOnly the orders that opened longs, or shorts
limitquery10Orders

Example

curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/hypercore/oi/opens?coin=BTC&from=1793303100000&to=1793304000000&limit=10"

Key: Authorization: Bearer $FEMTOS_KEY. Get a free key, or with no browser through agent onboarding.

Response fields

FieldTypeMeaning
orders[]objectLargest value opened first: {user, entity, oid, side, opened, usd, px, taker, fills, time, block, startPosition, …}
orders[].userstringAccount that opened (a named wallet: its handle): 0x address, or a named wallet's handle
orders[].sidelong | shortlong: a buy that opened (or grew) a long; short: a sell that opened a short
orders[].openeddecimalSize the order opened in the window (the part of its fills past a flat position; a fill closing a short first opens only the rest)
orders[].usddecimalValue opened: Σ opened × fill price, quote units (USD figure, 15 significant digits)
orders[].takerbooleanEvery opening fill crossed the spread (the order was the aggressor); false: it rested, wholly or in part
orders[].startPositiondecimalThe account's position before that fill (signed size)
longOpendecimal | nullSize of longs opened in the window, all orders; null when it may hold blocks missing from Hyperliquid's node data
takerLongOpendecimal | nullOf longOpen, opened by aggressors; null as longOpen

Related: Liquidations & positions

  • Liquidations GET /v1/liquidations HyperCore
    Perp liquidations, newest first, one row per account, coin and block.
  • Liquidations stream WS hc.liquidations HyperCore
    Each liquidation fill, the block it happens. One frame per block with all its matching events.
  • Liquidation stats GET /v1/liquidations/stats HyperCore
    Totals, per coin, per time bucket and the largest, over a window.
  • Liquidation stats stream WS hc.liquidations.stats HyperCore
    The GET /v1/liquidations/stats answer (totals, per coin, per bucket, the largest), pushed on subscribe, then when a liquidation comes in (whole, or as a JSON Patch).
  • Positions GET /v1/positions HyperCore
    Open positions of one perp with leverage and liquidation price.
  • Position changes WS hc.positions HyperCore
    Each perp position change, one per block, account and coin. One frame per block with all its matching events.
  • Open positions stream WS hc.positions.open HyperCore
    The GET /v1/positions answer of one perp (size, entry, PnL, leverage, liquidation price), pushed on subscribe, then on each roll of the live positions (every 5 s) when it changes.
  • Position change history GET /v1/positions/changes HyperCore
    Past perp position changes of one coin over a size, one row per account and block.
  • Open interest GET /v1/positions/overview HyperCore
    Open interest, accounts and unrealized PnL per perp.
  • Open interest stream WS hc.positions.overview HyperCore
    The GET /v1/positions/overview answer (long / short open interest, accounts, unrealized PnL per perp), pushed on subscribe, then on each roll of the live positions (every 5 s) when it changes (whole, or as a JSON Patch).
  • Liquidation map GET /v1/positions/liqmap HyperCore
    Notional that would be liquidated at each price around the mark.
  • Liquidation levels stream WS hc.positions.liqmap HyperCore
    The GET /v1/positions/liqmap answer of one perp (notional liquidated per price bucket), pushed on subscribe, then on each roll of the live positions (every 5 s) when it changes.
  • Open interest history GET /v1/hypercore/oi HyperCore
    Open interest bars of a perp since May 2023, after every block since March 2025: longs and shorts opened, closed, liquidated.
  • Open interest per block WS hc.oi HyperCore
    The open interest of a perp after every block with a fill: longs and shorts opened, closed, liquidated. One frame per block with all its matching events.
  • Open interest by market GET /v1/hypercore/oi/markets HyperCore
    Every perp's open interest now, its 1 h / 24 h / 7 d change, totals per dex.
  • Open interest by position size GET /v1/hypercore/oi/cohorts HyperCore
    Long and short open interest of a perp by position size, every hour since September 2025.

More

Agent guide (agents.md)llms.txtOpenAPIMCP serverGet an API keyChangelog