Recipe 10 of 33
Long/short bias history of a cohort over time
One call returns a cohort's long and short notional and bias for every hour, summed over all coins, newest first, back to 2026-04-07.
GET /v1/hl-cohorts/segments/{cohort}/history answers it in one call: one row per hour for one cohort, summed over
every coin it holds, with long_usd, short_usd, bias and position_count, newest first. axis is required
and is size or pnl; the default window is the newest 168 hours, and hours reaches back up to 8760. The full
parameter list is on Cohort history.
Quick answer
A cohort label with a space goes in the path as its slug, such as 3x_smart.
# the last week of whale positioning across the whole book, newest hour first
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hl-cohorts/segments/whale/history?axis=size"Example response
Captured from the live API on 2026-10-24 at 17:12 UTC with limit=3.
long_usd and short_usd are USD, and bias is (long - short) / (long + short), a ratio from -1
to +1. At 16:00 UTC the whale cohort ($1m to $2.5m accounts) held $1.16B long and $859M short
across all coins, a bias of +0.15. has_more: true means older hours exist beyond limit.
{
"axis": "size",
"cohort": "whale",
"label_basis": "point_in_time",
"data_from": "2026-04-07T00:00:00+00:00",
"series": [
{
"ts": "2026-10-24T16:00:00+00:00",
"long_usd": 1163984704.0,
"short_usd": 858956938.1,
"bias": 0.150784,
"position_count": 3651
},
{
"ts": "2026-10-24T15:00:00+00:00",
"long_usd": 1249898790.0,
"short_usd": 858615733.3,
"bias": 0.185573,
"position_count": 3656
},
{
"ts": "2026-10-24T14:00:00+00:00",
"long_usd": 1120856833.0,
"short_usd": 846694223.2,
"bias": 0.139342,
"position_count": 3649
}
],
"has_more": true
}Variations
Since April, the whole history. hours=8760 with limit=5000 returns everything from data_from (2026-04-07) in one page. For
3x smart that was 4817 hourly rows, with has_more: false.
# every hour of the top 1% by realized PnL since 2026-04-07
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hl-cohorts/segments/3x_smart/history?axis=pnl&hours=8760&limit=5000" \
| jq '{has_more, rows: (.series | length), oldest: .series[-1], newest: .series[0]}'A pinned month. start and end are ISO-8601 UTC, and end is inclusive.
# 4x whale positioning hour by hour in September
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hl-cohorts/segments/4x_whale/history?axis=size&start=2026-09-01T00:00:00Z&end=2026-09-30T23:00:00Z"Page back. When has_more is true, call again with end set to the oldest ts you have minus 1 second.
# the page before the previous one: END is its oldest ts minus 1 second
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hl-cohorts/segments/whale/history?axis=size&limit=24&end=$END"Before you rely on it
Positions, not wallets, and daily pnl labels before August
position_count counts open positions (one per wallet and coin), not wallets. On axis=pnl each
hour carries the label the wallet had then, but before 2026-08-06 that label is daily, so a series
across that date changes resolution; label_computed says so. Nothing before 2026-04-07 is served,
and the newest row is the last settled hour, one to two hours back. That row can still change after it
first appears: on 2026-10-24 the whale cohort's 16:00 row read $1.164B long at 17:15 UTC and $1.143B at 17:19 UTC.
Ask your agent
Connected to the Vike MCP server (https://vike.io/mcp) in Claude, ChatGPT or Cursor, ask it in plain words.
The hl_segments tool answers (view history), at 1 credit a call.
Show the hourly long/short bias of the Hyperliquid whale cohort over the last week