> For the complete documentation index, see [llms.txt](https://docs.aevo.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aevo.xyz/api-reference/rate-limits.md).

# Rate Limits

Rate limits are applied on a per-account basis. If the API endpoint does not require authentication, rate limits are applied on the IP address instead of the account.

## Rate Limits on REST API

***

When the rate limit is hit on the REST API,

* A 429 HTTP Status is returned.
* `X-RETRY-AFTER` header is returned. This header indicates the number of nanoseconds to wait until you can retry a new request.
* The body of the response will also include the same information.

Example:

```json
{
  "error": "RATE_LIMIT_EXCEEDED",
  "retry_after": "4406000000"
}
```

## Rate Limits on Websocket API

***

While there are no limit on the number of subscriptions, Websocket messages such as `subscribe`, `unsubscribe` and other operations are bound by a rate limit. The only exception is the `ping` message.

When the rate limit is hit:

* RATE\_LIMIT\_EXCEEDED\` error message will be sent
* The message will contain `retry_after` information, the number of nanoseconds to wait until you can send a new message.

Example:

```json
{
    "status": "error",
    "timestamp": "1664338190185908000",
    "error": "RATE_LIMIT_EXCEEDED",
    "data": {
        "retry_after": "4406000000"
    }
}
```
