Hyperliquid SPOT market data: 454 tokens, live prices, 24h volume, wallet balances. Native L1 DEX data, no CoinGecko. The spot data layer agents need for Hyperliquid trading.
Three tools with strong descriptions (194 - 250 chars, well above baseline 194 avg) and clear use-case guidance. All tools have proper JSON Schema with typed parameters and descriptions. Tool names follow verb_noun pattern (hyperliquid_get_*, hyperliquid_list_*). However, schemas lack explicit output documentation, parameter constraints are minimal (only 'search' and 'sort' have enums), and error handling guidance is absent. No tool annotations (readOnlyHint, destructiveHint) despite all being READ_ONLY. Descriptions include helpful 'Do NOT use for...' anti-patterns, which is excellent for disambiguation.
Use this when you need to check spot token balances for a specific wallet address on Hyperliquid L1 DEX. Returns all non-zero spot token holdings with available and held (in-order) amounts. Returns for each balance: 1. coin: token symbol 2. token: token index in spot registry 3. total: total balance (hold + available) as string 4. hold: amount currently held in open orders 5. available: amount available for trading or withdrawal 6. entryNtl: entry notional value in USDC Input: wallet address (0x... format, 42 characters). Example output: { address: "0xabc...", balances: [{ coin: "PURR", total: "15000", hold: "5000", available: "10000", entryNtl: "350.50" }], count: 3 } Use this to check what spot tokens a Hyperliquid wallet holds before executing trades or analyzing portfolios. Do NOT use for perps positions -- use hyperliquid_get_perp_positions instead. Do NOT use for cross-chain wallet balances -- use wallet_get_portfolio instead. Do NOT use for Hyperliquid vault balances -- use hyperliquid_get_vaults instead. Do NOT use for EVM token balances -- use token_get_balance instead.
Use this when you need live spot market data from Hyperliquid DEX: prices, 24h volume, and trading activity for all spot pairs. Returns merged token metadata + real-time market context for every active spot market. Returns for each market: 1. name: token name (e.g. "PURR/USDC") 2. coin: base token symbol 3. tokenId: unique token identifier 4. markPx: current mark/mid price in USDC 5. midPx: mid price between best bid and ask 6. prevDayPx: previous day closing price 7. dayNtlVlm: 24h notional volume in USDC 8. change24h: percentage price change over 24 hours Sortable by: "volume" (default, highest 24h volume first), "change" (biggest movers first), "name" (alphabetical). Example output: { markets: [{ name: "PURR/USDC", markPx: "0.0234", dayNtlVlm: "1250000", change24h: 5.32 }], count: 120 } Use this to find trending spot tokens, check current prices, or scan for high-volume trading opportunities on Hyperliquid. Do NOT use for perps/futures markets -- use hyperliquid_get_perp_markets instead. Do NOT use for CoinGecko prices -- use token_get_price instead. Do NOT use for funding rates -- use hyperliquid_get_funding_rates instead. Do NOT use for historical OHLCV candles -- use token_get_ohlcv instead.
Output schemas not documented. Tool descriptions mention return structure (e.g., 'Returns for each token: name, tokenId, index...') but no formal JSON Schema output definition is visible in the source. LLMs cannot plan downstream tool calls without knowing the exact response structure.
Missing tool annotations. All three tools are READ_ONLY (no side effects), but no readOnlyHint annotation is present in the tool definitions. This prevents agents from optimizing caching and retry strategies.
No error handling guidance. Descriptions do not explain what happens on invalid input (e.g., malformed address in hyperliquid_get_spot_balances, invalid sort enum). No recovery hints provided.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2025-06-18+ | v2 |
Use this when you need to list or search spot tokens available on Hyperliquid L1 DEX. Returns all 454 spot tokens with full metadata including token name, symbol, tokenId, index, decimals, and wei conversion factors. Returns for each token: 1. name: token display name (e.g. "PURR", "HFUN") 2. tokenId: unique hex token identifier on Hyperliquid 3. index: integer index in the spot meta registry 4. decimals: token decimal precision (szDecimals) 5. weiDecimals: wei-level decimal precision for raw amounts Optional filter: pass "search" to filter tokens by name/symbol substring match (case-insensitive). Returns all tokens if no search term provided. Example output: { tokens: [{ name: "PURR", tokenId: "0xc4bf3f...", index: 1, decimals: 0, weiDecimals: 8 }], count: 454 } Use this to discover which spot tokens exist on Hyperliquid before querying prices or balances. Essential for building trading interfaces or token lookups. Do NOT use for perps/futures data -- use hyperliquid_get_perp_markets instead. Do NOT use for token prices on CEX/CoinGecko -- use token_get_price instead. Do NOT use for wallet portfolio across chains -- use wallet_get_portfolio instead. Do NOT use for Hyperliquid vault data -- use hyperliquid_get_vaults instead.
Parameter 'address' in hyperliquid_get_spot_balances lacks format validation hint. Description says '42 characters' but no regex pattern or minLength/maxLength constraint is visible in the schema. LLMs may pass invalid addresses.
No pagination guidance. hyperliquid_list_spot_tokens returns 454 tokens and hyperliquid_get_spot_markets returns 120 markets. No limit/offset or cursor parameters visible. Large result sets risk context window exhaustion.