vike

Position snapshots

Open Hyperliquid positions captured every 5 minutes — the latest snapshot, or history by window.

Open Hyperliquid positions captured every 5 minutes — the latest snapshot, or history by window.

Coverage and cadence

Cadence. Snapshot every 5 minutes; archive one file per UTC day

API: latest open positions (freshness-gated to the newest 15 minutes of snapshots) or historical 5-minute snapshots: pass start (and optionally end), and bound the read by symbol or wallet. Every row says which pnl-cohort label it carries (pnl_cohort_basis). Keyset pagination: nextCursor back as cursor, limit up to 5,000. Archive: positions.parquet per UTC day from 2026-05-08 (CC BY 4.0), every open position at every snapshot of the day, plus one file of the current open positions replaced every 5 minutes (date=latest). Each file comes as a temporary link from /archive/url; /archive/datasets lists the days and the file's own columns.

Fields

FieldTypeDescription
walletstringAccount address, 0x-prefixed
symbolstringSymbol; HIP-3 DEX symbols carry their DEX prefix, e.g. xyz:SILVER
directionstringlong | short
size_tokennumberPosition size in coin units
size_usdnumberNotional at mark, USD
entry_pricenumberAverage entry price
mark_pricenumberMark price at the snapshot
liquidation_pricenumberLiquidation price as reported; 0.0 when none is reported
unrealized_pnlnumberMark-to-market PnL, USD
leveragenumberPosition leverage as reported
leverage_typestringcross | isolated
margin_usednumberMargin backing the position, USD
size_cohortstringAccount-value rung, e.g. whale (size ladder)
pnl_cohortstringRealized-PnL percentile rung, or unknown under 10 closed trades
pnl_abs_cohortstringRealized-PnL dollar band, e.g. -$10k-$0
liq_progressnumberHow far price has moved toward liquidation (0 = none); > 0.5 counts as at risk
dex_namestringHL, or the HIP-3 DEX the position is on
snapshot_tsstringSnapshot instant, ISO-8601 UTC
pnl_cohort_basisstringpoint_in_time | current — which label the row carries
pnl_cohort_as_ofstring|nullHour the point-in-time label was computed at; null for current
opened_atstring|nullWhen the position was first seen open, ISO-8601 UTC; null when unknown

How to get it

Sample call

The call the dataset explorer builds:

cURL
curl -s "https://data.vike.io/v1/hyperliquid/positions?symbol=BTC&limit=10" \
  -H "X-API-KEY: $VIKE_API_KEY"

Analytics built on it

  • Cohort positioning — What one cohort holds across every symbol: long and short notional, bias, wallets in profit and leverage over native perp equity at the latest snapshot, or long, short and bias hour by hour from 2026-04-07 (axis=size or pnl), with the leverage ratios on request.
  • Cohort heatmap — Every symbol against every cohort of one ladder (size, pnl or pnl_abs) at the latest 5-minute snapshot: the whole positioning board in one call.
  • Symbol cohort series — One symbol's hourly open interest, position count and bias (all cohorts or one), its current split by position-size bucket, and the Smart Money and Whale-vs-Shrimp indices as ratios.
  • Large fills — One symbol's fills of $50,000 or more from the last 24 hours, newest first, with the wallet's size and PnL cohort; the feed keeps the newest 200 per symbol, so on a busy symbol it reaches back minutes.

On this page