vike

Recipe 27 of 65

Show one Hyperliquid wallet's hourly position history for 30 days

/v1/hyperliquid/positions with wallet and a 30-day start and end returns the wallet's positions at the last snapshot of every hour; resolution=5m gives every snapshot, 48 hours per request.

GET /v1/hyperliquid/positions answers it with a wallet, a start and an end: that wallet's open positions hour by hour, one row per position at the last snapshot of each hour, with size, entry, mark and liquidation price, leverage, margin and the cohorts of that hour. A wallet's history defaults to this hourly resolution. For every 5-minute snapshot pass resolution=5m, which serves at most 48 hours per request. The full parameter list is on Positions.

Quick answer

Pass the wallet and a 30-day window.

cURL
# one wallet's positions at the end of every hour for 30 days
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/positions?wallet=0x25773676902085225ae5751075e4161369334897&start=2026-09-24T00:00:00Z&end=2026-10-24T00:00:00Z&limit=5000"

Example response

Captured from the live API on 2026-10-24 at 17:15 UTC with limit=5, trimmed to 3 rows; the label_computed block is cut.

Rows come hour by hour, and inside an hour by symbol: these three are the wallet's AAVE long, ASTER short and AVAX short at 00:56, the last snapshot of the first hour. size_usd and unrealized_pnl are USD at that mark_price; margin_used is the margin the position ties up. Follow nextCursor for the next rows.

Example response
{
  "positions": [
    {
      "wallet": "0x25773676902085225ae5751075e4161369334897",
      "symbol": "AAVE",
      "direction": "long",
      "size_token": 258.98,
      "size_usd": 35778.08700000001,
      "entry_price": 110.19,
      "mark_price": 138.15,
      "liquidation_price": 0.0,
      "unrealized_pnl": 7241.0808000000025,
      "leverage": 10.0,
      "leverage_type": "cross",
      "margin_used": 3577.8087000000005,
      "size_cohort": "3x whale",
      "liq_progress": 0.0,
      "dex_name": "HL",
      "snapshot_ts": "2026-09-24T00:56:00+00:00",
      "pnl_cohort": "3x smart",
      "pnl_abs_cohort": "$1m+",
      "pnl_cohort_as_of": "2026-09-24T00:00:00+00:00",
      "pnl_cohort_basis": "point_in_time",
      "opened_at": "2026-06-23T06:22:00+00:00"
    },
    {
      "wallet": "0x25773676902085225ae5751075e4161369334897",
      "symbol": "ASTER",
      "direction": "short",
      "size_token": 7311.0,
      "size_usd": 5032.8192899999995,
      "entry_price": 0.6637523701272057,
      "mark_price": 0.68839,
      "liquidation_price": 305.1694242304,
      "unrealized_pnl": -180.12571199999894,
      "leverage": 5.0,
      "leverage_type": "cross",
      "margin_used": 1006.5638579999999,
      "size_cohort": "3x whale",
      "liq_progress": 8.0910249461953e-05,
      "dex_name": "HL",
      "snapshot_ts": "2026-09-24T00:56:00+00:00",
      "pnl_cohort": "3x smart",
      "pnl_abs_cohort": "$1m+",
      "pnl_cohort_as_of": "2026-09-24T00:00:00+00:00",
      "pnl_cohort_basis": "point_in_time",
      "opened_at": "2026-06-22T04:02:00+00:00"
    },
    {
      "wallet": "0x25773676902085225ae5751075e4161369334897",
      "symbol": "AVAX",
      "direction": "short",
      "size_token": 128.39,
      "size_usd": 1308.615075,
      "entry_price": 7.57,
      "mark_price": 10.1925,
      "liquidation_price": 18174.0784540036,
      "unrealized_pnl": -336.70277500000003,
      "leverage": 10.0,
      "leverage_type": "cross",
      "margin_used": 130.8615075,
      "size_cohort": "3x whale",
      "liq_progress": 0.00014435905538150038,
      "dex_name": "HL",
      "snapshot_ts": "2026-09-24T00:56:00+00:00",
      "pnl_cohort": "3x smart",
      "pnl_abs_cohort": "$1m+",
      "pnl_cohort_as_of": "2026-09-24T00:00:00+00:00",
      "pnl_cohort_basis": "point_in_time",
      "opened_at": "2026-06-23T12:17:00+00:00"
    }
  ],
  "nextCursor": "eyJhIjoiQ0FTSENBVCIsImQiOi0xLCJtIjoiaGlzdDFoIiwidCI6IjIwMjYtMDktMjQgMDA6NTY6MDAiLCJ3IjoiMHgyNTc3MzY3NjkwMjA4NTIyNWFlNTc1MTA3NWU0MTYxMzY5MzM0ODk3In0"
}

Variations

Every 5 minutes. Every snapshot of the wallet, about 5 minutes apart. One request covers at most 48 hours, so walk a month in 48-hour windows.

cURL — 5-minute
# every snapshot of the wallet over 48 hours
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/positions?wallet=0x25773676902085225ae5751075e4161369334897&start=2026-10-22T00:00:00Z&end=2026-10-24T00:00:00Z&resolution=5m&limit=5000"

One coin of the wallet. Add symbol.

cURL — one coin
# the wallet's BTC position, hour by hour
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/positions?wallet=0x25773676902085225ae5751075e4161369334897&symbol=BTC&start=2026-09-24T00:00:00Z&end=2026-10-24T00:00:00Z&limit=5000"

The next page. Follow nextCursor with the same window.

cURL — next page
# NEXT is the previous response's nextCursor; keep the same start, end and resolution
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/positions?wallet=0x25773676902085225ae5751075e4161369334897&start=2026-09-24T00:00:00Z&end=2026-10-24T00:00:00Z&limit=5000&cursor=$NEXT"

With the account value beside each row. The daily positions file carries account_value on every row. One day is about 1.9 GB, so this suits many wallets at once better than one.

cURL — a day's positions file
# a temporary link to every 5-minute position snapshot of one UTC day, as Parquet
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/archive/url?dataset=positions&date=2026-10-23"

Before you rely on it

Hourly is the last snapshot of each hour

resolution=1h keeps the last snapshot of each hour, so a position opened and closed inside one hour does not appear. Hourly rows lag the 5-minute ones by about an hour. A 5m read of one wallet over more than 48 hours is refused with a 400 that says "a 5-minute read of one wallet is limited to 48 hours per request". Under 5m the rows come by symbol, then time, not hour by hour.

No account value on history rows

History rows carry no account_value; only the current sort=size read and the archive files do. In the files, account_value is the wallet's main-venue equity as of the start of the row's clock hour, and null where it is unknown. History starts on 2026-05-01; an earlier start is a 400.

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 with view: positions, the wallet and start, at 1 credit a call.

Ask your agent
Show the hourly position history of 0x25773676902085225ae5751075e4161369334897 on Hyperliquid for the last 30 days
Example response
{  "positions": [    {      "wallet": "0x25773676902085225ae5751075e4161369334897",      "symbol": "AAVE",      "direction": "long",      "size_token": 258.98,      "size_usd": 35778.08700000001,      "entry_price": 110.19,      "mark_price": 138.15,      "liquidation_price": 0.0,      "unrealized_pnl": 7241.0808000000025,      "leverage": 10.0,      "leverage_type": "cross",      "margin_used": 3577.8087000000005,      "size_cohort": "3x whale",      "liq_progress": 0.0,      "dex_name": "HL",      "snapshot_ts": "2026-09-24T00:56:00+00:00",      "pnl_cohort": "3x smart",      "pnl_abs_cohort": "$1m+",      "pnl_cohort_as_of": "2026-09-24T00:00:00+00:00",      "pnl_cohort_basis": "point_in_time",      "opened_at": "2026-06-23T06:22:00+00:00"    },    {      "wallet": "0x25773676902085225ae5751075e4161369334897",      "symbol": "ASTER",      "direction": "short",      "size_token": 7311.0,      "size_usd": 5032.8192899999995,      "entry_price": 0.6637523701272057,      "mark_price": 0.68839,      "liquidation_price": 305.1694242304,      "unrealized_pnl": -180.12571199999894,      "leverage": 5.0,      "leverage_type": "cross",      "margin_used": 1006.5638579999999,      "size_cohort": "3x whale",      "liq_progress": 8.0910249461953e-05,      "dex_name": "HL",      "snapshot_ts": "2026-09-24T00:56:00+00:00",      "pnl_cohort": "3x smart",      "pnl_abs_cohort": "$1m+",      "pnl_cohort_as_of": "2026-09-24T00:00:00+00:00",      "pnl_cohort_basis": "point_in_time",      "opened_at": "2026-06-22T04:02:00+00:00"    },    {      "wallet": "0x25773676902085225ae5751075e4161369334897",      "symbol": "AVAX",      "direction": "short",      "size_token": 128.39,      "size_usd": 1308.615075,      "entry_price": 7.57,      "mark_price": 10.1925,      "liquidation_price": 18174.0784540036,      "unrealized_pnl": -336.70277500000003,      "leverage": 10.0,      "leverage_type": "cross",      "margin_used": 130.8615075,      "size_cohort": "3x whale",      "liq_progress": 0.00014435905538150038,      "dex_name": "HL",      "snapshot_ts": "2026-09-24T00:56:00+00:00",      "pnl_cohort": "3x smart",      "pnl_abs_cohort": "$1m+",      "pnl_cohort_as_of": "2026-09-24T00:00:00+00:00",      "pnl_cohort_basis": "point_in_time",      "opened_at": "2026-06-23T12:17:00+00:00"    }  ],  "nextCursor": "eyJhIjoiQ0FTSENBVCIsImQiOi0xLCJtIjoiaGlzdDFoIiwidCI6IjIwMjYtMDktMjQgMDA6NTY6MDAiLCJ3IjoiMHgyNTc3MzY3NjkwMjA4NTIyNWFlNTc1MTA3NWU0MTYxMzY5MzM0ODk3In0"}