Rate limits & credits
How throughput and prepaid balance are enforced.
Rate limits
Each API key has an RPM limit (requests per minute) enforced over a sliding window of two 1-minute buckets. A new key starts at 60 requests per minute. Exceeding it returns 429 with code rate_limit_exceeded. Back off and retry.
The limiter is fail-open: if the backing store has trouble, requests are never blocked. You will not be rate-limited due to an infrastructure hiccup on our side.
A separate 429 upstream_rate_limited means the provider throttled us rather than your key hitting its limit. Retry with backoff.
429 code | Who hit a limit | What to do |
|---|---|---|
rate_limit_exceeded | Your key's RPM | Back off; the sliding window is 60 s. |
upstream_rate_limited | A provider throttled us | Retry with exponential backoff and jitter. |
spend_limit_exceeded | A spend limit on the key, team or guardrail | Wait for the next day, week or month, or raise the limit. See Budgets & spend limits. |
Credits
Kontinent is prepaid. Your organization holds a credit balance in micro-EUR, and each request debits the exact cost of the tokens it used. Metering runs asynchronously off the hot path, so billing never adds latency to your request.
Pay per token
Billed on real usage, reconciled against an append-only ledger.
No hidden overhead
Metadata only: token counts, latency, status, model, and cost. Nothing more.
- Credits are checked optimistically against a hot balance, so a small overdraft (bounded by your RPM) is possible by design.
- A background worker reconciles spend within about 60 seconds. Once an organization is exhausted, further requests get a hard
402(insufficient_credits) until a top-up lands. - A top-up lifts suspension immediately. You do not wait for the next reconcile cycle. How to top up, set up auto top-up and get low-balance warnings: Credits & billing.
- If a provider returns no token counts, Kontinent estimates them from the size of the prompt and the answer and bills the estimate. Such requests are marked "estimated by the gateway" in the log detail.
402 insufficient_credits is safe to retry after topping up. Until then, retrying without adding credit will keep failing.