> ## Documentation Index
> Fetch the complete documentation index at: https://docs.0xarchive.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Venue coverage

> Which data types each Hyperliquid and Lighter market type serves, the first served time of each, and how to check one market before a job.

See which data types each market type serves and from when, then confirm the exact market and window before a backtest, export or dashboard depends on it.

0xArchive covers two venues: Hyperliquid and Lighter. Hyperliquid includes core perpetuals, Spot, HIP-3 builder perpetuals, and HIP-4 outcomes. Lighter has two deployments: mainnet and Robinhood Chain. The namespace and symbol format for each market type are on [Venues and market types](/core-concepts/venue-taxonomy). For an overview of each venue, see [Hyperliquid data](https://0xarchive.io/hyperliquid) or [Lighter data](https://0xarchive.io/lighter).

## Check one market before a job

The tables below give each market type's first served time. A single market can start later, because markets list on their own dates. Four calls confirm the exact market, data type and window.

<Steps>
  <Step title="Find the market">
    ```bash theme={"theme":"github-dark"}
    curl -sS "https://api.0xarchive.io/v1/symbols"
    ```

    Find the row whose `exchange` and `symbol` match the requested market. Keep the exact spelling, pair separator, builder prefix, outcome identity, and `slug` when present. If no row matches, stop and keep the supplied identity rather than substituting another ticker.
  </Step>

  <Step title="Read the data type's own start">
    Read the row's `coverage_by_type` for the data type you need. The row's top-level `coverage_from` and the tables below do not set the start for every data type, and a data type missing from `coverage_by_type` cannot be inferred from a neighbouring one.
  </Step>

  <Step title="Call the route for a bounded window">
    This example asks for the five minutes of BTC trades that ended one hour ago, a window every plan's history reaches, including Free's most recent 30 days:

    ```bash theme={"theme":"github-dark"}
    END=$(( ($(date +%s) - 3600) * 1000 ))   # one hour ago, in Unix milliseconds
    START=$(( END - 5 * 60 * 1000 ))         # five minutes earlier

    curl -sS "https://api.0xarchive.io/v1/hyperliquid/trades/BTC?start=$START&end=$END&limit=1000" \
      -H "X-API-Key: $OXARCHIVE_API_KEY"
    ```

    Keep the route, query, and `meta.request_id` with the result. An empty response is a result to record, not a reason to try another symbol. To page through a longer window, follow [Pull historical market data](/guides/historical-market-data).
  </Step>

  <Step title="Check quality for the same window">
    Check the same market, data type and window with `/v1/data-quality/coverage/{exchange}/{symbol}` and the freshness route before using the response downstream. See [Data quality](/data-quality).
  </Step>
</Steps>

`/v1/status/coverage` is a coarse public summary. For one market and data type, `/v1/symbols` `coverage_by_type` gives the start, and `/v1/data-quality/coverage/{exchange}/{symbol}` gives windows, gaps, and empirical cadence.

## Data types by market type

Each row lists the market types with a REST endpoint for that data type, as `GET /v1/capabilities` reports them. [Capabilities](/capabilities) adds the routes, WebSocket channels, and live and replay availability. A listed market type does not guarantee every market, the same start for every symbol, or freshness.

| Data type | Served on |
| - | - |
| [Native L2 order book snapshot and history](/rest-api/order-books-l2) | Hyperliquid core, Spot, HIP-3, HIP-4<br />Lighter mainnet, Lighter on Robinhood Chain |
| [Full-depth aggregated L2 from L4](/rest-api/order-books-l2) | Hyperliquid core, HIP-3 |
| [L3 individual-order book snapshot and history](/rest-api/order-books-l3) | Lighter mainnet |
| [Hyperliquid L4 resting-order depth](/rest-api/order-books-l4) | Hyperliquid core, Spot, HIP-3, HIP-4 |
| [Hyperliquid L4 ordered diffs and history](/rest-api/order-books-l4) | Hyperliquid core, Spot, HIP-3, HIP-4 |
| [Trades](/rest-api/trades) | Hyperliquid core, Spot, HIP-3, HIP-4<br />Lighter mainnet, Lighter on Robinhood Chain |
| [Candles](/rest-api/candles) | Hyperliquid core, Spot, HIP-3, HIP-4<br />Lighter mainnet, Lighter on Robinhood Chain |
| [Funding](/rest-api/funding) | Hyperliquid core, HIP-3<br />Lighter mainnet, Lighter on Robinhood Chain |
| [Open interest](/rest-api/open-interest) | Hyperliquid core, HIP-3, HIP-4<br />Lighter mainnet, Lighter on Robinhood Chain |
| [Liquidations](/rest-api/liquidations) | Hyperliquid core, HIP-3<br />Lighter mainnet, Lighter on Robinhood Chain |
| [Order flow](/rest-api/order-flow) | Hyperliquid core, HIP-3, HIP-4 |
| [Order history](/rest-api/order-history) | Hyperliquid core, Spot, HIP-3, HIP-4 |
| [Take profits and stop losses](/rest-api/tpsl) | Hyperliquid core, HIP-3, HIP-4 |
| TWAP orders | Hyperliquid core, Spot, HIP-3, HIP-4 |
| [Account positions](/rest-api/positions) | Hyperliquid core, HIP-3<br />Lighter mainnet, Lighter on Robinhood Chain |

Live streams and replay have their own availability, listed on [WebSocket channels](/websocket/channels#channel-reference), and file exports list theirs on [Exports](/exports#coverage).

TWAP order routes are served under each Hyperliquid namespace as `/twap/{symbol}` and `/twap/user/{user}`. Lighter funding records are returnable on both deployments; retrieve current funding separately for each venue and keep each source's units and timestamp. On Lighter on Robinhood Chain, funding, open interest, and liquidations exist for perpetual markets only.

Hyperliquid L4 resting-order depth is a separate data type from native L2. Its checkpoint, ordered diff, and history routes are separate from order-history and order-flow lifecycle routes. Lighter exposes tick-level L3 individual-order depth from March 5, 2026, capped at 250 orders per side per tick. Lighter has no L4 route, and Lighter on Robinhood Chain has no L3 route.

Native Hyperliquid core, HIP-3, and HIP-4 L2 routes return at most 20 levels per side. Spot native L2 and Lighter native L2 have their own depth parameters; check their operation pages rather than applying the 20-level rule.

Lighter mainnet markets span crypto, equities and indices, FX, commodities, and pre-IPO markets; [public symbol discovery](https://api.0xarchive.io/v1/symbols) lists them, and the [Data Catalog](/data-catalog) groups them by category.

Your plan does not change which data types or depths you can request. Plans set request rate, concurrency, standard replay speed, credits, export capacity, and Free's rolling 30-day history window; see [Rate limits](/rate-limits). A capacity limit can delay or narrow a job; it does not mean the dataset is absent. Build and above keep the full retained archive.

## History by data type

Each table gives the first instant a data type is served for that market type, as `GET /v1/capabilities` reports it. A request window that starts earlier and ends later is served from that instant. Read one symbol's own start from `/v1/symbols` `coverage_by_type`, and use `/v1/data-quality/coverage/{exchange}/{symbol}` for its windows, gaps, and cadence.

The April 2023 start for core native L2 and trades is not a start for L4, L3, or order-lifecycle data: L4 coverage begins in 2026, and Lighter's individual-order data is L3, not L4.

### Hyperliquid core

Served under `/v1/hyperliquid/*`.

| Data type | Served from (UTC) |
| - | - |
| Native L2 order book | 2023-04-15 00:00 |
| Trades | 2023-04-15 03:31 |
| Funding | 2023-05-20 02:50<br />Raw updates about every minute |
| Open interest | 2023-05-20 02:50 |
| Price history | 2023-05-20 02:50 |
| Candles | 2025-03-22 12:00<br />Older bars are built from incomplete fill history and are not served |
| Liquidations, by symbol and by user | 2025-12-22 00:00<br />An isolated earlier set of rows is not served |
| Full-depth L2 snapshots and diffs (derived from L4) | 2026-03-11 01:03 |
| L4 order book, diffs, and order events | 2026-03-11 01:03<br />First checkpoint; REST order-history and diff records start a few hours earlier, on 2026-03-10 |
| TWAP | 2026-06-17 18:00 |

### Hyperliquid Spot

Served under `/v1/hyperliquid/spot/*`.

| Data type | Served from (UTC) |
| - | - |
| Candles | 2025-03-22 10:50 |
| Trades | 2025-03-22 10:50:22 |
| TWAP | 2026-05-05 13:05 |
| Native L2 order book | 2026-05-05 19:56 |
| L4 order book, diffs, and order events | 2026-05-05 22:57<br />Most pairs; `PURR-USDC` starts at 2026-03-11 01:03 UTC and `HYPE-USDC` at 2026-05-13 15:33 UTC. REST order history starts on 2026-03-10 for every pair |

### HIP-3 builder perps

Served under `/v1/hyperliquid/hip3/*`.

| Data type | Served from (UTC) |
| - | - |
| Price history | 2025-10-13 12:12<br />Read from the oracle stream, which reaches back further than open interest |
| Trades | 2025-10-13 12:24 |
| Candles | 2025-12-22 00:00 |
| Liquidations | 2025-12-22 00:00 |
| Native L2 order book | 2026-02-16 16:57 |
| Funding | 2026-02-16 17:03<br />Raw updates about every 10 seconds |
| Open interest | 2026-02-16 17:03 |
| Full-depth L2 snapshots and diffs (derived from L4) | 2026-03-11 01:03 |
| L4 order book, diffs, and order events | 2026-03-11 01:03<br />First checkpoint; REST order-history and diff records start a few hours earlier, on 2026-03-10 |
| TWAP | 2026-06-17 18:00 |

### HIP-4 outcome markets

Served under `/v1/hyperliquid/hip4/*`.

| Data type | Served from (UTC) |
| - | - |
| L4 order book, diffs, and order events | 2026-05-02 07:47 |
| Candles | 2026-05-02 08:00<br />Prices are implied probabilities from 0 to 1; quote volume is in USDH |
| Trades | 2026-05-02 08:00 |
| Native L2 order book | 2026-05-02 16:51 |
| Open interest | 2026-05-02 16:51 |
| Price history | 2026-05-02 16:51 |

### Lighter mainnet

Served under `/v1/lighter/*`.

| Data type | Served from (UTC) |
| - | - |
| Trades | 2025-01-17 08:43<br />Per-fill rows include maker/taker attribution; exact starts vary by market |
| Candles | 2025-08-01 00:00 |
| Funding | 2025-08-25 15:28<br />Raw updates about every 10 seconds; keep source units and timestamps |
| Open interest | 2025-08-25 15:28<br />Raw updates about every 10 seconds |
| Price history | 2025-08-25 15:28 |
| Native L2 order book | 2026-01-29 02:13 |
| L3 individual-order book | 2026-03-05 03:33<br />Tick-level, capped at 250 orders per side |
| Liquidations | 2026-06-10 00:00<br />Earlier pre-launch rows are not served |

### Lighter on Robinhood Chain

Served under `/v1/rh-lighter/*`.

| Data type | Served from (UTC) |
| - | - |
| Candles | 2026-06-26 20:10<br />Built from trades, from the deployment's first trade |
| Liquidations | 2026-06-26 20:10:26<br />Perps only; rows before 2026-08-22 come from the venue's finalized export |
| Trades | 2026-06-26 20:10:26<br />The deployment's first trade |
| Funding | 2026-08-22 18:43<br />Perps only |
| Native L2 order book | 2026-08-22 18:43 |
| Open interest | 2026-08-22 18:43<br />Perps only |
| Price history | 2026-08-22 18:43 |

In `/v1/symbols` `coverage_by_type`, `orderbook` is the native aggregated L2 data type. Full-depth aggregated L2 uses the `/l2` endpoints and is listed only for Hyperliquid core and HIP-3. `l3_orderbook` is Lighter individual-order depth. `l4_orderbook` is Hyperliquid resting-book state, while `l4_orders` names order-level records. Neither L4 key stands in for order-history or order-flow lifecycle data.

Lighter L3 is individual-order depth, not an aggregated L2 shape. `/v1/lighter/l3orderbook/{symbol}` returns numeric `order_index`, `owner_account_index`, `price`, `remaining_size`, and `original_size`; the two index fields are Lighter indexes, not wallet addresses or raw order IDs.

## Common mistakes

* Inferring coverage from a category name. An "RWA market", "Spot pair" or "outcome market" still needs a market-type and symbol check.
* Treating a successful latest snapshot as evidence that every historical window exists.
* Reading a `403` as a statement that a market is unavailable. It is a response about that endpoint, account or key.
* Retrying a `404` unchanged. Check the namespace and symbol format first.
* Hiding a freshness or incident warning because the API returned a payload. If the state is outside tolerance, narrow, delay, mark, or stop the downstream job.

## Next step

Check freshness, coverage and incidents for the same market and window with [Data quality](/data-quality#check-one-window-before-use).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.