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

# Reading Market Data

> Load markets, charts, trades, and a live order book.

Use Data Source REST for catalogs and historical data. Use Exchange Gateway for the current book and live streams. [API Overview](/api/introduction) lists the service endpoints.

## Markets and charts

Load the [market catalog](/api/data-source/reference/markets), then the selected [market's metadata](/api/data-source/reference/market). Keep its precision and token-decimal settings with your application state.

Use [candles](/api/data-source/reference/candles) for historical OHLCV. Use [market trades](/api/data-source/reference/market-trades) for individual executions. Catalog responses do not provide a WebSocket replay cut.

### Mainnet market examples

These active market addresses were checked against the [mainnet market catalog](https://api.mainnet.kuru.io/api/v1/markets?status=active\&limit=100) on 17 October 2026. The catalog is authoritative for current availability; do not reuse these addresses on testnet.

| Symbol | Market address |
| - | - |
| WETHUSDC | `0x8121ee960066e4344a213f9ac7502395502aee7a` |
| XAUT0USDC | `0x9d29630ae2dcf02cb0cf05e17f45d95f01f15798` |
| CBBTCUSDC | `0xae8e0cf4a9ff696b5f6ec0b1339200eb4c09e422` |
| SPYXUSDC | `0xbb180c8b6d3ee0b4316b224c53b80dc4e354d24f` |
| MONUSDC | `0xc9de998e272d59a19cea3783c8dd44f87a86405d` |
| EWYXUSDC | `0xed3727e833200c849fbd18e15ed0d091c9b0f3af` |
| QQQXUSDC | `0xedf008258139ee23cf2bdb9c360f69131dc72708` |
| NVDAXUSDC | `0xf3fb2ec6ffb2a24506769bfaa3ad9b1eeb7d41eb` |
| TSLAXUSDC | `0xf884c7631a7150f28c139a3a9f8b669258b5b285` |

## Order book

Subscribe to finalized `l2Delta@f` for the chosen market without a replay cursor. The Gateway first supplies an authoritative L2 snapshot, then deltas. Install the snapshot before applying updates.

Do not bootstrap this stream by guessing a cursor from an unrelated REST response. The [L2 delta reference](/api/exchange/websocket-reference/l2-delta) owns its exact snapshot and update rules.

For a simpler display that replaces the whole book periodically, use [L2 book snapshots](/api/exchange/websocket-reference/l2-book).

## Trade history into live trades

Load market trades from Data Source. When both `feedEpoch` and `marketSeq` are present, install the REST result and request replay after that cut on the matching finalized market stream.

Keep the epoch with the sequence. A null cursor cannot serve as a replay bootstrap. Follow the endpoint's semantics rather than treating a null value as zero.

## Reconnects and gaps

Persist a cursor only after applying its data. Validate predecessor links, not arithmetic sequence adjacency. On `resync`, discard the affected derived state and bootstrap as instructed. On `resub`, recreate the removed subscription using the last durably applied cursor where supported.

See [WebSocket API](/api/exchange/websocket) for control messages and binary envelopes. Decoder package availability is documented in [SDK Installation](/sdk/installation).


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