/heatmap
The coin × cohort positioning matrix — the whole board in one call.
GET https://data.vike.io/v1/hl-cohorts/heatmapThe coin × cohort positioning matrix — the whole board in one call.
Truncated: heatmap holds 313 coins and the full response is 879,265 bytes — worth knowing
before you call the whole board in one request. One coin with the first 2 of its 12 segments is
shown; totals is complete. A coin carries only the cohorts that actually hold it, so the per-coin
segment count ranges from 2 to 12 across this response.
# the whole board by account-value tier: every coin, every size cohort
curl -s "https://data.vike.io/v1/hl-cohorts/heatmap?axis=size" \
-H "X-API-KEY: $VIKE_API_KEY"
# the same board by realized-PnL percentile
curl -s "https://data.vike.io/v1/hl-cohorts/heatmap?axis=pnl" \
-H "X-API-KEY: $VIKE_API_KEY"
# only positions opened in the last day: fresh positioning across the board
curl -s "https://data.vike.io/v1/hl-cohorts/heatmap?axis=size&openedWithin=24h" \
-H "X-API-KEY: $VIKE_API_KEY"
# the board by dollar-banded realized PnL
curl -s "https://data.vike.io/v1/hl-cohorts/heatmap?axis=pnl_abs" \
-H "X-API-KEY: $VIKE_API_KEY"
# the response is large: cut it client-side to one coin, one row per cohort
curl -s "https://data.vike.io/v1/hl-cohorts/heatmap?axis=pnl" \
-H "X-API-KEY: $VIKE_API_KEY" \
| jq '.heatmap[] | select(.symbol == "BTC") | .segments[] | {cohort, bias, share_of_symbol}'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",
"opened_within": "all",
"snapshot_ts": "2026-09-03T08:04:00Z",
"source": "position_snapshots_latest",
"totals": {
"total_value": 13836781540.0,
"total_long_value": 6925016569.0,
"total_short_value": 6911764971.0,
"bias": 0.0009577081042,
"count": 359587,
"n_symbols": 313,
"n_wallets": 123747,
"n_wallets_source": "heatmap_totals_cache"
},
"heatmap": [
{
"symbol": "BTC",
"total_value": 3026943358.0,
"total_long_value": 1518666445.0,
"total_short_value": 1508276913.0,
"count": 36436,
"count_long": 22334,
"count_short": 14102,
"n_wallets": 36348,
"bias": 0.003432351074,
"segments": [
{
"cohort": "4x whale",
"rank": 1,
"total_value": 704160990.8,
"total_long_value": 182556075.6,
"total_short_value": 521604915.2,
"count": 21,
"count_long": 6,
"count_short": 15,
"n_wallets": 20,
"bias": -0.4814933575,
"share_of_symbol": 0.23263104313286428
},
{
"cohort": "3x whale",
"rank": 2,
"total_value": 295869139.7,
"total_long_value": 203749222.9,
"total_short_value": 92119916.83,
"count": 26,
"count_long": 15,
"count_short": 11,
"n_wallets": 26,
"bias": 0.3772928335,
"share_of_symbol": 0.0977451854207464
}
]
}
]
}Deprecated keys ride along until 2026-11-19
The example shows the current names. Until 2026-11-19 the response also repeats three of them under their
pre-2026-10-19 names, with the same value, and on that date the old keys are removed: coin on every row of
heatmap (the symbol), n_coins in totals (the n_symbols) and share_of_coin on every row of segments
(the share_of_symbol). Read the current names. The rename is in the
changelog.
Per-wallet ladders only: Cohorts and axes.
/segments/{cohort}/history
One cohort's hourly long, short and bias summed over every symbol, from 2026-04-07; include=leverage adds the cohort's perp bias and exposure against its equity.
/symbols/{symbol}/metrics
Hourly open-interest / position-count / bias series for one coin, optionally sliced to a single cohort. The current-value endpoint.