Rate limits
Requests per minute, concurrency, key limits and per-request caps.
| Limit | Value | When exceeded |
|---|---|---|
| Requests per minute | 120 per key, and 120 per wallet across all its keys | 429 rate_limit_exceeded |
| Requests at once | 10 per key, and 10 per wallet | 429 rate_limit_exceeded |
| Hold per request | 25 credits | 400 request_too_expensive |
| Held at once per wallet | 50 credits, or your own lower hold limit | 429 too_many_in_flight |
| Daily limit per key | Optional, set by you | 429 key_limit_exceeded |
| Active keys | 20 per wallet | Create fails |
429 responses carry retry-after in seconds. Wallet limits are the sum over all of a wallet's keys, so more keys don't mean more throughput.
Hold limit
The program caps how much of one wallet's balance running requests can hold at once. You can set a lower cap for your wallet on /app/balance. The program enforces it, so it also limits how much a leaked key can hold at a time. A leaked key can still spend over time: revoke it on /app/keys.
Daily limit
A key's daily limit counts the credits it spent since 00:00 UTC plus what its running requests hold. Set it when you create the key on /app/keys.
Provider limits
When the model provider rate-limits a request, its 429 comes back unchanged with its retry headers, and nothing is charged.