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

# Rate limits

> Requests are counted per key, per minute. Streams count once.

Each key has a cap of requests per calendar minute: **600** unless your key says otherwise. Above it the API answers **429** until the next minute starts. `/health` is not counted.

```json theme={null}
{ "error": { "code": "rate_limited", "message": "too many requests" } }
```

There are no rate-limit headers: count your own requests, and on a 429 wait for the next minute instead of retrying in a loop.

## Streams count once

Opening a WebSocket or an SSE stream is one request. Frames after that are free, and one socket carries up to 200 channels. Anything that changes over time is cheaper and fresher as a stream than as a polled REST route:

| Instead of polling | Subscribe to |
| - | - |
| `/v1/tokens/{chain}/{address}/trades` | `trades` |
| `/v1/tokens/{chain}/{address}/candles` | `candles` |
| `/v1/tokens/{chain}/{address}` (price) | `token` |
| `/v1/launchpad/{board}` | `launchpad` |
| `/v1/prices` | `prices` |
| `/v1/wallets/sol/{address}/trades` | `wallet` |

## Batch what you can

* `/v1/tokens?ids=` reads up to 50 tokens in one request.
* `/v1/prices?tokens=` prices up to 100 tokens in one request.
* Identical requests from many clients are cheap on the server (it shares one fetch), but each still counts against your key.


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