Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add galleonlabs/hypergrok-trading-desk --skill hyperliquid-api-referencegit clone --depth 1 https://github.com/galleonlabs/hypergrok-trading-deskWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/galleonlabs/hypergrok-trading-desk/hyperliquid-api-reference)<a href="https://agentmods.dev/skills/galleonlabs/hypergrok-trading-desk/hyperliquid-api-reference"><img src="https://agentmods.dev/badge/skills/galleonlabs/hypergrok-trading-desk/hyperliquid-api-reference.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00099 | $0.04187 |
| Opus 5 | $0.00049 | $0.02093 |
| Sonnet 5 | $0.00020 | $0.00837 |
| Haiku 4.5 | $0.00010 | $0.00419 |
Grade A, and why
hyperliquid-api-reference scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Hyperliquid API reference (desk edition)
Verified against the official docs on 2026-08-16. When in doubt, fetch the page: append .md to any docs URL for raw markdown, for example https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint.md.
Endpoints
| Mainnet | Testnet | |
|---|---|---|
| REST | https://api.hyperliquid.xyz |
https://api.hyperliquid-testnet.xyz |
| WebSocket | wss://api.hyperliquid.xyz/ws |
wss://api.hyperliquid-testnet.xyz/ws |
| HyperEVM RPC | https://rpc.hyperliquid.xyz/evm (chain 999) |
https://rpc.hyperliquid-testnet.xyz/evm (chain 998) |
POST /infobody{"type": "<request>", ...}, unsigned; response is the bare payload. Unknowntypeor missing field: HTTP 422; invalid JSON: HTTP 400.POST /exchangebody{"action": {...}, "nonce": <ms>, "signature": {"r","s","v"}, "vaultAddress"?: "0x...", "expiresAfter"?: <ms>}; response{"status":"ok","response":{"type":"order"|"cancel"|"default"|..., "data"?: {...}}}or{"status":"err","response":"<string>"}, both HTTP 200.- Header
Content-Type: application/json.
/info request types
| type | params | returns |
|---|---|---|
allMids |
dex? |
{coin: midPx} |
meta |
dex? |
{universe:[{name, szDecimals, maxLeverage, marginTableId?, onlyIsolated?, marginMode?, isDelisted?}], marginTables:[[id,{description, marginTiers:[{lowerBound, maxLeverage}]}]]} |
metaAndAssetCtxs |
dex? |
[meta, [{funding, openInterest, prevDayPx, dayNtlVlm, premium, oraclePx, markPx, midPx, impactPxs}]] |
spotMeta |
{tokens:[{name, szDecimals, weiDecimals, index, tokenId, ...}], universe:[{name, tokens:[base,quote], index}]} |
|
spotMetaAndAssetCtxs |
[spotMeta, [{dayNtlVlm, markPx, midPx, prevDayPx, circulatingSupply}]] |
|
l2Book |
coin, nSigFigs? (2-5), mantissa? (1,2,5) |
{coin, time, levels:[[{px,sz,n}...bids],[...asks]]} up to 20 a side |
recentTrades |
coin |
[{coin, side, px, sz, time, hash, tid}] |
candleSnapshot |
req:{coin, interval, startTime, endTime} |
[{t,T,s,i,o,c,h,l,v,n}], most recent 5000 only |
fundingHistory |
coin, startTime, endTime? |
[{coin, fundingRate (hourly), premium, time}] |
predictedFundings |
[[coin, [[venue, {fundingRate, nextFundingTime, fundingIntervalHours?}]]]]; venue is HlPerp, BinPerp or BybitPerp, payload null when unlisted there. Normalise by fundingIntervalHours (HlPerp 1; CEX venues 4 or 8 per coin), never by a fixed 8 |
|
perpsAtOpenInterestCap |
dex? |
[coin] |
perpDexs |
[null, {name, fullName, deployer, ...}] |
|
clearinghouseState |
user, dex? |
{assetPositions:[{type, position:{coin, szi, entryPx, leverage{type,value,rawUsd?}, liquidationPx, marginUsed, positionValue, unrealizedPnl, returnOnEquity, cumFunding, maxLeverage}}], marginSummary{accountValue,totalNtlPos,totalRawUsd,totalMarginUsed}, crossMarginSummary, crossMaintenanceMarginUsed, withdrawable, time} |
spotClearinghouseState |
user |
{balances:[{coin, token, hold, total, entryNtl}]} |
openOrders |
user, dex? |
[{coin, side (A/B), limitPx, sz, oid, timestamp}] |
frontendOpenOrders |
user, dex? |
adds origSz, cloid, orderType, tif, reduceOnly, isTrigger, triggerPx, triggerCondition, isPositionTpsl, children |
orderStatus |
user, oid (number or cloid hex) |
{status:"order", order:{order, status, statusTimestamp}} or {status:"unknownOid"} |
historicalOrders |
user |
[{order, status, statusTimestamp}] up to 2000 |
userFills |
user, aggregateByTime? |
[{coin, px, sz, side, time, startPosition, dir, closedPnl, hash, oid, crossed, fee, feeToken, builderFee?, tid, cloid?}] up to 2000 |
userFillsByTime |
user, startTime, endTime?, aggregateByTime? |
same, up to 2000 per call from the last 10000 |
userFunding |
user, startTime, endTime? |
[{time, hash, delta:{type:"funding", coin, usdc, szi, fundingRate, nSamples}}] |
userNonFundingLedgerUpdates |
user, startTime, endTime? |
deposits, withdrawals, transfers, liquidations, vault flows |
userTwapSliceFills |
user |
[{fill, twapId}] |
portfolio |
user |
[["day",{accountValueHistory, pnlHistory, vlm}], ["week",...], ["month",...], ["allTime",...], perp variants] |
userFees |
user |
{userCrossRate, userAddRate, userSpotCrossRate, userSpotAddRate, feeSchedule, activeReferralDiscount, activeStakingDiscount} |
userRateLimit |
user |
{cumVlm, nRequestsUsed, nRequestsCap, nRequestsSurplus} |
userRole |
user |
`{role: missing |
extraAgents |
user |
[{address, name, validUntil}] |
activeAssetData |
user, coin |
{leverage, maxTradeSzs:[buy,sell], availableToTrade:[buy,sell], markPx} |
maxBuilderFee |
user, builder |
integer (tenths of a bp) |
subAccounts |
user |
[{name, subAccountUser, master, clearinghouseState, spotState}] |
vaultDetails |
vaultAddress, user? |
vault info |
userVaultEquities |
user |
[{vaultAddress, equity}] |
referral, delegations, delegatorSummary, delegatorHistory, delegatorRewards, userAbstraction, borrowLendUserState, tokenDetails, spotDeployState, perpDexLimits, allPerpMetas |
niche; see docs |
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 143 lines · 99 tokens per session scan A cfda9ae4f9df
hyperliquid-api-reference is a skill published in the GitHub repository galleonlabs/hypergrok-trading-desk (55 stars, last pushed today), licensed MIT. It adds 99 tokens to every session and 4,187 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
ct-alpha
Crypto Twitter intelligence and alpha research. Search X/Twitter for real-time crypto narratives, trending tokens, yield strategies, smart money signals, and protocol research. Features TweetRank (PageRank-inspired credibility scoring), multi-signal token detection, coordinated raid detection, and dynamic tool…
hyperliquid
Use when backtesting, deploying, checking funding readiness, or debugging a Hyperliquid strategy through Superior Trade Unified API — writing Freqtrade configs and strategy code, running sweeps, checking managed-wallet balances, trading HIP-3 perps, or diagnosing a deployment that will not start or trade.
aerodrome
Use when creating, validating, backtesting, deploying, sizing, or troubleshooting Aerodrome/Base spot trading strategies through the Superior Trade API, especially Freqtrade configs using exchange.name "aerodrome", AERO/USDC or CHECK/USDC pairs, AMM market swaps, wallet/gas balance checks, no-orderbook pricing, or…
basis-arb
Use when the user asks for spot-perp basis trade, basis arbitrage, cash-and-carry, perp discount, or any setup that reads the spot–perp basis as a positioning signal. Long-perp leg only — pure two-leg basis arb requires a paired spot short (or long) which Freqtrade can't run cleanly. The strategy below captures the…
funding-squeeze
Use when writing a strategy that captures short-squeeze setups on Hyperliquid perps — squeeze, short squeeze fuel, negative funding rally, fade the shorts, paid to long. Goes long when funding APR is deeply negative and price is already rising, then exits on funding normalisation or a time stop. Reads squeeze fuel…
bollinger-reverter-4h
Use when writing a symmetric Bollinger-band mean-reversion strategy on the 4h timeframe — BB reverter, range trader, chop strategy, ADX<25 mean reversion, band-fade with a minimalroi ladder. Long-or-short on 2-sigma band touches with RSI confirmation. Validated on BTC/ETH/SOL/DOGE; numbers and the exact ROI ladder are…