data as generic objects, keep the envelope and metadata, inspect the current endpoint response, and avoid binding a fixed model from an example.
Examples show returned values; they are not the schema source. Use OpenAPI or Endpoint reference for exact types, then use this page to check envelope handling, request IDs, pagination, venue context, and parser boundaries.
Most market-data routes use this envelope:
L2 Order Book Snapshot
Request:px is the level price, sz is total size at that price, and n is the number of orders contributing to the level.
Trade List
Request:side uses venue side codes. Preserve direction, maker/taker fields, fees, cursor, and request ID when trades feed a backtest or risk view.
Empty Page With Cursor Exhausted
Some bounded historical requests can succeed with no returned rows. Treat an emptydata array as a valid response when success is true; the job decision should come from the requested window, data-quality state, and whether meta.next_cursor is present.
Funding, Open Interest, And Candles
Funding response:Liquidation Event
Hyperliquid Spot Trade
HYPE-USDC. Keep Spot routes separate from core perp symbols such as HYPE.
HIP-3 Builder Market Trade
km:. Do not strip the prefix when routing, storing rows, or comparing to Hyperliquid core symbols.
HIP-4 Outcome Book
mid_price and mark_price are probability-like values in [0, 1], not ordinary USD prices.
L4, L3, And Lifecycle Routes
The generated OpenAPI contract exposes several high-depth routes asdata: object[] because the records are route-specific:
| Route family | Example path | Parser rule |
|---|---|---|
| Hyperliquid L4 checkpoint | /v1/hyperliquid/orderbook/{symbol}/l4 | Preserve raw object fields, route, symbol, cursor, and request ID. |
| Hyperliquid L4 diffs | /v1/hyperliquid/orderbook/{symbol}/l4/diffs | Apply records in returned order and store sequence-like fields when present. |
| Hyperliquid order history | /v1/hyperliquid/orders/{symbol}/history | Keep status, side, price, size, order identifiers, timestamps, and request metadata when present. |
| Lighter L3 order book | /v1/lighter/l3orderbook/{symbol} | Treat L3 as individual-order depth, not an L2 price-level book. |
Lighter L3 Order Book
Request:data, not an array of books. Do not parse it as an aggregated L2 book, and keep the Lighter venue family attached to stored records.
Data Freshness
Request:Data-Quality Coverage Response
Request:success, data, or meta.request_id from coverage bodies that do not expose those fields.
Error Response
Request without an API key:Example Coverage Checklist
Use this checklist when adding or changing examples.| Coverage area | Required example behavior |
|---|---|
| Success envelope | Every successful JSON example includes success, data, and meta.request_id. |
| Error envelope | At least one failure example shows success: false, error.code, error.message, and meta.request_id. |
| Empty data | At least one successful empty array example shows count: 0 and next_cursor: null. |
| Venue semantics | Spot pairs, HIP-3 prefixes, HIP-4 outcome IDs, and Lighter symbols stay visibly distinct. |
| Data-quality coverage | Resource-specific coverage bodies do not have to use the ordinary market-data envelope. |
| Generic routes | L4, L3, lifecycle, and other generic object routes tell clients to inspect the endpoint response before binding fixed types. |
| Parser boundary | The page states that examples show returned values, while OpenAPI and Endpoint Reference remain the exact type source. |