Rate posture
Honest current state, no marketing fog: what limits exist today, what is reserved for later, and where the numbers live.
Today, at beta
- No per-key limits. A valid key sends as fast as your workload wants. We do not throttle individual keys during beta.
- A platform-wide capacity ceiling exists. During beta the platform's shared capacity is approximately 50 requests / 2 million tokens per 5-second window, platform-wide across all customers. Bursts beyond it are absorbed by spare capacity behind the endpoint. Sustained traffic beyond it surfaces as
503 no_provider_availableonce the endpoint's capacity is fully busy (see errors). This number is published here so you can size against reality, and it will move, upward, as the platform scales. - A 503 today means back off and retry. The envelope is standard and no state was created.
- The
429 rate_limit_errorenvelope has one live emitter: two concurrent requests against the samesession_id: The second waits behind a bounded lock (30 s default) and then answers429 rate_limitedwith nothing stored (see sessions). Per-key throttling is not offered; the wallet balance is the per-key ceiling in force.
Reserved headers, documented now
These response header names are reserved and documented from day one, so your client can wire the plumbing once:
| Header | Meaning | Status |
|---|---|---|
x-ratelimit-limit-requests | requests allowed per window | reserved: absent until limits are enforced |
x-ratelimit-limit-tokens | tokens allowed per window | reserved: absent until limits are enforced |
x-ratelimit-remaining-requests | requests left in this window | reserved: absent until limits are enforced |
x-ratelimit-remaining-tokens | tokens left in this window | reserved: absent until limits are enforced |
x-ratelimit-reset-requests | seconds until the request window resets | reserved: absent until limits are enforced |
x-ratelimit-reset-tokens | seconds until the token window resets | reserved: absent until limits are enforced |
Their absence today is not a contract break. They are present in the API contract and will start being populated when per-key rate limiting lands. Until then, the only throttles are the platform-wide ceiling above and the same-session lock wait.
Attribution headers
HTTP-Referer and X-Title are accepted on any request and logged for abuse triage. They change nothing about your request's behavior. Send them if your client naturally carries them.