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

# Lighter on Robinhood Chain API: Books, Trades & History

> Run Lighter on Robinhood Chain REST routes under /v1/rh-lighter for L2 order books, trades, candles, funding, OI, liquidations, and freshness.

Lighter has two deployments: mainnet and Robinhood Chain. 0xArchive covers two venues, Hyperliquid and Lighter, and serves the Robinhood Chain deployment of Lighter under its own namespace, `/v1/rh-lighter/*`. Use it for USDG-quoted perpetual and spot markets on Robinhood Chain: L2 depth, trades, candles, funding, open interest, liquidations, freshness, summaries, price history, and account positions. For Lighter mainnet, use [Lighter REST](/rest-api/lighter).

<Note>
  **Answer:** Use `/v1/rh-lighter/*` for Lighter on Robinhood Chain. The routes mirror `/v1/lighter/*` except L3, which this deployment does not capture. Keep Robinhood Chain symbols, account indexes, and history apart from mainnet even when the symbol text matches.

  **Evidence:** Start with `GET /v1/rh-lighter/instruments`, open the [Lighter on Robinhood Chain endpoints](/api-reference/rh-lighter), confirm the operation in [OpenAPI](/openapi), and check [Venue coverage](/venue-coverage).
</Note>

## One venue, two deployments

Lighter on Robinhood Chain runs the same exchange engine as Lighter mainnet, on a separate chain with separate markets, separate account indexes, and its own history. It is a deployment of Lighter, not a third venue. Its markets are quoted in USDG. At launch it lists 84 markets: 57 perpetuals and 27 spot markets.

| Question | Lighter mainnet | Lighter on Robinhood Chain |
| - | - | - |
| REST namespace | `/v1/lighter/*` | `/v1/rh-lighter/*` |
| Quote asset | USDC | USDG |
| Perp symbols | `BTC`, `ETH` | `BTC`, `ETH` |
| Spot symbols | Not covered | Dashed pair with the quote, such as `AAPL-USDG` |
| L3 order-level book | `/v1/lighter/l3orderbook/{symbol}` | Not captured |
| WebSocket channels | `lighter_*` | `rh_lighter_*` |
| Export exchange key | `lighter` | `rh-lighter` |

A `BTC` request to each namespace reads a different market. Store the namespace with every record, file, and log line.

## Routes

Every route is `GET` and takes the same parameters as its mainnet Lighter counterpart.

| Route | Returns |
| - | - |
| `/v1/rh-lighter/instruments` | Every market with its symbol, market type, and precision |
| `/v1/rh-lighter/instruments/{symbol}` | One market |
| `/v1/rh-lighter/orderbook/{symbol}` | Current aggregated L2 book |
| `/v1/rh-lighter/orderbook/{symbol}/history` | L2 book history |
| `/v1/rh-lighter/trades/{symbol}` | Finalized trade history, clamped to `meta.finalized_through` |
| `/v1/rh-lighter/trades/{symbol}/recent` | Recent trades, including preliminary rows counted by `meta.preliminary_row_count` |
| `/v1/rh-lighter/candles/{symbol}` | OHLCV candles, once enabled for this deployment |
| `/v1/rh-lighter/openinterest/{symbol}` | Open interest history (perps) |
| `/v1/rh-lighter/openinterest/{symbol}/current` | Current open interest (perps) |
| `/v1/rh-lighter/funding/{symbol}` | Funding rate history (perps) |
| `/v1/rh-lighter/funding/{symbol}/current` | Current funding rate (perps) |
| `/v1/rh-lighter/liquidations/{symbol}` | Liquidation events |
| `/v1/rh-lighter/liquidations/{symbol}/volume` | Liquidation volume buckets |
| `/v1/rh-lighter/freshness/{symbol}` | Latest stored timestamp per data type |
| `/v1/rh-lighter/summary/{symbol}` | Market summary |
| `/v1/rh-lighter/prices/{symbol}` | Price history |

Account positions for this deployment live under the same namespace: `/v1/rh-lighter/accounts/{account_index}/positions`, its `/history` and `/changes`, and the market routes `/v1/rh-lighter/positions/{symbol}`, `/summary`, and the bulk `/v1/rh-lighter/positions`. See [Account positions](/rest-api/positions).

The `l3orderbook` paths under this namespace answer `404` with a message that points to `/v1/rh-lighter/orderbook/{symbol}`, because this deployment has no L3 capture.

## First request

```bash theme={"theme":"github-dark"}
curl "https://api.0xarchive.io/v1/rh-lighter/orderbook/BTC?depth=5" \
  -H "X-API-Key: $OXARCHIVE_API_KEY"
```

The response uses the mainnet Lighter L2 shape: `bids` and `asks` arrays of `px`, `sz`, and `n` decimal strings, plus `mid_price`, `spread`, and `spread_bps`, with prices in USDG. Keep `meta.request_id` with the result.

Spot markets use the dashed pair symbol in the path:

```bash theme={"theme":"github-dark"}
curl "https://api.0xarchive.io/v1/rh-lighter/trades/AAPL-USDG/recent?limit=10" \
  -H "X-API-Key: $OXARCHIVE_API_KEY"
```

## Symbols and markets

Discover symbols with `GET /v1/rh-lighter/instruments`. Perpetual symbols are uppercase base assets such as `BTC` and `ETH`. Spot symbols are the base and the USDG quote joined by a dash, such as `AAPL-USDG`. Market-data routes accept symbols in any case and return them uppercase. Account positions routes take the symbol exactly as `/v1/rh-lighter/instruments` lists it, such as `BTC`.

Spot markets have order books, trades, and candles. Funding, open interest, and liquidations exist only for perpetual markets. Account positions cover perpetual markets.

## Coverage

History on this deployment starts when capture of each data type began, not when the deployment opened. Earlier order-book, open-interest, and funding history cannot be recovered, because the deployment publishes no archive of those streams.

| Data | History from (UTC) | Notes |
| - | - | - |
| Trades | 2026-06-26 20:10:26 | The deployment's first trade; finalized from Lighter's daily trade export |
| Liquidations | 2026-06-26 20:10:26 | Rows before live capture (2026-08-22) were backfilled from the venue's finalized export |
| L2 order book | 2026-08-22 18:43 | Current book and history |
| Open interest | 2026-08-22 18:43 | Perps only |
| Funding | 2026-08-22 18:43 | Perps only |
| Candles | 2026-06-26 | Once candles are enabled for this deployment |
| Account positions | 2026-06-26 | Change log and hourly snapshots; see [Account positions](/rest-api/positions) |
| L3 order-level book | Not captured | Use L2 |

Until candles are enabled for this deployment, `/v1/rh-lighter/candles/{symbol}` returns `400` with the message `Candles are not yet available for Lighter (Robinhood Chain). Trades, orderbook, open interest, funding and liquidations are.` Check `/v1/symbols` or the route itself before scheduling a candle job. Confirm symbol-level windows with `/v1/data-quality/coverage/rh-lighter/{symbol}` before a long history pull.

## Trades: finalized and preliminary

Trade routes on this deployment are two-tier, exactly like mainnet Lighter. `/v1/rh-lighter/trades/{symbol}` serves the finalized per-fill record, reconciled daily from Lighter's historical trade export for this deployment and marked `source: "bucket"`.

Finalized rows carry the same enriched fields as mainnet canonical trades: `order_id`, `tx_hash`, `fee`, `realized_pnl`, `usdc_amount`, maker and taker attribution, and position state before and after the fill. Amounts named after USDC, and fees, are in USDG on this deployment.

The finalization watermark trails the present by about a day. `meta.finalized_through` reports it on every response. When your `end` is past the watermark, the response adds `meta.requested_end` and `meta.clamped_to` and returns finalized rows only. Rows newer than the watermark are served by `/v1/rh-lighter/trades/{symbol}/recent`, marked `source: "ws"` and counted by `meta.preliminary_row_count`. Treat those rows as provisional until the next reconcile.

Identity fields such as `account_index` hold Robinhood Chain account indexes as strings. They are not wallet addresses, and they are unrelated to mainnet account indexes with the same number.

## Liquidations

`/v1/rh-lighter/liquidations/{symbol}` returns the same row shape as mainnet Lighter liquidations, with USDG amounts. Use `/v1/rh-lighter/liquidations/{symbol}/volume` for bucketed totals.

Liquidation history on this deployment starts at the first trade, 2026-06-26 20:10:26 UTC. Rows from before live capture began on 2026-08-22 18:43 UTC carry `source: "bucket"` and an empty `raw_json`, and live-captured rows carry `source: "ws"` and the venue's original message in `raw_json`. The earlier rows were backfilled from the venue's finalized export, which has no raw message to preserve.

## Live data over WebSocket

Subscribe to `rh_lighter_orderbook`, `rh_lighter_trades`, `rh_lighter_open_interest`, or `rh_lighter_funding` on `wss://api.0xarchive.io/ws` for continuing updates. Live messages use the mainnet Lighter live shapes, and live trades are preliminary until this route finalizes them. `rh_lighter_candles` is replay-only. See [Lighter on Robinhood Chain channels](/websocket/lighter#lighter-on-robinhood-chain).

## Exports

The Data Catalog exports this deployment under the exchange key `rh-lighter` with the `l2_orderbook`, `trades`, `funding`, and `oi` schemas. An `l2_orderbook` export includes a second file of periodic full-book snapshots to seed reconstruction, as on mainnet. See [Export schemas](/export-schemas).

## Request checklist

| Field | Value |
| - | - |
| Venue | Lighter |
| Deployment | Robinhood Chain |
| Namespace | `/v1/rh-lighter/*` |
| Symbol style | `BTC` for perps, `AAPL-USDG` for spot |
| First probe | Instruments, order book, trades page, or freshness check |
| Stop rule | Do not send a Robinhood Chain request to `/v1/lighter/*`, and do not request L3 here |

## Related pages

Use [Lighter REST](/rest-api/lighter) for mainnet routes, [Lighter on Robinhood Chain quickstart](/lighter-robinhood-chain-api-quickstart) for a first request, [Account positions](/rest-api/positions) for positions by account index, [Trades](/rest-api/trades) for the two-tier trade contract, and [Venues and market types](/core-concepts/venue-taxonomy) for the venue hierarchy.
