Example 50 of 65
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.
GET /v1/hyperliquid/stats/volume answers the volume and trades: without symbol it returns the perp markets' traded
notional and fill count per hour, newest first. Sum 24 rows for a day. volume counts each trade once; n_fills counts both sides of every trade, so halve it for the
number of trades. Daily active users are not in this response; see the caveat. The full parameter lists are on
Volume by coin and Exchange stats.
Quick answer
Read 168 hours and roll them up by UTC day, halving the fill count for trades.
# the last 7 days of venue-wide volume and trades, by UTC day, counting each trade once
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/stats/volume?limit=168" \
| 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)})'Example response
Captured from the live API on 2026-10-24 at 17:16 UTC with limit=3, all three rows shown.
ts is the start of the hour, volume the USD notional of every fill in it and n_fills the number of fills, over
every market (symbol: null). The 17:00 row is the hour in progress. 16:00 UTC is $931M of fills, about $466M traded.
{
"volume": [
{
"ts": "2026-10-24T17:00:00+00:00",
"volume": 88954522.76906112,
"n_fills": 101693,
"symbol": null
},
{
"ts": "2026-10-24T16:00:00+00:00",
"volume": 931259987.9218321,
"n_fills": 496094,
"symbol": null
},
{
"ts": "2026-10-24T15:00:00+00:00",
"volume": 2269356179.8221626,
"n_fills": 825940,
"symbol": null
}
],
"nextCursor": "eyJ0cyI6IjIwMjYtMTAtMjQgMTU6MDA6MDAifQ"
}Variations
Check the double count on one coin. With symbol, the same route answers one coin; set it beside the hourly candle of that coin.
# BTC volume and fills by the hour
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/stats/volume?symbol=BTC&limit=3"# the hourly BTC candles for the same hours; volume_usd and n_trades count each trade once
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/ohlcv?symbol=BTC&interval=1h&limit=4"On the same capture BTC's 16:00 hour read volume $511,282,097 and n_fills 45,210 on this route, against volume_usd
$255,641,049 and n_trades 22,605 on the candle: exactly two to one.
Accounts and open interest per hour. /stats is the venue's hourly state: perp equity, open interest, open-position counts, and count_wallets.
# venue-wide equity, open interest and position counts, newest hours first
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/stats?limit=3"On the same capture the 16:00 row read count_wallets 139,474, count_open_positions 424,653 and open_interest
$14.99B.
Page back further. nextCursor continues below the oldest hour returned; pass it back verbatim.
# the 168 hours before the cursor; NEXT is the previous response's nextCursor, passed back verbatim
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/stats/volume?limit=168&cursor=$NEXT"Before you rely on it
Daily users are not served
Volume and trades are served; venue-wide distinct daily traders are not. count_wallets in /stats counts the
wallets that had an account snapshot in that hour, whether or not they traded, so it is not a daily-users figure.
For distinct traders per day, count distinct wallet values in the day's fills file from the Parquet archive.
Fill count is both sides; perp markets only
n_fills sums every fill row, and a trade has one row per side, so it is about twice the number of trades. volume
counts each trade once (until 2026-10-25 it also counted both sides, so halve a day taken before that date). Without
symbol the total covers perp markets, HIP-3 builder dexes included, and leaves out spot pairs and # outcome
markets. The newest row is the hour in progress, and the newest day in the roll-up is partial.
Ask your agent
No MCP tool returns venue-wide volume history: run the Quick answer call.