# Rate limits

Only the limits the engine actually enforces and publishes: the alias endpoint's per-minute ceilings, the 429 shape, and the SLO circuit breaker you will meet.

> A documented limit is a promise. Only the alias limits below are published, because they are the only ones we are prepared to promise.

## Published limits, per minute

| Call | Limit |
| --- | --- |
| alias-availability — check | 120 with a merchant key; 30 anonymous, per IP |
| alias-availability — reserve | 10 |
| alias-availability — release | 10 |

Alias responses are `cache-control: no-store`. A 429 there carries `retry_after_seconds` in the body plus `Retry-After` and `X-RateLimit-*` headers. Debounce keystrokes around 250 ms. See [alias](/alias).

## Everything else

Other endpoints are rate limited and answer `429 RATE_LIMITED` with `Retry-After`, but the ceilings are not published yet. Retry with exponential backoff and read `Retry-After` when it is present. Published ceilings and per-response headers are on the [roadmap](/roadmap).

## The SLO circuit breaker

A function that breaches its error budget pauses itself and answers `503 SLO_BREACH_PAUSED`. Retry with backoff — it is not your request that is wrong. See [status](/status).
