Hyperliquid

Open & Recent Orders

Returns a wallet's live resting orders (open — stops, take-profits, limits, with trigger type) plus its recent terminal orders (historical — filled / canceled / rejected). Use open for "is a stop set right now?" and historical for the set-then-cancelled timeline. Order side is in trade terms (buy/sell), not position terms — a sell stop protects a long; join to /hyperliquid/positions by symbol.

Sections are truncated to open_limit (default 500) / historical_limit (default 200) — open_total/historical_total carry the pre-truncation counts. Both sections mix PERP and SPOT orders — check market_type: spot orders carry raw spot-pair-index symbols (@107) that never join to /positions, /trades, or /fills (perp-only surfaces); filter market_type=perp for a perp working-orders panel.

historical is one row per order at its final status, newest first: the upstream feed is a status-transition stream (an order appears as open, then filled/canceled), so we collapse it to the latest status per order id and drop still-open orders (those are in the open section) — a passthrough would double-count ids and mislabel status. Status values pass through Hyperliquid's raw camelCase vocabulary: filled, canceled, plus reject variants like iocCancelRejected, badAloPxRejected, selfTradeCanceled, insufficientSpotBalanceRejected — treat any status other than filled/canceled as a rejection bucket. Derived from the most-recent ~2000 status updates.

The two sections fetch independently: a failed section is named in errors[] and the call still returns 200 (502 only if both fail).

get/gateway/v1/hyperliquid/orders

Query parameters

addressstring required

Wallet address: a 0x EVM address or an ENS name (e.g. vitalik.eth). Solana addresses are not supported.

Wallet address: a 0x EVM address or an ENS name (e.g. vitalik.eth). Solana addresses are not supported.

open_limitinteger

Max open orders returned (market makers can hold 1500+; open_total reports the pre-truncation count).

Max open orders returned (market makers can hold 1500+; open_total reports the pre-truncation count).

historical_limitinteger

Max terminal orders returned, newest first (the upstream feed holds ~1000 post-collapse; historical_total reports the pre-truncation count).

Max terminal orders returned, newest first (the upstream feed holds ~1000 post-collapse; historical_total reports the pre-truncation count).

Response

OK

$schemastring uri

A URL to the JSON Schema for this object.

Example response

{
  "$schema": "https://example.com/schemas/DataObjectResponseHyperliquidOrders.json"
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.