Documentation Index
Fetch the complete documentation index at: https://mathematicalcompany.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Partially verified. As of v0.8.7+, the critical signing issues from the
earlier audit (msgpack key ordering, cloid format, spot asset offset, error
handling, cancel-by-cloid action type) are fixed. Order submission and cancel
should now work end-to-end. Has not been tested against a live Hyperliquid
account with real funds, so verify the behavior matches expectations before
deploying significant size.
Quick Setup
Credentials
- Explicit
- Environment variables
Hyperliquid Configuration
| Field | Default | Description |
|---|---|---|
private_key | None | EVM private key, 0x-prefixed hex (env: HYPERLIQUID_PRIVATE_KEY) |
testnet | False | Use testnet endpoint |
api_url | auto | Override API URL (auto-selects mainnet/testnet) |
vault_address | None | Vault address for sub-account trading (env: HYPERLIQUID_VAULT_ADDRESS) |
Authentication
Hyperliquid uses EIP-712 wallet signing — no API key/secret needed, just a private key. Every write operation is signed with the wallet’s secp256k1 key using a Hyperliquid-specific EIP-712 domain:- Domain:
{name: "Exchange", version: "1", chainId: 1337, verifyingContract: 0x0} - Type:
Agent(address source, bytes32 connectionId) - Source:
keccak256("a")(mainnet) orkeccak256("b")(testnet)
POST /info— all read operations (metadata, fills, positions, prices)POST /exchange— all write operations (orders, cancels) with EIP-712 signature
Symbol Mapping
Hyperliquid identifies assets by integer indices, not ticker symbols. The SDK resolves symbols automatically via metadata on first use:| Asset Type | Index Range | Examples |
|---|---|---|
| Perpetuals | 0–9999 | BTC=0, ETH=1, SOL=2 |
| Spot | ≥10000 | Spot tokens |
| Horizon Field | Hyperliquid Field | Notes |
|---|---|---|
OrderRequest.market_id | coin | Resolved to asset index internally |
OrderRequest.order_side | is_buy | true for buy, false for sell |
OrderRequest.price | limit_px | Sent as string with 5 sig figs |
OrderRequest.size | sz | Sent as string with 5 sig figs |
Market Orders
Hyperliquid has no native market order type. The SDK implements market orders as aggressive limit IOC with 5% slippage:- Fetch current mid price via
allMids - Place limit IOC at
mid × 1.05(buy) ormid × 0.95(sell) - Unfilled portion is immediately canceled (IOC behavior)
Hyperliquid uses
Side.Long for all positions — perps and spot. Prediction market concepts like Side.Yes / Side.No do not apply.Vault Trading
For sub-account (vault) trading, specify a vault address:Testnet
https://api.hyperliquid-testnet.xyz automatically. Get testnet funds from the Hyperliquid testnet faucet.
Multi-Exchange
Use Hyperliquid alongside other exchanges:Getting Started
- Generate or use an existing EVM private key
- Fund your Hyperliquid account by depositing USDC via the Hyperliquid bridge
- Set the environment variable or pass directly:
- Start trading: