Platform limits
Rate limits and free usage
Every account has separate Free-model and Paid-model limits shared by all its API keys. This prevents creating extra keys from multiplying either allowance.
Current tiers
| Tier | RPM | TPM | Requests/day | Tokens/day |
|---|---|---|---|---|
| Free | 60 | 200,000 | 150 | 800,000 |
| Paid | 120 | 1,000,000 | 1,000 | 20,000,000 |
These values come from the active platform configuration and can change as capacity is adjusted.
Coding agents use more than one request
A single VS Code task can call the model several times. Reading a file, returning a tool result, checking another file, and producing the final answer are separate model requests, even though they belong to one instruction from you.
RPM and TPM are burst controls for those model calls. Requests/day and tokens/day are the overall allowance. When a burst limit is reached, Edy returns the exact reason and reset delay instead of charging the wallet or silently moving a free-model request onto Paid limits.
What TPM counts
TPM means tokens per minute. It is not output tokens alone. Edy reserves the estimated input tokens plus the maximum output capacity requested by the client before sending a request.
When the provider reports actual usage, Edy refunds unused reserved token capacity. Daily usage therefore settles to actual input plus actual output tokens, while the minute limiter remains conservative during concurrent streams.
Switching between Free and Paid
A wallet top-up only adds funds. It does not automatically enable premium-model access. Paid mode lets premium models use the Paid limits and wallet billing. Free models continue using the Free limits and never debit the wallet.
The selection applies across all API keys. Free and Paid counters are stored separately, and switching modes does not reset either allowance.
When a limit is reached
The API returns HTTP 429 with a machine-readable code such as requests_per_minute, tokens_per_minute, requests_per_day, or tokens_per_day. The response includes retryAfter, a Retry-After header, and an x-request-id for troubleshooting.