Guides
Credits and limits
The API spends the same credits as the app, from the same balance. What is left is one number, wherever you look at it.
One balance
Work on Corollary is metered in credits. A free account receives 30,000 a month; a Lab plan receives 100,000. A key does not have credits of its own — it spends its account's — so a research run started over the API and one started in the app draw down the same balance and show up together on the usage page.
GET /api/v1/me returns the balance as credits.available, and credits.reserved for what running work is holding. Reading it is free.
How a call is charged
Anything that runs the agent holds a small reservation before it starts, then replaces it with the real cost when it finishes — tokens at the provider's price, plus whatever the tools it called spent on compute or on reading a paper. A call refused for lack of credits is refused before anything runs, and a call that fails before doing anything holds nothing.
insufficient_credits402- The balance would not cover the reservation. Buy credits, or wait for the month to roll over.
budget_exceeded402- The account's own monthly ceiling, set under Settings, has been reached and enforcement is on. Raise the ceiling or turn the limit off.
platform_budget_exceeded402- Paid work is paused on Corollary as a whole for the moment. Try later.
Rate limits
Two limits, both continuous rather than per fixed window, and both answered with 429 and a Retry-After header in seconds.
- Per key: 120 requests a minute, with bursts of up to 60. The limit an integration meets first.
- Per address: 300 a minute, bursts of 100, across every key calling from one address. Bounds a client that has no valid key at all.
On a 429, wait the number of seconds in Retry-After and send the request again. Retrying sooner only spends the next token. See errors for the response shape.
