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
| Param | In | Example or values | Meaning |
|---|---|---|---|
coin | query | BTC | Perp market: BTC, xyz:TSLA |
from | query | 1793303100000 | Start (ms, inclusive; aligned down to the minute) |
to | query | 1793304000000 | End (ms, exclusive; aligned up to the minute; at most a day after `from`) |
side | query | (empty), long, short | Only the orders that opened longs, or shorts |
limit | query | 10 | Orders |
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
| Field | Type | Meaning |
|---|---|---|
orders[] | object | Largest value opened first: {user, entity, oid, side, opened, usd, px, taker, fills, time, block, startPosition, …} |
orders[].user | string | Account that opened (a named wallet: its handle): 0x address, or a named wallet's handle |
orders[].side | long | short | long: a buy that opened (or grew) a long; short: a sell that opened a short |
orders[].opened | decimal | Size 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[].usd | decimal | Value opened: Σ opened × fill price, quote units (USD figure, 15 significant digits) |
orders[].taker | boolean | Every opening fill crossed the spread (the order was the aggressor); false: it rested, wholly or in part |
orders[].startPosition | decimal | The account's position before that fill (signed size) |
longOpen | decimal | null | Size of longs opened in the window, all orders; null when it may hold blocks missing from Hyperliquid's node data |
takerLongOpen | decimal | null | Of 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
- This page as Markdown
- The whole API reference
- What HyperCore serves
- The whole API in one Markdown file
- OpenAPI 3.1 document
Agent guide (agents.md)llms.txtOpenAPIMCP serverGet an API keyChangelog