API EndpointsHyperliquid
/segments/{cohort}/summary
Aggregate positioning for one cohort at the latest snapshot.
GET https://data.vike.io/v1/hyperliquid/segments/{cohort}/summaryAggregate positioning for one cohort at the latest snapshot.
# aggregate positioning of the smallest account tier
curl -s "https://data.vike.io/v1/hyperliquid/segments/shrimp/summary?axis=size" \
-H "X-API-KEY: $VIKE_API_KEY"
# smart-money positioning: a pnl label needs axis=pnl, or the size ladder is assumed and the label is refused
curl -s "https://data.vike.io/v1/hyperliquid/segments/3x_smart/summary?axis=pnl" \
-H "X-API-KEY: $VIKE_API_KEY"
# everyone banded at $1m+ of cumulative realized PnL, in dollars
curl -s "https://data.vike.io/v1/hyperliquid/segments/1m_plus/summary?axis=pnl_abs" \
-H "X-API-KEY: $VIKE_API_KEY"
# what the largest accounts opened in the last day
curl -s "https://data.vike.io/v1/hyperliquid/segments/4x_whale/summary?axis=size&openedWithin=24h" \
-H "X-API-KEY: $VIKE_API_KEY"
# wallets the realized-PnL ladder cannot place (under 10 closed trades) are a bucket of their own
curl -s "https://data.vike.io/v1/hyperliquid/segments/unknown/summary?axis=pnl" \
-H "X-API-KEY: $VIKE_API_KEY"axisqueryoptionalsize | pnl | pnl_abs. Default size. Per-wallet ladders only — trade_size is per-position and is rejected here; see the groupable field on /segments.openedWithinqueryoptional24h | 7d | 30d | all. Default all{
"axis": "size",
"cohort": "shrimp",
"opened_within": "all",
"snapshot_ts": "2026-09-03T07:59:00Z",
"total_long_usd": 65653615.07,
"total_short_usd": 36290036.09,
"total_value": 101943651.2,
"bias": 0.2880373485,
"n_positions": 177573,
"n_wallets": 90696,
"n_wallets_in_profit": 47253,
"pct_wallets_in_profit": 0.5210042339,
"total_margin_used": 24105649.81,
"total_equity": 9911731.106,
"n_wallets_with_equity": 68060,
"exposure_ratio": 4.229035597,
"total_unrealized_pnl": -994085.9799,
"by_side": {
"long": {
"value_usd": 65653615.07,
"share": 0.6440186743,
"n_positions": 125103,
"n_wallets": 68812,
"margin_used": 14244413.93,
"unrealized_pnl": -370747.1081
},
"short": {
"value_usd": 36290036.09,
"share": 0.3559813257,
"n_positions": 52470,
"n_wallets": 29885,
"margin_used": 9861235.882,
"unrealized_pnl": -623338.8718
}
}
}axis defaults to size
axis defaults to size, so a valid pnl label sent without its axis reads back as "not on the
size ladder" — which describes the default, not your mistake. The 400 names the label's real home.