MCP.Market

hyperliquid skill

by NousResearch·NousResearch/hermes-agent·263k stars·MIT

Hyperliquid market data, account history, trade review.

A100/100content scan

Is the hyperliquid skill safe?

Clean: nothing in its files matched our rules. We read 2 files in the folder on 2026-10-25.

No findings.

Install the hyperliquid skill

A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.

git clone --depth 1 https://github.com/NousResearch/hermes-agent.git /tmp/hermes-agent
mkdir -p ~/.claude/skills
cp -r /tmp/hermes-agent/optional-skills/blockchain/hyperliquid ~/.claude/skills/hyperliquid
available in every project

In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub

The instructions your agent would load

SKILL.md as published, without the frontmatter. Read it on GitHub

Hyperliquid Skill

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).

When to Use

  • User asks for Hyperliquid perp or spot market data, candles, funding, or L2 book
  • User wants to inspect a wallet's perp positions, spot balances, fills, or orders
  • User wants a post-trade review combining recent fills with market context
  • User wants to inspect builder-deployed perp dexs or HIP-3 markets
  • User wants a normalized JSON export of candles + funding for backtesting prep

Prerequisites

Stdlib only — no external packages, no API key.

The script reads ${HERMES_HOME:-~/.hermes}/.env for two optional defaults:

https://api.hyperliquid-testnet.xyz for testnet.

  • HYPERLIQUIDAPIURL — defaults to https://api.hyperliquid.xyz. Set to

fills, orders, and review. If unset, pass the address as the first positional argument.

  • HYPERLIQUIDUSERADDRESS — default address for state, spot-balances,

A project .env in the current working directory is honored as a dev fallback.

Helper script: ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py

How to Run

Invoke through the terminal tool:

python ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py <command> [args]

Add --json to any command for machine-readable output.

Quick Reference

hyperliquid_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 HYPERLIQUIDUSERADDRESS is set in ${HERMES_HOME:-~/.hermes}/.env.

Procedure

1. Discover DEXs and Markets

python ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py dexs

python ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \
  markets --limit 15 --sort volume

python ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \
  spots --limit 15
  • --dex only applies to perp endpoints; omit for the first perp dex.
  • Spot pairs may show as PURR/USDC or aliases like @107.
  • HIP-3 markets prefix the coin with the dex, e.g. mydex:BTC.

2. Pull Historical Market Data

python ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \
  candles BTC --interval 1h --hours 72 --limit 48

python ~/.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).

3. Inspect Live Order Book

python ~/.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.

4. Review an Account

python ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \
  state 0xabc...

python ~/.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?".

5. Review Fills and Orders

python ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \
  fills 0xabc... --hours 72 --limit 25

python ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \
  orders --limit 25

6. Generate a Trade Review

python ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \
  review 0xabc... --hours 72 --fills 50

python ~/.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.

7. Export a Reusable Dataset

python ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \
  export BTC --interval 1h --hours 168 --output ./btc-1h-7d.json

python ~/.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.

Pitfalls

return capped windows; iterate with later startTime values.

  • Public info endpoints are rate-limited. Large historical queries may

recent rolling window — not full archive history.

  • fills --hours ... uses userFillsByTime, which only exposes a

order placement quality, or true slippage from fills alone.

  • historicalOrders returns recent orders only; not a full export.
  • The review command is heuristic. It cannot reconstruct intent,

engine. You still need your own slippage/fill model.

  • The export command writes a normalized dataset, not a backtest

a friendlier name.

  • Spot aliases like @107 are valid identifiers even when the UI shows
  • l2 is a point-in-time snapshot, not a time series.

Verification

python ~/.hermes/skills/blockchain/hyperliquid/scripts/hyperliquid_client.py \
  markets --limit 5

Should print the top Hyperliquid perp markets by 24h notional volume.

More skills from NousResearch/hermes-agent

  • A1passwordSet up op CLI, sign in, and read or inject secrets.
  • A3-statement-modelBuild integrated IS/BS/CF financial workbooks in Excel.
  • AaccelerateRun PyTorch training across GPUs with minimal changes.
  • Cactual-setupSet up Actual Computer (actual.inc) inference in Hermes.
  • Aadversarial-ux-testRoleplay a hostile user to find and triage UX pain points.
  • Aagent-merge-conflict-arbiterNeutral arbiter for merge conflicts between two agents.
  • AagentmailUse when an agent needs AgentMail CLI email inboxes.
  • Aai-presenter-videoMake a verified AI presenter video from script + image.
  • AairtableAirtable REST API via curl. Records CRUD, filters, upserts.
  • AanatomyExplain an idea as an interactive isometric machine figure.
  • Cantigravity-cliOperate the Antigravity CLI (agy): plugins, auth, sandbox.
  • Aapple-notesManage Apple Notes via memo CLI: create, search, edit.

All agent skills → · MCP servers