vike

Recipe 20 of 33

Build a Hyperliquid fear-and-greed gauge from the Smart Money and Whale-vs-Shrimp indices

Read latest.smi and latest.wsi from /indices for the largest coins by open interest, average them and multiply by 100; the gauge runs from -100 to +100 and is yours to define, not a published index.

GET /v1/hl-cohorts/symbols/{symbol}/indices answers it one coin per call: its latest block holds the Smart Money Index (smi) and the Whale-vs-Shrimp Index (wsi) at the newest 5-minute snapshot, as ratios from -1 to +1. Take the largest coins by open interest from /v1/hyperliquid/positions/symbols, average each index across them and multiply by 100 for a gauge from -100 to +100. The full parameter list is on Coin indices.

Quick answer

hours=1 keeps the hourly series to one row.

cURL
# BTC's two indices now; hours=1 keeps the hourly series to one row
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hl-cohorts/symbols/BTC/indices?hours=1"

Example response

Captured from the live API on 2026-10-24 at 17:14 UTC, the whole response. smi is the long share of the three smart rungs minus the long share of the three rekt rungs; wsi is the long share of the four whale rungs minus the long share of the two shrimp rungs. A negative value means the first group is less long than the second. At the same 17:07 snapshot the five largest coins by open interest (BTC, ETH, HYPE, SOL, ZEC) read smi -0.106, -0.125, +0.340, -0.078 and -0.229, an average of -0.039, so the smart-money half of the gauge read -4; their wsi averaged -0.335, or -33.

Example response
{
  "symbol": "BTC",
  "label_basis": "point_in_time",
  "latest": {
    "ts": "2026-10-24T17:07:00+00:00",
    "smi": -0.105745,
    "wsi": -0.333305,
    "whale_bias": -0.196333,
    "smart_bias": -0.1028,
    "label_basis": "current"
  },
  "series": [
    {
      "ts": "2026-10-24T16:00:00+00:00",
      "smi": -0.099091,
      "wsi": -0.306365
    }
  ],
  "has_more": false
}

Variations

Pick the coins. Open interest per symbol, largest first. Builder-DEX markets such as xyz:SP500 are in the list; drop the symbols with a colon for a crypto-only gauge.

cURL — universe
# the ten largest crypto perps by open interest
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/positions/symbols" \
  | jq '[.[] | select(.symbol | contains(":") | not)][:10] | map(.symbol)'

The gauge over the last week. series holds the settled hourly values, newest first, so the same arithmetic per hour gives the gauge's history.

cURL — a week
# 168 hourly readings of ETH's two indices
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hl-cohorts/symbols/ETH/indices?hours=168"

Before you rely on it

A value can be null, and latest is graded by today's ladder

smi or wsi is null, never 0, when one of its rung sets holds no positions on that coin: leave the coin out of the average instead of counting it as balanced. latest.smi ranks wallets by today's realized-PnL grading (latest.label_basis is current), while series uses each hour's own grading, so do not splice latest onto a backtested series. Which coins, what weights and the x100 scale are your choices: the API serves the indices, not this gauge.

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_market tool answers (view indices), at 1 credit a call.

Ask your agent
Average the Smart Money Index and the Whale-vs-Shrimp Index over the ten largest Hyperliquid coins by open interest
Example response
{  "symbol": "BTC",  "label_basis": "point_in_time",  "latest": {    "ts": "2026-10-24T17:07:00+00:00",    "smi": -0.105745,    "wsi": -0.333305,    "whale_bias": -0.196333,    "smart_bias": -0.1028,    "label_basis": "current"  },  "series": [    {      "ts": "2026-10-24T16:00:00+00:00",      "smi": -0.099091,      "wsi": -0.306365    }  ],  "has_more": false}