vike
API EndpointsHyperliquid

/heatmap

The coin × cohort positioning matrix — the whole board in one call.

GET https://data.vike.io/v1/hyperliquid/heatmap

The 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.

cURL
# the whole board by account-value tier: every coin, every size cohort
curl -s "https://data.vike.io/v1/hyperliquid/heatmap?axis=size" \
  -H "X-API-KEY: $VIKE_API_KEY"

# the same board by realized-PnL percentile
curl -s "https://data.vike.io/v1/hyperliquid/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/hyperliquid/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/hyperliquid/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/hyperliquid/heatmap?axis=pnl" \
  -H "X-API-KEY: $VIKE_API_KEY" \
  | jq '.heatmap[] | select(.coin == "BTC") | .segments[] | {cohort, bias, share_of_coin}'
axisqueryoptional
size | pnl | pnl_abs. Default size. Per-wallet ladders only — trade_size is per-position and is rejected here; see the groupable field on /segments.
openedWithinqueryoptional
24h | 7d | 30d | all. Default all
Example response
{
  "axis": "size",
  "opened_within": "all",
  "snapshot_ts": "2026-09-03T08:04:00Z",
  "source": "latest position snapshot",
  "totals": {
    "total_value": 13836781540.0,
    "total_long_value": 6925016569.0,
    "total_short_value": 6911764971.0,
    "bias": 0.0009577081042,
    "count": 359587,
    "n_coins": 313,
    "n_wallets": 123747,
    "n_wallets_source": "precomputed totals"
  },
  "heatmap": [
    {
      "coin": "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_coin": 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_coin": 0.0977451854207464
        }
      ]
    }
  ]
}

Per-wallet ladders only: Cohorts and axes.

cURL
# the whole board by account-value tier: every coin, every size cohortcurl -s "https://data.vike.io/v1/hyperliquid/heatmap?axis=size" \  -H "X-API-KEY: $VIKE_API_KEY"# the same board by realized-PnL percentilecurl -s "https://data.vike.io/v1/hyperliquid/heatmap?axis=pnl" \  -H "X-API-KEY: $VIKE_API_KEY"# only positions opened in the last day: fresh positioning across the boardcurl -s "https://data.vike.io/v1/hyperliquid/heatmap?axis=size&openedWithin=24h" \  -H "X-API-KEY: $VIKE_API_KEY"# the board by dollar-banded realized PnLcurl -s "https://data.vike.io/v1/hyperliquid/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 cohortcurl -s "https://data.vike.io/v1/hyperliquid/heatmap?axis=pnl" \  -H "X-API-KEY: $VIKE_API_KEY" \  | jq '.heatmap[] | select(.coin == "BTC") | .segments[] | {cohort, bias, share_of_coin}'
Example response
{  "axis": "size",  "opened_within": "all",  "snapshot_ts": "2026-09-03T08:04:00Z",  "source": "latest position snapshot",  "totals": {    "total_value": 13836781540.0,    "total_long_value": 6925016569.0,    "total_short_value": 6911764971.0,    "bias": 0.0009577081042,    "count": 359587,    "n_coins": 313,    "n_wallets": 123747,    "n_wallets_source": "precomputed totals"  },  "heatmap": [    {      "coin": "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_coin": 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_coin": 0.0977451854207464        }      ]    }  ]}