> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usepatchwork.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate limits and credits

> Two independent ceilings: how fast you can call, and how much you have left to spend.

## Rate limits

Every public request is metered against a per-workspace token bucket sized by your plan. All API keys in a workspace share one allowance.

Three headers come back on every response, allowed or not:

| Header | Meaning |
| - | - |
| `RateLimit-Limit` | Bucket capacity — the most requests allowed back to back. |
| `RateLimit-Remaining` | Tokens left right now. |
| `RateLimit-Reset` | Seconds until the bucket refills. |

Read them and self-pace rather than waiting to be rejected. A rejection is `429` with `Retry-After`; honour it.

The bucket is per workspace, not per subject — a single busy subject can spend the whole allowance, so pace high-volume subjects on your side.

A lapsed subscription falls back to the default plan's limits rather than keeping its old ceiling.

## Credits

Credits are prepaid and spent per run. Two things consume them:

* **Model usage** — input and output tokens, priced by the agent's model class.
* **Priced patches** — some workbench products carry a per-call price.

Every run reports `cost_credits`, and each turn within a [trace](/guides/traces) reports its own share. That is the fastest way to find out why a conversation cost what it did — usually a long context or many tool round-trips rather than the reply itself.

### Starting out

**Verifying your email address puts \$20 of credit in the workspace.** It lands once, on the workspace you own, the moment the address is confirmed — signing in with Google counts, because Google has already confirmed it.

That is enough for a few hundred typical runs, so it is room to evaluate rather than a token. An unverified account holds nothing and cannot publish an agent or issue an API key, so verifying is the first thing worth doing.

Top-ups are bought in the dashboard, and checkout accepts promotion codes.

### Running out

A workspace with no balance gets `402` on the next billable call:

```json theme={null}
{ "error": { "code": "insufficient_credits",
             "message": "This workspace is out of credits." } }
```

The check reads the balance captured at authentication time and debits settle asynchronously, so this blocks the first call after the balance is exhausted rather than interrupting a run in flight. A run already under way finishes.

### What is charged

We charge outcomes, not requests: a closed run that was not a platform failure, and an `identified` result on Identify. A run that fails on our side is not billed.

<Note>
  Plan prices, monthly allotments, and per-second limits are listed on the pricing page in the dashboard, which is the current source of truth.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.