Recipe 44 of 65
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.
GET /v1/hyperliquid/ohlcv/latest answers it in one call: the newest 1-minute candle of every perp that traded in the
last 60 minutes, on every dex. Compute (close - open) / open per row, drop the thin ones, and sort. One call replaces
a loop of a few hundred per-symbol /ohlcv calls, which would run into the per-minute cap. The full parameter list
is on Latest candle of every coin.
Quick answer
Rank the newest minute of every coin by its move, keeping coins with at least 20 trades.
# the five biggest 1-minute moves among coins with at least 20 trades in their newest minute
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/ohlcv/latest" \
| 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]'Example response
Captured from the live API on 2026-10-24 at 17:15 UTC, trimmed to 4 of 592 candles.
ts is the start of the candle's minute in epoch milliseconds (here 17:15 UTC, the minute in progress). volume is in
the coin, volume_usd in USD, and both count each trade once. On this capture the Quick answer's jq filter ranked ANIME first
(-0.44% on 24 trades), then xyz:MRNA (+0.22% on 362 trades) and AVNT (+0.20%): a quiet Saturday minute.
{
"market": "perp",
"dex": null,
"interval": "1m",
"tz": "UTC",
"source": "1m fills rollup",
"lookback_minutes": 60,
"candles": [
{
"symbol": "#114940",
"dex": "HL",
"ts": 1792862100000,
"open": 0.07355,
"high": 0.07356,
"low": 0.07355,
"close": 0.07356,
"volume": 62.0,
"volume_usd": 4.56041,
"n_trades": 2
},
{
"symbol": "ANIME",
"dex": "HL",
"ts": 1792862100000,
"open": 0.003387,
"high": 0.003404,
"low": 0.003369,
"close": 0.003372,
"volume": 863284.0,
"volume_usd": 2919.9025609999994,
"n_trades": 24
},
{
"symbol": "BTC",
"dex": "HL",
"ts": 1792862100000,
"open": 80122.0,
"high": 80127.0,
"low": 80095.0,
"close": 80101.0,
"volume": 15.733999999999998,
"volume_usd": 1260527.37524,
"n_trades": 153
},
{
"symbol": "xyz:MRNA",
"dex": "XYZ",
"ts": 1792862100000,
"open": 206.29,
"high": 206.98,
"low": 206.14,
"close": 206.74,
"volume": 310.2900000000001,
"volume_usd": 64141.86460000002,
"n_trades": 362
}
]
}Variations
The most USD traded per minute. Same call, sorted by volume_usd instead of the move. On this capture: BTC ($1.26M), ETH ($105k), xyz:MRNA ($64k).
# the five coins with the most USD traded in their newest minute
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/ohlcv/latest" \
| jq '(.candles | map(.ts) | max) as $t | [.candles[] | select(.ts >= $t - 60000 and (.symbol | startswith("#") | not)) | {symbol, dex, ts, volume_usd, n_trades}] | sort_by(-.volume_usd) | .[:5]'One builder dex only. Screen the stock and commodity perps of one HIP-3 dex.
# the newest candle of every XYZ market
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/ohlcv/latest?dex=XYZ"Confirm a mover on a longer window. A one-minute move on 24 trades is noise until a longer bar agrees. Pull the coin's last hour of minutes.
# the last 60 one-minute ANIME candles
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/hyperliquid/ohlcv?symbol=ANIME&interval=1m&limit=60"Before you rely on it
Each row is the symbol's newest minute, and it may still be forming
A row is the newest candle of its symbol within the last 60 minutes, so rows can be from different minutes, and a busy
coin's row is the minute in progress (ts is the current minute). The filter keeps only the newest two minutes, so a
coin that last traded 40 minutes ago does not rank. Once a coin trades in the new minute, its closed minute is no
longer in this response; for closed bars call /ohlcv with interval=1m.
Rows starting with # are not coin perps
In this capture 276 of the 592 rows had a symbol starting with #. Their prices sit between 0 and 1 and they come in
pairs (#114940 at 0.07356, #114941 at 0.92644) that add up to 1, so a tiny tick is a large percentage move. They
are tagged perp and dex HL like a coin, so drop them, as the filter does, before ranking coins.
Ask your agent
No MCP tool screens every coin at once; hl_ohlcv reads one symbol per call, at
1 credit a call, which suits the confirmation step.
Show me the last 60 one-minute candles of ANIME on Hyperliquid