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.
Twenty-three type values are supported today across market metadata, user state, user history, vaults, and staking - plus two GoldRush-native batch endpoints with no upstream equivalent.
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 |
| Unsupported types | n/a | Return {"error":"unsupported_type","type":"<x>"} instead of being forwarded |
Available types
The Info API supports the wire-compatible drop-in types below, organized by what they return. Two GoldRush-native batch endpoints (batchClearinghouseState, batchSpotClearinghouseState) have no upstream Hyperliquid equivalent.
Market metadata
| Type | Body | Returns |
|---|---|---|
metaAndAssetCtxs | {"type": "metaAndAssetCtxs", "dex": ""} | Tuple [meta, assetCtxs[]] - perp universe + per-asset live mark price, funding, OI, day volume. |
meta | {"type": "meta", "dex": ""} | Perp universe metadata only - size decimals, max leverage, margin tiers. No live context. |
spotMetaAndAssetCtxs | {"type": "spotMetaAndAssetCtxs"} | Tuple [spotMeta, assetCtxs[]] - spot universe + per-pair live mark price, mid, day volume. |
spotMeta | {"type": "spotMeta"} | Spot universe metadata only - pairs and the full token registry. No live context. |
outcomeMeta | {"type": "outcomeMeta"} | Active HIP-4 outcome universe - integer outcome IDs, names, structured descriptions, and sideSpecs (Yes / No). |
l2Book | {"type": "l2Book", "coin": "BTC"} | Aggregated Level-2 order book snapshot for one coin - bids and asks as {px, sz, n} levels. |
candleSnapshot | {"type": "candleSnapshot", "req": {"coin": "BTC", "interval": "1h", "startTime": …}} | Historical OHLCV candles for a coin and interval over a time window. |
fundingHistory | {"type": "fundingHistory", "coin": "BTC", "startTime": …} | Market-wide historical funding rates and premiums for a coin over a time window. |
User account state
| Type | Body | Returns |
|---|---|---|
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). |
subAccounts | {"type": "subAccounts", "user": "0x…"} | List of sub-accounts owned by a master, each with its inlined perp and spot state. |
User history
| Type | Body | Returns |
|---|---|---|
userFills | {"type": "userFills", "user": "0x…"} | Most recent fills for a wallet (up to 2,000). |
userFillsByTime | {"type": "userFillsByTime", "user": "0x…", "startTime": …} | Fills bounded by a time window. |
userTwapSliceFills | {"type": "userTwapSliceFills", "user": "0x…"} | Most recent TWAP slice fills, each tagged with the parent twapId. |
userFunding | {"type": "userFunding", "user": "0x…", "startTime": …} | Funding payment history with rate, applied size, and USDC delta per event. |
userNonFundingLedgerUpdates | {"type": "userNonFundingLedgerUpdates", "user": "0x…", "startTime": …} | Ledger events except funding - deposits, withdrawals, transfers, vault flows, liquidations. |
Vaults & staking
| Type | Body | Returns |
|---|---|---|
userVaultEquities | {"type": "userVaultEquities", "user": "0x…"} | Per-vault locked equity with unlock timestamps. |
delegatorSummary | {"type": "delegatorSummary", "user": "0x…"} | Current delegated, undelegated, and pending-withdrawal HYPE totals. |
delegatorHistory | {"type": "delegatorHistory", "user": "0x…"} | Delegate, undelegate, deposit, and withdrawal staking events. |
delegatorRewards | {"type": "delegatorRewards", "user": "0x…"} | Accrued staking rewards (delegation and validator commission). |
GoldRush-native batch
| Type | Body | Returns |
|---|---|---|
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.
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. |
429 | n/a | Not returned. GoldRush has no per-IP rate limit on /info - any retry logic you carried over from api.hyperliquid.xyz can stay in place but won’t fire. |
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.