API reference, Liquidations & positions
Open interest history
Open interest bars of a perp since May 2023, after every block since March 2025: longs and shorts opened, closed, liquidated.
- 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
Parameters
| Param | In | Example or values | Meaning |
|---|---|---|---|
coin | query | BTC | Perp market: BTC, xyz:TSLA (HIP-3: dex:COIN) |
tf | query | 1s, 15s, 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 8h, 12h, 1d, 3d, 1w, 1M | Bar unit |
from | query | (optional) | Start (ms, inclusive; aligned down to the unit). Without it: the `limit` bars ending at `to` |
to | query | (optional) | End (ms, exclusive; default now) |
limit | query | 48 | Bars |
Example
curl -H "Authorization: Bearer $FEMTOS_KEY" "https://api.femtos.xyz/v1/hypercore/oi?coin=BTC&tf=1h&limit=48"Key: Authorization: Bearer $FEMTOS_KEY. Get a free key, or with no browser through agent onboarding.
Response fields
| Field | Type | Meaning |
|---|---|---|
bars[] | object | Ascending; a unit without fill nor anchor is flat at the previous close; none before the market's first, nor over a gap of Hyperliquid's archive before 2025-03-22 10:49 UTC: {t, o, h, l, c, px, usd, longOpen, longClose, shortOpen, shortClose, takerLongOpen, …} |
bars[].c | decimal | After the last block of the bar |
bars[].usd | decimal | null | c × px, in the market's quote (USD figure, 15 significant digits) |
bars[].longOpen | decimal | null | Size of longs opened in the bar; null where not known (before 2025-03-22 10:49 UTC, or a bar that may hold blocks missing from Hyperliquid's node data) |
bars[].shortOpen | decimal | null | Size of shorts opened; null where not known (before 2025-03-22 10:49 UTC, or a bar that may hold blocks missing from Hyperliquid's node data) |
bars[].takerLongOpen | decimal | null | Of longOpen, opened by the aggressor (a taker buying to open); null where not known (before 2025-03-22 10:49 UTC, or a bar that may hold blocks missing from Hyperliquid's node data) |
bars[].liq | decimal | null | Size closed on liquidated accounts; null where not known (before 2025-03-22 10:49 UTC, or a bar that may hold blocks missing from Hyperliquid's node data) |
bars[].longAccounts | int | null | Accounts long at the bar end; null before 2025-09-28 |
bars[].funding | decimal | null | Hourly funding rate Hyperliquid settled for the hours of the bar, as a fraction (0.0000125 = 0.00125 % an hour; positive: longs pay shorts); a bar under an hour has its hour's rate, a longer one the mean of its hours. null while the hour is not settled yet (the live rate is hc.ctx `funding`), and before 2025-09-27 09:00 UTC |
szDecimals | int | Size decimals of the market: every size is a multiple of 10^-szDecimals |
asOf | int | null | End of the last minute computed (Unix ms; 1s and 15s: just after the last block read); null when the market has none |
billing | heavy | heavy over 30 days |
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 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. - Who opened positions GET /v1/hypercore/oi/opens HyperCore
The largest orders that opened longs or shorts on a perp in a window, with the account and whether it crossed the spread.
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