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

# Liquidity rewards

> Public and Privy-authenticated liquidity-rewards reads on xo-backend.

Liquidity rewards pay makers for resting qualifying limit orders. Each enrolled market pays **CP**, **USDC**, or both.

All paths below sit on the Data API host and use the `/api` prefix. Use **`conditionId`** as `marketId`. An **epoch** is a UTC-day index: `floor(unix_ms / 86_400_000)`.

## Two surfaces

| Prefix                        | Auth                      | Use for                                              |
| ----------------------------- | ------------------------- | ---------------------------------------------------- |
| `/public/liquidity-rewards/*` | None                      | Discovery, wallet lookups, market-day analytics      |
| `/liquidity-rewards/*`        | **Privy Bearer required** | The signed-in maker (`/me` binds the session wallet) |

Authenticated routes **do not** accept the orderbook L1/L2 HMAC scheme. Send a Privy access token:

```http theme={null}
Authorization: Bearer <privy_access_token>
```

Missing or invalid token → `401`. User without access → `403`.

The public prefix is separately throttled at **30 requests per 10 seconds**. Other Data API REST routes share **100 / 10 seconds**.

## Wire conventions

* Catalogue and summary BFFs (`earning-pools`, `me/summary`, wallet `summary`) use **camelCase**.
* Proxied maker / market-day / config payloads use **snake\_case**.
* Money and scores are **strings**. Keep them as strings in client state.
* Dual-rail (CP + USDC) market-days: use `…/markets/{marketId}/me` or `…/markets/{marketId}/wallets/{wallet}`. The CP-only `…/epochs/{epoch}/makers` list may return `409`.

## Related

* [Rate limits](/data-api-reference/rate-limits)
