Hyperliquid

v1.0.0

Read-only Hyperliquid market data assistant (perps + spot optional) with support for natural-language requests and deterministic command parsing (terminal-style `hl ...` and slash-style `/hl ...`). Use to fetch quotes (mark/mid/oracle/funding/OI/volume), top movers, funding rankings, L2 order book, and candle snapshots via https://api.hyperliquid.xyz/info, and to format results for chat.

1· 2.9k·12 current·12 all-time
byThe Ton Le@k0nkupa
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, API client, and CLI/chat parser align: the code calls the Hyperliquid Info endpoint to fetch quotes, books, candles and read-only account views. No unrelated credentials or binaries are requested.
Instruction Scope
SKILL.md and scripts operate within the stated scope, but they do read/write a local config (~/.clawdbot/hyperliquid/config.json) to store account aliases and will POST user-supplied EVM addresses to the Hyperliquid info endpoint when doing account queries. This is expected for account lookups but is worth noting for privacy.
Install Mechanism
No install spec; instruction-only with bundled JS source. Nothing is downloaded from external URLs during install.
Credentials
The skill requires no env vars or credentials. The code supports optional env overrides (HYPERLIQUID_INFO_URL, HYPERLIQUID_TIMEOUT_MS, CLAWDBOT_HYPERLIQUID_CONFIG) but does not require them. Optional envs allow configuration but could redirect requests if set by the host.
Persistence & Privilege
always:false (not force-included). The skill persists only its own config file under the user's home directory (~/.clawdbot/hyperliquid/config.json). It does not alter other skills or system-wide agent settings.
Assessment
This skill appears to do exactly what it says: read-only market data and account lookups via the Hyperliquid Info POST API. Before installing, consider: 1) It will store any saved EVM addresses in plaintext under ~/.clawdbot/hyperliquid/config.json — don't store private keys or secrets there. 2) When you query positions/balances/orders/fills you are sending addresses to the remote endpoint (https://api.hyperliquid.xyz/info by default), which is expected but may be a privacy concern if you query identifying addresses. 3) The client allows overriding the endpoint via HYPERLIQUID_INFO_URL — ensure your runtime environment hasn't set this to an untrusted host (otherwise queries could be redirected). 4) If you want extra caution, inspect and run the included scripts locally (they are small JS files) or avoid saving sensitive addresses as aliases. Overall the skill is coherent and proportional to its stated purpose.

Like a lobster shell, security has layers — review code before you run it.

latestvk9799jm4zzfqv8kfcd08wenq497zzj3y
2.9kdownloads
1stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

Hyperliquid (read-only)

Implement read-only market-data queries for Hyperliquid using the Info HTTP endpoint:

  • POST https://api.hyperliquid.xyz/info
  • Content-Type: application/json

Prefer HTTP snapshot flows for v1. WebSocket streaming can be added later.

Supported user input styles

Treat these as equivalent:

  • Natural language: “Hyperliquid quote BTC”, “top movers 24h”, “book ETH”, “1h candles for SOL last 48”
  • Terminal style: hl quote BTC, hl movers --top 10 --window 24h
  • Slash style: /hl quote BTC, /hl overview

Parse /hl and hl first (deterministic). If no prefix, fall back to intent extraction from natural language.

Canonical commands (v1)

Market data:

  • quote <coin>: show mark/mid/oracle, 24h change (prevDayPx), 24h notional volume, open interest (perps), funding (perps), premium, impact prices
  • movers [--window 24h] [--top N]: rank by 24h % change (markPx vs prevDayPx)
  • funding-top|funding-bottom [--n N]: rank by funding (perps only)
  • book <coin>: show top 20 levels per side (and spread)
  • candles <coin> --interval <1m|...|1M> (--last N | --start <ms> --end <ms>)
  • overview: concise dashboard: top movers, top funding, top OI, top volume

Account (read-only):

  • positions <HL:0x..|0x..|label>: show perp positions + margin summary
  • balances <HL:0x..|0x..|label>: show spot balances
  • orders <HL:0x..|0x..|label>: show open orders
  • fills <HL:0x..|0x..|label> [--n N]: show recent fills

Saved account aliases (stored locally in ~/.clawdbot/hyperliquid/config.json):

  • account list
  • account add "sub account 1" HL:0x... [--default]
  • account remove "sub account 1"
  • account default "sub account 1"

Natural language equivalents should work too:

  • “store this address HL:0x... as sub account 1”
  • “show me positions of sub account 1”

Data sources

Perpetuals:

  • metaAndAssetCtxs (preferred): universe + asset contexts for all perps
  • l2Book
  • candleSnapshot

Spot (optional later):

  • spotMetaAndAssetCtxs, spotMeta

See references/hyperliquid-api.md for request bodies and field meanings.

Implementation guidance

Use the bundled scripts:

  • scripts/hyperliquid_api.mjs: thin HTTP client + helpers (safe defaults, timeouts)
  • scripts/hyperliquid_chat.mjs: parses user text into an intent + args, calls API helpers, and prints a compact chat-friendly response

When responding:

  • Prefer short bullet output.
  • Show units and timeframes.
  • Handle missing fields gracefully (e.g., midPx sometimes null).

Quick manual test

Run locally:

node skills/hyperliquid/scripts/hyperliquid_chat.mjs "hl quote BTC"
node skills/hyperliquid/scripts/hyperliquid_chat.mjs "/hl movers --top 5"

Comments

Loading comments...