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

# M202: Per-IP rate limit exceeded

> Manifest error M202 fires when one IP sends more than 500 requests per minute across all agents. Returns HTTP 429. Fix: stagger workers or raise the IP cap.

## What you saw

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
[🦚 Manifest M202] Too many requests from this IP — wait a few seconds and retry.
See https://manifest.build/docs/errors/M202
```

## Why it happened

There's a separate per-IP cap (500 requests per minute by default) sitting on top of the per-user limit. It catches abuse, plus dev setups where lots of agents share one IP. You hit it because that IP fired too many requests across all agents in a 60-second window.

## How to fix it

1. Back off and retry. The window resets after a minute.
2. Running many agents from one machine in dev? Stagger their startup so they don't all hammer the proxy at once.
3. On a self-hosted install where you trust the source, raise `IP_RATE_MAX_REQUESTS` in `proxy-rate-limiter.ts`.

## Related

* [M201: Per-user rate limit](/errors/M201)
* [M203: Concurrency limit](/errors/M203)
* [M200: Usage limit exceeded](/errors/M200)
* [Self-hosted setup](/self-hosted)
* [All error codes](/errors)
