Skip to main content
Source OpenAPI: 0xArchive API 1.10.0; 240 paths; 241 component schemas. Get every listed Hyperliquid core perp over a trailing window in one response: open interest and mark at the window’s start and end, taker buy and sell notional, long and short liquidations, and the market’s typical move over windows of the same length, so Hyperliquid core markets can be ranked or grouped by positioning without a history read per market. Included with the Build, Pro, Scale and Enterprise plans. A key on another plan receives 403 forbidden naming the dataset, the plans that include it and where to upgrade, and is not charged. Window: window is required: 1h, 4h or 24h. The window is [window_start, window_end) and ends at the newest 5-minute boundary at least 4 minutes old; meta.as_of names it. Shortly after a new boundary a response can still describe the previous one while the next is prepared, so compare meta.as_of across responses. Current window only: history is not served, and every parameter other than window is refused with 400 invalid_parameter naming it. Records: one per market, sorted by symbol, not paged. oi_start and mark_start are the 5-minute readings of the bucket before the window, oi_end and mark_end those of its last bucket; each is null, never 0, when its bucket has no reading. typical_price, typical_oi and typical_flow are the median absolute move over every window of the same length sliding by 5 minutes through the last 2,000 five-minute buckets (about 6.9 days); under 288 counted windows they are null. If the cross-section is still being prepared, the route answers 503 upstream_unavailable with Retry-After. Credits: 1 credit per request.

Route Metadata

Human endpoint reference

Open GET /v1/hyperliquid/positioning for authentication, parameters, responses, and examples.

Implementation context

Request Parameters

Query Parameters

Header Parameters

Response Contracts

Status 200

One positioning record per listed perp

application/json

Status 400

Invalid request: a parameter, symbol, interval, cursor or time range failed validation. See error_code.

application/json

OpenAPI example: current_main
OpenAPI example: invalid_parameter
OpenAPI example: invalid_symbol
OpenAPI example: invalid_time_range
OpenAPI example: legacy_invalid_query_params

Status 401

Authentication required: the API key is missing or invalid.

application/json

OpenAPI example

Status 403

The dataset is not included with the key’s plan. The body names the datatype, the plans that include it and where to upgrade. A refused request is not charged.

application/json

OpenAPI example: forbidden

Status 429

Rate limit, concurrency limit or monthly credits exceeded. See error_code.

application/json

OpenAPI example: insufficient_credits
OpenAPI example: rate_limited

Status default

Any other error. The body is an ErrorResponse; branch on error_code. A 503 (upstream_unavailable) carries Retry-After.

application/json

OpenAPI example: internal_error
OpenAPI example: upstream_unavailable
Last modified on November 4, 2026