Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Hyperliquid market data, account history, trade review.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-19 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-22 | ✗→✓ | ▲ Improved | 49% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 98% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 182% | 0% |
| case-23 | ✓→✓ | = Same ✓ | 52% | 0% |
Query Hyperliquid market and account data through the public /info endpoint. Read-only — no API key, no signing, no order placement.
12 commands: dexs, markets, spots, candles, funding, l2, state, spot-balances, fills, orders, review, export. Stdlib only (urllib, json, argparse).
Stdlib only — no external packages, no API key.
The script reads ${HERMES_HOME:-~/.hermes}/.env for two optional defaults:
HYPERLIQUID_API_URL — defaults to https://api.hyperliquid.xyz. Set tohttps://api.hyperliquid-testnet.xyz for testnet.
HYPERLIQUID_USER_ADDRESS — default address for state, spot-balances,fills, orders, and review. If unset, pass the address as the first positional argument.
A project .env in the current working directory is honored as a dev fallback.
Helper script: ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py
Invoke through the terminal tool:
bashpython3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py <command> [args]
Add --json to any command for machine-readable output.
bashhyperliquid_client.py dexs hyperliquid_client.py markets [--dex DEX] [--limit N] [--sort volume|oi|funding_abs|change_abs|name] hyperliquid_client.py spots [--limit N] hyperliquid_client.py candles <coin> [--interval 1h] [--hours 24] [--limit N] hyperliquid_client.py funding <coin> [--hours 72] [--limit N] hyperliquid_client.py l2 <coin> [--levels N] hyperliquid_client.py state [address] [--dex DEX] hyperliquid_client.py spot-balances [address] [--limit N] hyperliquid_client.py fills [address] [--hours N] [--limit N] [--aggregate-by-time] hyperliquid_client.py orders [address] [--limit N] hyperliquid_client.py review [address] [--coin COIN] [--hours N] [--fills N] hyperliquid_client.py export <coin> [--interval 1h] [--hours N] [--output PATH]
For state, spot-balances, fills, orders, and review, the address is optional when HYPERLIQUID_USER_ADDRESS is set in ${HERMES_HOME:-~/.hermes}/.env.
bashpython3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py dexs python3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ markets --limit 15 --sort volume python3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ spots --limit 15
--dex only applies to perp endpoints; omit for the first perp dex.PURR/USDC or aliases like @107.mydex:BTC.bashpython3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ candles BTC --interval 1h --hours 72 --limit 48 python3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ funding BTC --hours 168 --limit 30
Time-range endpoints paginate. For larger windows, repeat with a later startTime or use export (below).
bashpython3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ l2 BTC --levels 10
Use when asked about book depth, near-term liquidity, or potential market impact of a large order.
bashpython3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ state 0xabc... python3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ spot-balances
state returns perp positions; spot-balances returns spot inventory. Use these for "how are my positions?", "what am I holding?", "how much is withdrawable?".
bashpython3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ fills 0xabc... --hours 72 --limit 25 python3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ orders --limit 25
bashpython3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ review 0xabc... --hours 72 --fills 50 python3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ review --coin BTC --hours 168
Reports realized PnL, fees, win/loss counts, coin breakdowns, market trend and average funding for each traded perp, plus heuristics (fee drag, concentration, counter-trend losses).
For deeper post-trade analysis: start with review to find problem coins or windows → pull fills and orders for that period → pull candles and funding for each traded coin → judge decision quality separately from outcome quality.
bashpython3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ export BTC --interval 1h --hours 168 --output ./btc-1h-7d.json python3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ export BTC --interval 15m --hours 72 --end-time-ms 1760000000000
Output JSON contains: schema version, source metadata, exact time window, normalized candle rows, normalized funding rows, summary stats. Use --end-time-ms for reproducible windows.
return capped windows; iterate with later startTime values.
fills --hours ... uses userFillsByTime, which only exposes arecent rolling window — not full archive history.
historicalOrders returns recent orders only; not a full export.review command is heuristic. It cannot reconstruct intent,order placement quality, or true slippage from fills alone.
export command writes a normalized dataset, not a backtestengine. You still need your own slippage/fill model.
@107 are valid identifiers even when the UI showsa friendlier name.
l2 is a point-in-time snapshot, not a time series.bashpython3 ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \ markets --limit 5
Should print the top Hyperliquid perp markets by 24h notional volume.
Other measured skills in the registry, with their headline benchmark lift.