vike

Recipe 1 of 33

Are Hyperliquid whales long or short BTC right now?

Read BTC's size-cohort matrix for the newest settled hour; the four whale rungs (accounts of $1m and more) each carry a bias from -1 (all short) to +1 (all long).

GET /v1/hl-cohorts/symbols/{symbol}/cohort-metrics answers it in one call. With axis=size and hours=1 it returns BTC's newest settled hour, one row per account-value cohort, each with its long and total notional in USD and a bias from -1 (all short) to +1 (all long). The whales are the top four rungs: 4x whale, 3x whale, 2x whale and whale. The full parameter list is on Coin cohort metrics.

Quick answer

Put the ticker in the path; axis=size is the account-value ladder.

cURL
# BTC positioning by account-value cohort, newest settled hour
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hl-cohorts/symbols/BTC/cohort-metrics?axis=size&hours=1"

Example response

Captured from the live API on 2026-10-24 at 17:11 UTC, trimmed to the 4 whale rows of 12. bias is (long - short) / (long + short), a ratio from -1 to +1, and short notional is total_position_value minus total_position_value_long. At 16:00 UTC the 4x whale accounts ($10m and up) held $1.16B of BTC, only $247M of it long (bias -0.58), while the three smaller whale rungs leaned long. Summed, the four rungs were about 40% long.

Example response
{
  "axis": "size",
  "label_basis": "point_in_time",
  "metrics": [
    {
      "ts": "2026-10-24T16:00:00+00:00",
      "cohort": "4x whale",
      "position_count": 22,
      "position_count_long": 7,
      "total_position_value": 1163976506.0,
      "total_position_value_long": 246682718.2,
      "total_unrealized_pnl": -7969237.26,
      "total_position_size": 14570.28685,
      "total_position_size_long": 3087.89563,
      "bias": -0.576137977,
      "label_basis": "point_in_time",
      "grading": null
    },
    {
      "ts": "2026-10-24T16:00:00+00:00",
      "cohort": "3x whale",
      "position_count": 26,
      "position_count_long": 16,
      "total_position_value": 303716381.8,
      "total_position_value_long": 211612226.9,
      "total_unrealized_pnl": 13373939.21,
      "total_position_size": 3801.82485,
      "total_position_size_long": 2648.8944,
      "bias": 0.3934857625,
      "label_basis": "point_in_time",
      "grading": null
    },
    {
      "ts": "2026-10-24T16:00:00+00:00",
      "cohort": "2x whale",
      "position_count": 43,
      "position_count_long": 21,
      "total_position_value": 225036933.7,
      "total_position_value_long": 134083741.2,
      "total_unrealized_pnl": 9217583.194,
      "total_position_size": 2816.9406,
      "total_position_size_long": 1678.41753,
      "bias": 0.1916598667,
      "label_basis": "point_in_time",
      "grading": null
    },
    {
      "ts": "2026-10-24T16:00:00+00:00",
      "cohort": "whale",
      "position_count": 104,
      "position_count_long": 58,
      "total_position_value": 460673104.4,
      "total_position_value_long": 274952948.7,
      "total_unrealized_pnl": -16449223.58,
      "total_position_size": 5766.61979,
      "total_position_size_long": 3441.80325,
      "bias": 0.1937008958,
      "label_basis": "point_in_time",
      "grading": null
    }
  ],
  "hours": 1,
  "nextCursor": "eyJtIjoiY29ob3J0X21ldHJpY3MiLCJ0IjoiMjAyNi0xMC0yNCAxNjowMDowMCJ9",
  "grading": null,
  "freshness": {
    "newest_ts": "2026-10-24T16:00:00+00:00",
    "behind_hours": 1,
    "settled_lag_ceiling_hours": 3,
    "stale": false
  }
}

Variations

One number for all whales. latest.whale_bias is the same (long - short) / (long + short) over all four whale rungs, at the newest 5-minute snapshot instead of the last settled hour.

cURL — whale bias now
# whale bias over every account of $1m and more, at the newest 5-minute snapshot
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hl-cohorts/symbols/BTC/indices?hours=1" \
  | jq '.latest'

The last day, hour by hour. hours=24 returns 24 hourly buckets of all 12 cohorts, newest first.

cURL — 24 hours
# how whale positioning on BTC moved over the last day
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hl-cohorts/symbols/BTC/cohort-metrics?axis=size&hours=24" \
  | jq '[.metrics[] | select(.cohort | test("whale")) | {ts, cohort, bias}]'

Another coin. Any Hyperliquid ticker works, including a builder-DEX market such as xyz:TSLA.

cURL — ETH
# the same matrix for ETH
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hl-cohorts/symbols/ETH/cohort-metrics?axis=size&hours=1"

Before you rely on it

The whale label is one rung, and the newest hour is an hour old

The label whale is a single rung, accounts of $1m to $2.5m; "the whales" is the four rungs from whale up. bias is weighted by notional, so a few very large accounts decide a rung: here 22 positions held $1.16B. This endpoint returns settled hours only, so its newest bucket is one to two hours old; read freshness.stale before you act, or use latest on /indices for the newest 5-minute snapshot.

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_cohort_metrics tool answers, at 1 credit a call.

Ask your agent
Are Hyperliquid whales long or short BTC right now?
Example response
{  "axis": "size",  "label_basis": "point_in_time",  "metrics": [    {      "ts": "2026-10-24T16:00:00+00:00",      "cohort": "4x whale",      "position_count": 22,      "position_count_long": 7,      "total_position_value": 1163976506.0,      "total_position_value_long": 246682718.2,      "total_unrealized_pnl": -7969237.26,      "total_position_size": 14570.28685,      "total_position_size_long": 3087.89563,      "bias": -0.576137977,      "label_basis": "point_in_time",      "grading": null    },    {      "ts": "2026-10-24T16:00:00+00:00",      "cohort": "3x whale",      "position_count": 26,      "position_count_long": 16,      "total_position_value": 303716381.8,      "total_position_value_long": 211612226.9,      "total_unrealized_pnl": 13373939.21,      "total_position_size": 3801.82485,      "total_position_size_long": 2648.8944,      "bias": 0.3934857625,      "label_basis": "point_in_time",      "grading": null    },    {      "ts": "2026-10-24T16:00:00+00:00",      "cohort": "2x whale",      "position_count": 43,      "position_count_long": 21,      "total_position_value": 225036933.7,      "total_position_value_long": 134083741.2,      "total_unrealized_pnl": 9217583.194,      "total_position_size": 2816.9406,      "total_position_size_long": 1678.41753,      "bias": 0.1916598667,      "label_basis": "point_in_time",      "grading": null    },    {      "ts": "2026-10-24T16:00:00+00:00",      "cohort": "whale",      "position_count": 104,      "position_count_long": 58,      "total_position_value": 460673104.4,      "total_position_value_long": 274952948.7,      "total_unrealized_pnl": -16449223.58,      "total_position_size": 5766.61979,      "total_position_size_long": 3441.80325,      "bias": 0.1937008958,      "label_basis": "point_in_time",      "grading": null    }  ],  "hours": 1,  "nextCursor": "eyJtIjoiY29ob3J0X21ldHJpY3MiLCJ0IjoiMjAyNi0xMC0yNCAxNjowMDowMCJ9",  "grading": null,  "freshness": {    "newest_ts": "2026-10-24T16:00:00+00:00",    "behind_hours": 1,    "settled_lag_ceiling_hours": 3,    "stale": false  }}