vike

Recipe 5 of 65

Live Hyperliquid liquidation feed with a rolling 1-hour total

Poll /liquidations with start set to one hour ago, follow nextCursor to the end, and sum size_usd by side; there is no push stream for liquidations.

GET /v1/hyperliquid/liquidations answers it with start set to one hour ago: the venue's liquidations since then, newest first. Summing size_usd by side over every page gives the rolling 1-hour total, and repeating the call every few minutes turns it into a feed. The full parameter list is on Liquidations.

Quick answer

Set start to one hour before now; the capture used 16:15:33 UTC.

cURL
# every liquidation since 16:15:33 UTC, newest first
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/liquidations?start=2026-10-24T16:15:33Z&limit=5"

Example response

Captured from the live API on 2026-10-24 at 17:15 UTC with start one hour earlier, trimmed to 3 of 5 rows. label_computed is cut to its first keys and the legacy asset copy of symbol is left out.

size_usd is USD notional and side is the side that was closed: short means a short was liquidated as price rose. All rows share one liq_ts and one mark_price per market, because they were found in the same position snapshot. A non-null nextCursor means more rows are inside the hour.

Example response
{
  "liquidations": [
    {
      "liq_ts": "2026-10-24T17:02:00+00:00",
      "wallet": "0xfd6a1efbb9292f675052f101249dd7f72ff8c313",
      "symbol": "SOL",
      "side": "long",
      "size_token": 10.25,
      "size_usd": 1025.5125,
      "mark_price": 100.05,
      "size_cohort": null,
      "pnl_cohort": null,
      "pnl_cohort_basis": null
    },
    {
      "liq_ts": "2026-10-24T17:02:00+00:00",
      "wallet": "0xfb697d3976e42df505286fde283000608c20926d",
      "symbol": "BTC",
      "side": "short",
      "size_token": 3.01863,
      "size_usd": 241149.29481,
      "mark_price": 79887.0,
      "size_cohort": "2x shrimp",
      "pnl_cohort": "3x rekt",
      "pnl_cohort_basis": "current"
    },
    {
      "liq_ts": "2026-10-24T17:02:00+00:00",
      "wallet": "0xfae9ffba1dbcaff024225812f38f613c636ce78c",
      "symbol": "BTC",
      "side": "short",
      "size_token": 0.01534,
      "size_usd": 1225.46658,
      "mark_price": 79887.0,
      "size_cohort": null,
      "pnl_cohort": null,
      "pnl_cohort_basis": null
    }
  ],
  "label_computed": {
    "grading": "realized",
    "lookahead": false,
    "resolution": "hourly"
  },
  "nextCursor": "eyJ0cyI6IjIwMjYtMTAtMjQgMTc6MDI6MDAuMDAwIiwidyI6IjB4ZmFjZTRhYmUwZTU1NDEyYjMxYTU2MmExNTI3NmMzZGRjNDcwNzQzZCJ9"
}

Variations

The 1-hour total of one page. Sum a 5000-row page by side. If more comes back true, the hour holds more rows: fetch the next page and add it.

cURL — total by side
# long and short liquidation notional since 16:15:33 UTC, from one 5000-row page
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/liquidations?start=2026-10-24T16:15:33Z&limit=5000" \
  | jq '{more: (.nextCursor != null), by_side: (.liquidations | group_by(.side) | map({side: .[0].side, n: length, usd: (map(.size_usd) | add)}))}'

The next page of the same hour. Pass nextCursor back as cursor, every other parameter unchanged. NEXT is the previous response's nextCursor.

cURL — next page
# older rows of the same hour
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/liquidations?start=2026-10-24T16:15:33Z&limit=5000&cursor=$NEXT"

One market only. Add symbol.

cURL — BTC
# BTC liquidations in the last hour
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/liquidations?symbol=BTC&start=2026-10-24T16:15:33Z&limit=5000"

Before you rely on it

Polling, not streaming, in snapshot-sized steps

There is no push channel for liquidations: the WebSocket at wss://vike.io/v1/stream carries closed OHLCV bars only. Rows are found by comparing consecutive position snapshots, so they arrive in batches every 5 to 13 minutes, stamped with the snapshot time; polling faster than that adds nothing. start is inclusive: when you poll from the newest liq_ts you have seen, drop the rows you already hold by liq_ts, wallet and symbol.

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_liquidations tool answers with view: fills and start, at 1 credit a call.

Ask your agent
How much was liquidated on Hyperliquid in the last hour, longs versus shorts?
Example response
{  "liquidations": [    {      "liq_ts": "2026-10-24T17:02:00+00:00",      "wallet": "0xfd6a1efbb9292f675052f101249dd7f72ff8c313",      "symbol": "SOL",      "side": "long",      "size_token": 10.25,      "size_usd": 1025.5125,      "mark_price": 100.05,      "size_cohort": null,      "pnl_cohort": null,      "pnl_cohort_basis": null    },    {      "liq_ts": "2026-10-24T17:02:00+00:00",      "wallet": "0xfb697d3976e42df505286fde283000608c20926d",      "symbol": "BTC",      "side": "short",      "size_token": 3.01863,      "size_usd": 241149.29481,      "mark_price": 79887.0,      "size_cohort": "2x shrimp",      "pnl_cohort": "3x rekt",      "pnl_cohort_basis": "current"    },    {      "liq_ts": "2026-10-24T17:02:00+00:00",      "wallet": "0xfae9ffba1dbcaff024225812f38f613c636ce78c",      "symbol": "BTC",      "side": "short",      "size_token": 0.01534,      "size_usd": 1225.46658,      "mark_price": 79887.0,      "size_cohort": null,      "pnl_cohort": null,      "pnl_cohort_basis": null    }  ],  "label_computed": {    "grading": "realized",    "lookahead": false,    "resolution": "hourly"  },  "nextCursor": "eyJ0cyI6IjIwMjYtMTAtMjQgMTc6MDI6MDAuMDAwIiwidyI6IjB4ZmFjZTRhYmUwZTU1NDEyYjMxYTU2MmExNTI3NmMzZGRjNDcwNzQzZCJ9"}