Get a free key
Hyperliquid · Stats

Hyperliquid stats: daily volume, open interest and perps analytics

Hyperliquid's perps volume hour by hour, for the venue or one coin, open interest per coin beside the venue's own figure, and equity and position counts over time: the numbers behind any Hyperliquid dashboard, over MCP, REST and the CLI.

Ask your AI · Claude, ChatGPT, CursorConnect in a minute →

“What were Hyperliquid's perps volume and open interest each day this week?”

hl_stats

“Which coins carry the most open interest on Hyperliquid right now?”

hl_market
Live

Hyperliquid stats right now

The venue's equity, open interest and positions at the newest hour, and open interest per coin at the latest 5-minute snapshot: real answers of the API, captured on a schedule.

Venue stats · /stats

GET/v1/hyperliquid/stats
Open this side to see the captured response.

    

Open interest per coin · /positions/symbols

GET/v1/hyperliquid/positions/symbols
Open this side to see the captured response.

    
On vike.io · free, no key

Open interest and funding, on vike.io

Funding rate and open interest per perp, hourly over 1, 7 or 30 days, beside limit-order absorption: how much market buying and selling resting limit orders soaked up.

Stats API

Volume, open interest and venue stats over time

Hour by hour, for the whole venue or one coin. Volume is the traded notional counted once per trade (one side), the figure the candles report; until 2026-10-25 it counted both sides of every trade and was exactly twice that.

Ask your AI: hl_stats (views ecosystem, volume; 1 credit a call) and hl_market (view open_interest; 1 credit a call). Connect Claude, ChatGPT or Cursor: AI & API →

Hyperliquid · REST · CLI · MCP

Perps volume per hour, the whole venue or one coin

Route
GET /v1/hyperliquid/stats/volume
CLI
vike-data hl stats
MCP
hl_stats · 1 credit
Cost
1 request of the hourly limit
Free APIArchiveStreamMCP

Hourly perp volume, whole venue or one coin.

volume is the traded notional counted once per trade (one side), the figure the candles report; until 2026-10-25 it counted both sides of every trade and was exactly twice that. The venue total (no symbol) is perp volume, builder-dex perps included, and leaves out spot and outcome markets; naming one of those as symbol still returns it. n_fills counts fill records, two per trade (one for each side).

Parameters

ParameterInDescription
symbolqueryHL ticker. Omit for the whole venue
startqueryISO-8601 UTC bounds
endqueryISO-8601 UTC bounds
limitqueryDefault 500, max 5000
cursorqueryKeyset cursor

Call it

bash
curl -H "X-API-KEY: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/stats/volume?limit=168"
Hyperliquid · REST · CLI · MCP

Equity, open interest and positions of the whole venue, hour by hour

Route
GET /v1/hyperliquid/stats
CLI
vike-data hl stats
MCP
hl_stats · 1 credit
Cost
1 request of the hourly limit
Free APIArchiveStreamMCP

Ecosystem time series: perp equity, open interest, position counts.

Parameters

ParameterInDescription
startqueryISO-8601 UTC bounds
endqueryISO-8601 UTC bounds
limitqueryDefault 500, max 5000
cursorqueryKeyset cursor

Call it

bash
curl -H "X-API-KEY: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/stats?limit=168"
Hyperliquid · REST · CLI · MCP

Open interest per coin, beside the venue's own figure

Route
GET /v1/hyperliquid/positions/symbols
CLI
vike-data hl market
MCP
hl_market · 1 credit
Cost
1 request of the hourly limit
Free APIArchiveStreamMCP

Market-wide open interest per coin at the latest snapshot, with the venue's own OI alongside our aggregate so the two can be reconciled.

Parameters

None.

Call it

bash
curl -H "X-API-KEY: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/positions/symbols"
Studies

13 studies

Each with the sentence to ask your AI instead. Every block was run against the live API on 2026-11-03.

Hyperliquid · API

Hyperliquid exchange-wide daily volume, trades and users

Roll the hourly venue-wide volume and fill counts of /v1/hyperliquid/stats/volume up into days (volume counts each trade once; halve the fill count for trades); daily distinct traders are not served by the API and come from the fills archive.

Uses
/ohlcv, /stats, /stats/volume
Verified
live API, 2026-11-03: 6 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “What was Hyperliquid's total perp volume per day over the last week?”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# the last 7 days of venue-wide volume and trades, by UTC day, counting each trade once
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/stats/volume?limit=168",
    headers={"X-API-Key": API_KEY},
)
# then: jq '.volume | group_by(.ts[:10]) | map({day: .[0].ts[:10], hours: length, volume_usd: (map(.volume) | add), trades: ((map(.n_fills) | add) / 2 | floor)})'
Hyperliquid · API

How healthy is Hyperliquid: total perp equity, open interest and OI-to-equity over time?

One row per hour of total perp equity, open interest and position counts, from /v1/hyperliquid/stats; divide open_interest by total_perp_equity for the ratio.

Uses
/positions/symbols, /stats
Verified
live API, 2026-11-03: 6 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “How have Hyperliquid's total perp equity and open interest moved over the last 30 days?”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# the last 30 days, one row per hour, newest first
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/stats?limit=720",
    headers={"X-API-Key": API_KEY},
)
Hyperliquid · API

Hyperliquid open interest per coin, and how it reconciles with the venue

Open interest of every Hyperliquid coin summed from open positions, with the venue's own figure beside it.

Uses
/positions/symbols, /v1/hl-cohorts/symbols/{…}/metrics
Verified
live API, 2026-11-03: 5 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “What is the open interest of each Hyperliquid coin right now, and does it match the venue's own figure?”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# open interest of every coin at the latest snapshot, biggest first
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/positions/symbols",
    headers={"X-API-Key": API_KEY},
)
Hyperliquid · API

Hourly open interest and position count history of a Hyperliquid coin

One row per hour with position_count, long count, long and total notional in USD and bias, from /v1/hl-cohorts/symbols/{symbol}/metrics; /v1/hyperliquid/symbols/hourly adds the venue's own open interest per hour.

Uses
/symbols/hourly, /v1/hl-cohorts/symbols/{…}/metrics
Verified
live API, 2026-11-03: 5 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “Show the hourly open interest and position count of BTC on Hyperliquid for the last 24 hours”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# the newest hourly rows for BTC; the first row is the hour still in progress
r = requests.get(
    "https://data.vike.io/v1/hl-cohorts/symbols/BTC/metrics?limit=3",
    headers={"X-API-Key": API_KEY},
)
Hyperliquid · API

How is a Hyperliquid coin's open interest split by position size and by account size?

Split one coin's open positions into ten position-size buckets with /v1/hl-cohorts/symbols/{symbol}/size-breakdown; /cohort-metrics?axis=size splits the same book by the size of each wallet's account.

Uses
/v1/hl-cohorts/segments, /v1/hl-cohorts/symbols/{…}/cohort-metrics, /v1/hl-cohorts/symbols/{…}/size-breakdown
Verified
live API, 2026-11-03: 4 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “How is BTC open interest on Hyperliquid split by position size?”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# BTC open positions in ten position-size buckets, largest first
r = requests.get(
    "https://data.vike.io/v1/hl-cohorts/symbols/BTC/size-breakdown",
    headers={"X-API-Key": API_KEY},
)
Hyperliquid · API

How concentrated is Hyperliquid open interest? Top-10 wallets' share of BTC OI

Sum size_usd of the 10 rows from /v1/hyperliquid/positions?symbol=BTC&sort=size&limit=10 and divide by BTC's total_value from /v1/hyperliquid/positions/symbols.

Uses
/archive/url, /positions, /positions/symbols
Verified
live API, 2026-11-03: 5 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “What share of BTC open interest on Hyperliquid do the 10 biggest positions hold right now?”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# the 10 biggest open BTC positions, largest first
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/positions?symbol=BTC&sort=size&limit=10",
    headers={"X-API-Key": API_KEY},
)
Hyperliquid · API

How many traders were active on Hyperliquid each day, and what share were makers?

Count distinct wallets per UTC day in the archive's daily fills files, and per wallet the share of its notional filled as maker; the API itself does not serve a daily active-traders count.

Uses
/archive/url, /stats
Verified
live API, 2026-11-03: 2 calls, all 200
Free APIArchiveStreamMCP

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# download one UTC day of every fill; repeat per day
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/archive/url?dataset=fills&date=2026-10-23&redirect=1",
    headers={"X-API-Key": API_KEY},
)
with open("fills-2026-10-23.parquet", "wb") as f:
    f.write(r.content)
Hyperliquid · API

List every Hyperliquid instrument that traded in the last hour, including HIP-3 dexes and spot

One row for every perp that traded in the last 60 minutes on every dex, each naming its dex, from /v1/hyperliquid/ohlcv/latest without dex; market=spot does the same for spot pairs.

Uses
/ohlcv/latest
Verified
live API, 2026-11-03: 4 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “List every Hyperliquid instrument that traded in the last hour, HIP-3 dexes included”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# every perp that traded in the last hour, on every dex, one row each
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/ohlcv/latest",
    headers={"X-API-Key": API_KEY},
)
Hyperliquid · API

Screen all Hyperliquid coins for the biggest 1-minute move right now

One call to /v1/hyperliquid/ohlcv/latest returns the newest 1-minute candle of every perp that traded in the last hour; rank them by (close - open) / open, or by volume_usd for the most traded coins.

Uses
/ohlcv, /ohlcv/latest
Verified
live API, 2026-11-03: 4 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “Which Hyperliquid coin moved the most in the last minute? Then show me its last 60 one-minute candles”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# the five biggest 1-minute moves among coins with at least 20 trades in their newest minute
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/ohlcv/latest",
    headers={"X-API-Key": API_KEY},
)
# then: jq '(.candles | map(.ts) | max) as $t | [.candles[] | select(.ts >= $t - 60000 and .n_trades >= 20 and (.symbol | startswith("#") | not)) | {symbol, dex, ts, open, close, n_trades, move_pct: ((.close - .open) / .open * 100)}] | sort_by(-(.move_pct | fabs)) | .[:5]'
Hyperliquid · API

Which HIP-3 builder dex is busiest this minute?

Call /v1/hyperliquid/ohlcv/latest without dex, keep the rows of the newest minute, and sum volume_usd and n_trades per dex; each row names its own dex.

Uses
/ohlcv, /ohlcv/latest
Verified
live API, 2026-11-03: 4 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “Which HIP-3 builder dex on Hyperliquid traded the most in the last minute?”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# USD traded, trades and active symbols per dex in the newest minute
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/ohlcv/latest",
    headers={"X-API-Key": API_KEY},
)
# then: jq '(.candles | map(.ts) | max) as $t | [.candles[] | select(.ts == $t and (.symbol | startswith("#") | not))] | group_by(.dex) | map({dex: .[0].dex, symbols: length, volume_usd: (map(.volume_usd) | add), n_trades: (map(.n_trades) | add)}) | sort_by(-.volume_usd)'
Hyperliquid · API

HIP-3 stock perps on Hyperliquid: candles, volume, and who trades them

Candles, volume, biggest holders and recent large fills of a HIP-3 stock perp such as xyz:TSLA.

Uses
/builders/{…}/fills, /ohlcv, /ohlcv/latest, /positions, /v1/hl-cohorts/symbols/{…}/large-fills
Verified
live API, 2026-11-03: 5 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “Show the daily candles of xyz:TSLA on the XYZ dex for the last week”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# a week of daily xyz:TSLA candles, whole UTC days
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/ohlcv?symbol=xyz:TSLA&dex=XYZ&interval=1d&start=2026-10-17T00:00:00Z&end=2026-10-24T00:00:00Z",
    headers={"X-API-Key": API_KEY},
)
Hyperliquid · API

Which Hyperliquid tokens trade more on spot than on perp?

For a token you name, sum volume_usd from /v1/hyperliquid/ohlcv with market=spot and from the perp over the same hours; spot rows carry a spot index (@107), not a name, so a screen of every token needs the names first.

Uses
/ohlcv, /ohlcv/latest
Verified
live API, 2026-11-03: 5 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “Compare HYPE spot and HYPE perp volume on Hyperliquid over the last 24 hours”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# HYPE spot: USD traded over the last 24 hourly candles
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/ohlcv?symbol=HYPE&market=spot&interval=1h&limit=24",
    headers={"X-API-Key": API_KEY},
)
# then: jq '{symbol, volume_usd: ([.candles[].volume_usd] | add)}'
Hyperliquid · API

Pick a tradable universe: the most liquid, most volatile or largest-OI Hyperliquid perps

Rank coins by open interest from /v1/hyperliquid/positions/symbols, then measure volatility from hourly closes on /v1/hyperliquid/symbols/hourly and daily volume from /v1/hyperliquid/ohlcv.

Uses
/ohlcv, /ohlcv/latest, /positions/symbols, /symbols/hourly
Verified
live API, 2026-11-03: 4 calls, all 200
Free APIArchiveStreamMCP
Ask your AI agent: “List the 30 Hyperliquid perps with the most open interest right now”

The code

python
import os
import requests

API_KEY = os.environ["VIKE_API_KEY"]  # your key, read from the environment

# the 30 coins with the most open interest
r = requests.get(
    "https://data.vike.io/v1/hyperliquid/positions/symbols",
    headers={"X-API-Key": API_KEY},
)
# then: jq '.[:30] | map({symbol, total_value, count})'
FAQ

Hyperliquid stats FAQ

What is Hyperliquid's daily volume?
Sum the hourly rows of GET /v1/hyperliquid/stats/volume per UTC day: volume is the traded notional counted once per trade (one side), the figure the candles report; until 2026-10-25 it counted both sides of every trade and was exactly twice that. n_fills counts fill records, two per trade. The venue total is perp volume, builder-dex perps included, without spot and outcome markets.
How do I get Hyperliquid open interest per coin?
GET /v1/hyperliquid/positions/symbols gives every coin's open interest summed from open positions at the latest snapshot, longs and shorts apart, with the venue's own figure beside it so the two reconcile. Over MCP: hl_market with view open_interest.
Is there a free Hyperliquid stats API?
Yes: /stats, /stats/volume and /positions/symbols, the MCP tool hl_stats for Claude or ChatGPT and the CLI command vike-data hl stats, on one free key, 20,000 requests an hour.
Can I build my own Hyperliquid dashboard?
Yes. /stats gives total perp equity, open interest and position counts per hour, /stats/volume the volume per hour, /positions/symbols open interest per coin now, and the studies below turn them into daily series, ratios and screens.
Does the API give daily active traders?
Not as a route: count distinct wallets per day in the fills archive, one Parquet file a day, as the study on active traders does.