> ## 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.

# Choose Venue And Market Family

> Pick the correct 0xArchive namespace before you build a client.

The fastest way to get bad data is to send the right symbol to the wrong namespace. Choose the venue family before you write request code.

0xArchive exposes two top-level venue APIs: Hyperliquid and Lighter.xyz. Hyperliquid core perps, Hyperliquid Spot, HIP-3 builder perps, and HIP-4 outcome markets are separate Hyperliquid-scoped market families under `/v1/hyperliquid/*`, `/v1/hyperliquid/spot/*`, `/v1/hyperliquid/hip3/*`, and `/v1/hyperliquid/hip4/*`; HIP-3 and HIP-4 are not additional top-level venues.

<CardGroup cols={2}>
  <Card title="Hyperliquid core" icon="chart-candlestick" href="/rest-api/hyperliquid">
    Core perp symbols such as `BTC` and `ETH`.
  </Card>

  <Card title="Hyperliquid Spot" icon="circle-dot" href="/rest-api/spot">
    Spot pair symbols such as `HYPE-USDC`.
  </Card>

  <Card title="HIP-3" icon="factory" href="/rest-api/hip3">
    Builder-prefixed symbols such as `km:US500`.
  </Card>

  <Card title="HIP-4" icon="binary" href="/rest-api/hip4">
    Outcome-market sides with numeric or `#` identifiers.
  </Card>

  <Card title="Lighter.xyz" icon="zap" href="/rest-api/lighter">
    Lighter symbols under the Lighter namespace.
  </Card>
</CardGroup>

## Decision Rules

Use Hyperliquid core for standard perp symbols such as `BTC` and `ETH`. Use Hyperliquid Spot for pair symbols such as `HYPE-USDC`. Use HIP-3 when a symbol includes a builder prefix such as `km:US500`. Use HIP-4 for outcome-market identifiers and probability-priced fields. Use Lighter when the venue is explicitly Lighter.xyz or the route family needs Lighter L2/L3 behavior.

## Route And Symbol Map

Carry the venue family through the request path, client function, stored record, and logs. The family is not a display label; it changes the namespace, schema, and safe interpretation of fields.

| Family           | Route root               | Example first request                                       | Symbol rule                                                               |
| ---------------- | ------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------- |
| Hyperliquid core | `/v1/hyperliquid/*`      | `/v1/hyperliquid/orderbook/BTC`                             | Use perp symbols such as `BTC`, `ETH`, and `SOL`                          |
| Hyperliquid Spot | `/v1/hyperliquid/spot/*` | `/v1/hyperliquid/spot/orderbook/HYPE-USDC`                  | Preserve the pair separator and quote asset                               |
| HIP-3            | `/v1/hyperliquid/hip3/*` | `/v1/hyperliquid/hip3/summary/km:US500`                     | Preserve the builder prefix and case                                      |
| HIP-4            | `/v1/hyperliquid/hip4/*` | Outcome discovery, books, trades, prices, OI, and summaries | Treat outcome IDs and probability fields separately from perp prices      |
| Lighter.xyz      | `/v1/lighter/*`          | `/v1/lighter/orderbook/BTC`                                 | Use Lighter's market namespace rather than assuming Hyperliquid semantics |

## Why This Matters

Wrong-family requests are easy to miss in generic code. A symbol can look familiar while belonging to a different route family, and a generated client can produce plausible code for the wrong namespace if the prompt does not include venue context. Pick the venue family first, then choose the endpoint, then choose the interface.

## Common Mismatches

Do not normalize `km:US500` into `US500`; the prefix is part of the HIP-3 market identity. Do not split `HYPE-USDC` into a perp symbol and a quote token; Spot routes use pair symbols. Do not compare a HIP-4 outcome probability to a perp mark price without labeling the field. Do not route a Lighter request through Hyperliquid core just because the visible ticker is also `BTC`.

For agents and generated clients, put the family in the prompt or function contract: "Hyperliquid Spot `HYPE-USDC` order book" is safer than "get HYPE". The same rule applies to exports, warehouse tables, alerts, dashboards, and support logs.

## Checklist

Confirm the venue, symbol format, data family, time window, freshness tolerance, and output use before writing reusable code. If any of those are unknown, keep the first request narrow and use [Data Quality](/data-quality) before building a wider job.

## Review Rule

Code review should be able to answer “which venue family is this?” without running the program. Put the family in function names, config keys, logs, or storage fields. That one convention prevents most symbol-normalization mistakes.

If the code cannot reveal the family, add a wrapper or enum before the route becomes shared infrastructure.
