Hyperliquid Reader
Alex YangCommunityCreated by Alex Yang
- Skill
- Tool integration
- Automation and integrations
- MIT
- Low risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
Hyperliquid-reader is a read-only tool that interfaces with the Hyperliquid public info API using opencli. It provides access to market data for perpetual and spot markets, including price information, funding rates, open interest, volume, L2 order books, and OHLCV candles. The skill also supports cross-venue funding comparisons between Hyperliquid, Binance, and Bybit to assist in identifying funding rate dislocations. It does not support account management, order placement, or fund transfers.
What it does
- Retrieves market data for Hyperliquid perp and spot pairs.
- Provides funding rate metrics including hourly rates and annualized APR.
- Fetches L2 order book snapshots and OHLCV candle data.
- Calculates cross-venue funding rate comparisons for arbitrage analysis.
- Supports multiple output formats including JSON, CSV, and Markdown for data processing.
When to use it
- When you need to analyze current market prices or 24h change for Hyperliquid assets.
- When researching funding rate carry or comparing funding across different exchanges.
- When you need to inspect the L2 order book or historical candle data for specific pairs.
- When you need to export market data into structured formats like JSON or CSV for further analysis.
Advantages
- Provides direct access to public Hyperliquid market data without requiring API keys or wallet authentication.
- Integrates with opencli for command-line accessibility.
- Supports structured data output for programmatic use.
- Includes specialized commands for comparing funding rates across multiple venues.
Usage examples
- “What is the current funding rate and open interest for BTC on Hyperliquid?”
- The agent executes the markets command filtered by BTC to return the mark price, funding APR, and open interest.
- “Compare the funding rates for SOL on Hyperliquid versus Binance.”
- The agent runs the funding-compare command for SOL to display the annualized funding spread between the two venues.
- “Get the last 50 1-hour candles for ETH.”
- The agent uses the candles command with the specified coin, interval, and limit to return the OHLCV data.
- “Show me the top 10 Hyperliquid perp markets sorted by volume.”
- The agent executes the markets command with sorting and limit flags to display the requested market table.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/himself65/hyperliquid-reader/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip hyperliquid-reader.zip -d .agents/skills
Documentation by Alex Yang
Hyperliquid Reader (Read-Only)
If your host has not already executed the shell probes below (for example, in Codex), run the commands inside the ! wrappers with its shell tool before choosing a setup path. Use the actual output; if shell access is unavailable, report that limitation.
Reads Hyperliquid — the on-chain perps/spot DEX — for market data via opencli and the hyperliquid plugin in this repo's opencli-plugins/hyperliquid tree (a separate plugin from opencli's built-in adapters, installed via opencli's monorepo subpath syntax).
This skill is read-only and market-data only. It reads Hyperliquid's fully public info API for analysis: market tables, funding, order book, and candles. It does NOT read individual accounts, place/modify/cancel orders, or move funds. There is no trading path in the plugin — order placement requires wallet-signed actions on a separate endpoint this adapter never calls.
How it works: every command issues a single POST https://api.hyperliquid.xyz/info with a { "type": "..." } body and normalizes the response. No API key, no wallet, no login, no running app — the info API is public.
Step 1: Ensure opencli + Plugin Are Installed and Ready
Current environment status:
!`(command -v opencli && opencli hyperliquid markets --coin BTC -f json 2>&1 | head -3 && echo "READY" || echo "SETUP_NEEDED") 2>/dev/null || echo "NOT_INSTALLED"`If the status above shows READY, skip to Step 2. Otherwise:
NOT_INSTALLED — Install opencli
npm install -g @jackwener/opencliRequires Node.js >= 24 — the hyperliquid plugin declares engines.node >= 24.
SETUP_NEEDED — Install the Hyperliquid plugin
The Hyperliquid adapter is not built into opencli — it's a separate plugin:
opencli plugin install github:himself65/finance-skills/hyperliquidThat's the entire setup — no auth, no launch step. Verify with opencli hyperliquid markets --coin BTC.
Common setup issues
| Symptom | Fix |
|---|---|
opencli: command not found | npm install -g @jackwener/opencli (Node ≥ 24) |
Unknown command: hyperliquid | opencli plugin install github:himself65/finance-skills/hyperliquid |
hyperliquid info 429 | Rate limited — wait a few seconds and retry |
Step 2: Identify What the User Needs
| User Request | Command | Key Flags |
|---|---|---|
| Perp markets overview / top by volume | opencli hyperliquid markets | --sort, --limit, --coin |
| One perp's price + funding + OI | opencli hyperliquid markets --coin BTC | — |
| Spot pairs overview | opencli hyperliquid spot-markets | --sort, --limit, --pair, --canonical-only |
| All current mid prices | opencli hyperliquid mids | --coin <substring> |
| Order book for a coin | opencli hyperliquid book --coin ETH | --depth, --n-sig-figs |
| OHLCV candles | opencli hyperliquid candles --coin BTC --interval 1h | --limit |
| Historical funding for a coin | opencli hyperliquid funding-history --coin BTC | --hours, --limit |
| Funding arb: HL vs Binance vs Bybit | opencli hyperliquid funding-compare | --coin, --sort, --limit |
Step 3: Execute the Command
General pattern
# Use -f json or -f yaml for structured output
opencli hyperliquid markets --sort fundingAprPct --limit 15 -f json
opencli hyperliquid funding-compare --sort hlVsBinancePct --limit 20 -f md
opencli hyperliquid candles --coin BTC --interval 4h --limit 50 -f csv
opencli hyperliquid book --coin ETH --depth 5 -f jsonKey rules
Coin symbols are bare perp names —
BTC,ETH,SOL,HYPE(no exchange prefix). Spot pairs areBASE/USDC(e.g.PURR/USDC); forbook/candlesyou can pass either a perp coin or a spot pair.marketsis the default lens for "how is X / the market doing" — it carries mark/oracle/mid price, 24h change, hourly funding + APR, open interest (coins and notional), and 24h volume in one row per perp. Filter with--coinfor a single asset.Funding is reported two ways —
fundingHrPctis the raw hourly rate as a percent;fundingAprPctannualizes it (hourly × 24 × 365). Lead with APR when comparing carry across assets; use the hourly figure for "what will I pay next hour".funding-compareis the funding-arb screen — it annualizes each venue with its own interval (HL hourly, Binance/Bybit usually 4h) and reportshlVsBinancePct/hlVsBybitPctspreads. Default sort ranks by absolute HL-vs-Binance spread (widest dislocations first). A positivehlVsBinancePctmeans HL longs pay more than Binance longs.bookdefaults to 10 levels per side — raise--depth(max 20) for more, or--n-sig-figs 2..5to aggregate price levels. Compute the spread/mid from the top bid and ask.candlespulls the most recent--limitcandles of--interval(default1h, 100 candles). Valid intervals:1m 3m 5m 15m 30m 1h 2h 4h 8h 12h 1d 3d 1w 1M. Max 5000.-f jsonfor programmatic processing / feeding other skills;-f mdor-f tablefor human-readable output.Read-only market data. No account reads, no order placement, modification, or cancellation, and no transfers — the plugin intentionally exposes no write endpoints, so don't look for workarounds.
Output format flag (-f)
| Format | Flag | Best for |
|---|---|---|
| Table | -f table (default) | Human-readable terminal output |
| JSON | -f json | Programmatic processing, LLM context |
| YAML | -f yaml | Structured, readable |
| Markdown | -f md | Reports |
| CSV | -f csv | Spreadsheet export |
Output columns
markets—coin,markPx,midPx,oraclePx,change24hPct,fundingHrPct,fundingAprPct,openInterest,oiNotional,dayNtlVlm,premiumPct,maxLeveragespot-markets—pair,base,markPx,midPx,change24hPct,dayNtlVlm,circulatingSupply,marketCap,canonicalmids—coin,midbook—side,level,px,sz,orderscandles—time,open,high,low,close,volume,tradesfunding-history—coin,fundingRatePct,fundingAprPct,premiumPct,timefunding-compare—coin,hlAprPct,binanceAprPct,bybitAprPct,hlVsBinancePct,hlVsBybitPct,nextHlFunding
Step 4: Present the Results
Lead with the headline number, then the table. For
markets --coin BTC: state mark price, 24h change, funding APR, and open interest in prose first. For a fullmarketsdump: lead with the count and the top movers / highest-funding names.Frame funding in carry terms — e.g. "BTC perp funding is +10.9% APR (longs pay shorts)". Positive funding ⇒ longs pay shorts; negative ⇒ shorts pay longs.
For
funding-compare, surface the widest dislocations first — name the coin, both venues' APRs, and the spread, and remember the spread is annualized; a real arb also pays exchange/withdrawal frictions, so present it as a screen, not a guaranteed edge.For
book, report the spread — best bid, best ask, mid, and spread in bps before (or instead of) dumping every level. Don't paste 20 levels unless asked.For
candles, describe the move — first/last close, high/low, and direction; only show the full OHLCV table when the user wants the series.Filter aggressively before showing —
marketshas ~180 perps andmids~700 markets; cap to top 15-20 by the relevant sort unless the user asks for the full list.Cross-reference for trade decisions — Hyperliquid is the on-chain venue; for equities/options context pair it with the
tradingview-readerskill. For funding/basis trades,funding-compareplusmarkets(premium, OI) is the core view.
Step 5: Diagnostics
opencli hyperliquid markets --coin BTCA successful BTC row confirms opencli, the plugin, and the public API are all reachable. If it errors with Unknown command: hyperliquid, reinstall the plugin (Step 1). A hyperliquid info 4xx/5xx is an upstream API issue — retry after a short wait.
Error Reference
| Error | Cause | Fix |
|---|---|---|
Unknown command: hyperliquid | Plugin not installed | opencli plugin install github:himself65/finance-skills/hyperliquid |
hyperliquid info 429 | Rate limited | Wait a few seconds, then retry |
hyperliquid info 422/500 | Malformed body or upstream issue | Re-check the coin/interval; retry after a wait |
No perp market for coin "X" | Wrong/unlisted symbol | Run opencli hyperliquid markets (or mids) to find the exact symbol |
Reference Files
references/commands.md— Every command with all flags, output schemas, and analyst workflows (funding carry, basis/arb, spot snapshot)
Files
- ATTRIBUTION.mdAdded by AutoGineer896 B
- LICENSELicence file added by AutoGineer1.0 KiB
- README.md2.7 KiB
- SKILL.md9.4 KiB
- references/commands.md6.6 KiB
references/commands.md
Hyperliquid Reader — Command Reference
Every command issues a single POST https://api.hyperliquid.xyz/info and prints normalized rows. All are read-only market data, need no auth, and accept -f json|yaml|md|csv|table.
Symbols: perps are bare names (
BTC,ETH,HYPE); spot pairs areBASE/USDC(PURR/USDC).bookandcandlesaccept either.
Market data
markets — perpetual markets table
metaAndAssetCtxs → one row per perp.
| Flag | Default | Notes |
|---|---|---|
--coin | (all) | Filter to one coin (exact, case-insensitive) |
--sort | dayNtlVlm | One of dayNtlVlm, change24hPct, fundingAprPct, fundingHrPct, openInterest, oiNotional, markPx, coin (desc; coin asc). null sorts last |
--limit | (all) | Max rows after sort |
--include-delisted | false | Include delisted markets |
Columns: coin, markPx, midPx, oraclePx, change24hPct, fundingHrPct, fundingAprPct, openInterest, oiNotional, dayNtlVlm, premiumPct, maxLeverage.
fundingHrPct— raw hourly funding rate as a percent.fundingAprPct—hourly × 24 × 365(annualized).openInterest— in coins;oiNotional—openInterest × markPx(USD).premiumPct— perp premium/discount vs oracle (mark-implied).
opencli hyperliquid markets --sort dayNtlVlm --limit 15
opencli hyperliquid markets --coin HYPE -f json
opencli hyperliquid markets --sort fundingAprPct --limit 20 # highest carryspot-markets — spot pairs table
spotMetaAndAssetCtxs → one row per spot pair.
| Flag | Default | Notes |
|---|---|---|
--pair | (all) | Filter by pair or base token (e.g. PURR or PURR/USDC) |
--sort | dayNtlVlm | One of dayNtlVlm, change24hPct, marketCap, markPx, pair |
--limit | (all) | Max rows after sort |
--canonical-only | false | Only named pairs (hide @index pairs) |
Columns: pair, base, markPx, midPx, change24hPct, dayNtlVlm, circulatingSupply, marketCap, canonical.
opencli hyperliquid spot-markets --canonical-only --sort dayNtlVlm --limit 20
opencli hyperliquid spot-markets --pair PURR -f jsonmids — all mid prices
allMids (+ spotMeta to resolve names) → coin, mid for every market.
| Flag | Default | Notes |
|---|---|---|
--coin | (all) | Case-insensitive substring filter |
Non-canonical spot keys (@<index>) resolve to BASE/QUOTE; perp names and canonical pairs pass through; builder perp-dex keys (#<n>) are shown as-is.
opencli hyperliquid mids --coin BTC # BTC, plus any pair containing "BTC"
opencli hyperliquid mids -f json | jq '.[] | select(.coin=="ETH")'book — L2 order book snapshot
l2Book → up to --depth levels per side, bids first then asks.
| Flag | Default | Notes |
|---|---|---|
--coin | (required) | Coin or spot pair |
--depth | 10 | Levels per side (1-20) |
--n-sig-figs | (full) | Price aggregation, 2-5 |
Columns: side (bid/ask), level, px, sz, orders.
Spread = best ask − best bid; mid = their average. Top-of-book is level: 1 on each side.
opencli hyperliquid book --coin ETH --depth 5
opencli hyperliquid book --coin BTC --n-sig-figs 3 -f jsoncandles — OHLCV history
candleSnapshot → most recent --limit candles of --interval.
| Flag | Default | Notes |
|---|---|---|
--coin | (required) | Coin or spot pair |
--interval | 1h | 1m 3m 5m 15m 30m 1h 2h 4h 8h 12h 1d 3d 1w 1M |
--limit | 100 | Number of candles (max 5000) |
Columns: time (ISO, candle open), open, high, low, close, volume, trades.
opencli hyperliquid candles --coin BTC --interval 4h --limit 60
opencli hyperliquid candles --coin SOL --interval 1d --limit 30 -f csvfunding-history — historical funding for a coin
fundingHistory → hourly prints within the lookback window, newest first.
| Flag | Default | Notes |
|---|---|---|
--coin | (required) | Coin (e.g. BTC) |
--hours | 24 | Lookback window in hours |
--limit | (all) | Cap to most recent N |
Columns: coin, fundingRatePct, fundingAprPct, premiumPct, time.
opencli hyperliquid funding-history --coin BTC --hours 72
opencli hyperliquid funding-history --coin ETH --hours 168 --limit 24 -f jsonfunding-compare — cross-venue funding (arb screen)
predictedFundings → per coin, each venue's predicted funding annualized to APR, plus HL-vs-venue spreads.
| Flag | Default | Notes |
|---|---|---|
--coin | (all) | Filter to one coin (exact) |
--sort | hlVsBinancePct | hlVsBinancePct, hlVsBybitPct (by absolute spread), or hlAprPct, binanceAprPct, bybitAprPct, coin (signed) |
--limit | (all) | Max rows after sort |
Columns: coin, hlAprPct, binanceAprPct, bybitAprPct, hlVsBinancePct, hlVsBybitPct, nextHlFunding.
Each venue is annualized with its own interval (HL hourly, Binance/Bybit usually 4h). hlVsBinancePct = hlAprPct − binanceAprPct; positive ⇒ HL longs pay more. Default sort surfaces the widest dislocations first. Treat as a screen — a real arb also pays exchange and transfer frictions.
opencli hyperliquid funding-compare --limit 20 # widest HL/Binance gaps
opencli hyperliquid funding-compare --coin BTC -f json
opencli hyperliquid funding-compare --sort hlAprPct --limit 15 # highest HL carryAnalyst workflows
Funding carry scan
markets --sort fundingAprPct --limit 20— highest (and, reversed mentally, lowest) annualized funding.funding-history --coin <X> --hours 168— confirm the rate is persistent, not a one-hour spike.markets --coin <X>— check open interest and premium to size whether the carry is tradeable.
Cross-venue funding arbitrage
funding-compare --limit 25— widest HL-vs-Binance/Bybit dislocations.For a candidate
<X>:funding-compare --coin <X>for all three venues' APRs and the next HL funding time.book --coin <X>andmarkets --coin <X>— verify depth and OI can support the size before treating the spread as real (it's annualized and ignores frictions).
Basis / premium check
markets --coin <X>—premiumPctshows perp rich/cheap vs oracle;markPxvsoraclePxis the absolute basis.candles --coin <X> --interval 1h— recent price action around the basis.
Spot token snapshot
spot-markets --canonical-only --sort dayNtlVlm— most active named pairs.spot-markets --pair <BASE>— price, 24h change, market cap for one token.book --coin <BASE>/USDC— liquidity at top of book.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs an API key, Needs Node.js
Security
What our scanner noticed· Low risk
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Alex Yang
- Publisher
- Alex Yang (Community)
- Source
- himself65/finance-skills · plugins/data-providers/skills/hyperliquid-reader · commit a085078
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Alex Yang or Alex Yang.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download hyperliquid-reader.zip