The GoldRush Hyperliquid Info API is a drop-in replacement forDocumentation Index
Fetch the complete documentation index at: https://goldrush.dev/docs/llms.txt
Use this file to discover all available pages before exploring further.
POST https://api.hyperliquid.xyz/info. The request body, the response shape, and the JSON keys are byte-for-byte identical to the public Hyperliquid API. The only differences are the URL and the authentication header.
Endpoint
Comparison with the public Hyperliquid API
| Public API | GoldRush | |
|---|---|---|
| URL | https://api.hyperliquid.xyz/info | https://hypercore.goldrushdata.com/info |
| Auth | None | Authorization: Bearer <key> |
| Rate limit | 1200 weight/min/IP | None |
| Orderbook latency target | p50: ~280 ms | p50: <150 ms |
| Wire compatibility | n/a (it’s the source) | Byte-for-byte |
| Available types | See Hyperliquid Docs | See Available types |
| Types not in public API | n/a | Batched user state, builder fills, liquidation feed, composites - see Roadmap |
| Unsupported types | n/a | Return {"error":"unsupported_type","type":"<x>"} instead of being forwarded |
Available types
The Info API ships today with seven types: five wire-compatible drop-ins covering the core “show me the market and my account” UX (including HIP-4 outcome metadata), plus two GoldRush-native batch endpoints with no upstream Hyperliquid equivalent.| Type | Body | Returns |
|---|---|---|
metaAndAssetCtxs | {"type": "metaAndAssetCtxs", "dex": ""} | Tuple [meta, assetCtxs[]] - perp universe + per-asset live mark price, funding, OI, day volume. |
outcomeMeta | {"type": "outcomeMeta"} | Active HIP-4 outcome universe - integer outcome IDs, names, structured descriptions, and sideSpecs (Yes / No). |
clearinghouseState | {"type": "clearinghouseState", "user": "0x…", "dex": ""} | Perp account: positions, margin summary, account value, withdrawable. |
spotClearinghouseState | {"type": "spotClearinghouseState", "user": "0x…", "dex": ""} | Spot balances per token, total USD value. |
frontendOpenOrders | {"type": "frontendOpenOrders", "user": "0x…", "dex": ""} | Open orders + trigger metadata (TP/SL, isPositionTpsl, reduceOnly, orderType). |
batchClearinghouseState | {"type": "batchClearinghouseState", "users": ["0x…", …], "dex": ""} | Array of clearinghouseState slots. GoldRush-native, 1 to 50 wallets per call. |
batchSpotClearinghouseState | {"type": "batchSpotClearinghouseState", "users": ["0x…", …]} | Array of spotClearinghouseState slots. GoldRush-native, 1 to 50 wallets per call. |
type that isn’t in the table above, the response body is {"error":"unsupported_type","type":"<the type you sent>"}. Requests are not forwarded to upstream Hyperliquid. Type expansion is tracked on the Roadmap.
See the Roadmap for what’s shipping next.
How clients see it
Existing Hyperliquid SDKs work unchanged after abaseUrl override. See SDK compatibility for nomeida/hyperliquid (JS) and hyperliquid-dex/hyperliquid-python-sdk setup snippets.
Errors
| Status | Body | Cause |
|---|---|---|
400 | {"error":"invalid request"} | Malformed body. |
400 | {"error":"unsupported_type","type":"<type>"} | The type field isn’t one of the natively-supported types. |
401 | {"error":"unauthorized"} | Missing or invalid Authorization header. |
5xx | Server error | Internal server error. |
Networks
Mainnet only. Testnet support is deferred.Next
Migration guide
Side-by-side examples - change one URL and one header.
SDK compatibility
Drop-in setup for
nomeida/hyperliquid and hyperliquid-python-sdk.Limits and caching
No rate limits - what to know about caching and recommended polling cadences.
API reference
Per-endpoint request and response schemas.