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

# Plans, credits, and limits.

> Every Sideren plan gives you credits. Each request uses credits for the model that served it, and a plan's monthly credits are a hard limit.

## Credits

Every plan gives you credits. Each request uses credits for the model that served it, based
on the tokens it read and wrote; repeated context served from a cache uses fewer
([Prompt caching](/guides/prompt-caching)). The
[usage page](https://www.sideren.io/dashboard/usage) in the dashboard shows what every
request used.

| Plan | Price | Credits |
| - | - | - |
| Free | \$0 | 200 credits, one time |
| Starter | \$5 / mo | 2,500 credits / mo |
| Pro | \$19 / mo | 10,000 credits / mo |
| Max | \$49 / mo | 25,000 credits / mo |
| Scale | \$99 / mo | 50,000 credits / mo |
| Pay as you go | No subscription | Purchased credits |
| Enterprise | Custom | Custom |

Monthly credits renew at the start of each monthly cycle, and the month's credits are a
**hard limit**: see [Past your limits](#past-your-limits). The
`x-sideren-monthly-used-percent` [header](/headers) shows how much of the month you have
used.

**Launch** is closed to new subscriptions. Existing subscribers keep it while the
subscription stays active. Existing Scale subscribers who joined at \$79 renew at \$79.

### Upgrades and downgrades

Upgrade any time: the new plan's credits and models apply right away. A downgrade takes
effect at your next renewal.

### Free

Free is **200 credits, one time**, granted when you sign up. They don't renew, so treat Free
as a trial of the API. Free requests serve from eleven open models (listed
[below](#model-access-by-plan)) and take shorter prompts than paid plans:

* A prompt over the Free limit returns `400 input_exceeds_plan`. Paid plans have no
  per-request limit.
* A model outside Free returns `400 plan_upgrade_required`, with the list of models Free
  includes.
* Past the Free plan's usage limit, requests return `402 token_allowance_exhausted`.
* When the 200 credits are used, requests return `402 credit_used_up`.

To keep going, subscribe for credits that renew every month, or add credit and turn on
[PAYG mode](#pay-as-you-go) for your key.

### Past your limits

Past 100% of your plan's monthly credits, new requests **stop**: they return
`402 allowance_exhausted`. The message says how much of the month you have used, when your
credits renew and which plan has more, and the error object carries the same facts as
fields (`limit`, `used_percent`, `resets_at`, `upgrade_url`). In-flight requests finish:
nothing is cut off mid-stream, and your subscription is never billed extra for it. A `402`
carries no `retry-after`, because waiting a few seconds doesn't clear it.

Two ways to keep going:

* **Use purchased credit in PAYG mode.** Add credit on the
  [billing page](https://www.sideren.io/dashboard/billing), then turn on PAYG mode for your
  key or send the `x-sideren-payment-mode: payg` header. The setup helper's
  `npx sideren setup --payment-mode payg` stamps it into the agents it configures.
* **Upgrade.** The higher plan's credits apply right away. Downgrades take effect at
  renewal.

Free works the same way when its 200 credits are used: requests return
`402 credit_used_up`. Free credits don't renew, so only purchased credit or a subscription
clears it.

## What a request uses

A request uses credits for its input, its output and its cached input, on the model that
served it ([Prompt caching](/guides/prompt-caching)). The response's `model` field and the
`sideren-model` header echo the id you sent.

If the model you name is unavailable, the API may serve the request with a comparable
model and keep your conversation moving; catalog rows marked `delivery: "optimized"` are
compatibility ids whose physical model is chosen for you. Pin a
`delivery: "exact"` id for anything whose exact behavior you depend on
([Model routing](/guides/model-routing)).

## Pay as you go

Purchased credit is a separate balance from a plan's credits. Buy it in packs of
\$5, \$20 and \$50, or any amount from \$2 to \$1,000, on the
[billing page](https://www.sideren.io/dashboard/billing). \$5 buys 2,500 credits, the same
as Starter's month. Purchased credits never expire, and a request uses the same number of
credits from them as it would from a plan.

Purchased credit is spent only in **PAYG mode**:

* Turn on PAYG mode for a key on the [keys page](https://www.sideren.io/dashboard/keys), or
  send the `x-sideren-payment-mode: payg` header with a request. The setup helper's
  `npx sideren setup --payment-mode payg` stamps that header into the agents it configures.
* In PAYG mode every catalog model is available, whatever your plan.
* An empty balance returns `402 paid_credit_required`; only a top-up clears it.

Batches are not available in PAYG mode.

## Model access by plan

Each model has a minimum plan, and higher plans add models. Every model is listed on
`GET /v1/models` for every key, with `sideren.access` saying whether your plan includes it
and which plan unlocks it.

* **Free:** eleven models: `@sdn/deepseek-v4.1-flash`, `@sdn/deepseek-v4.1-flash-1017`, `@sdn/minimax-m2.5`, `@sdn/kimi-k2.5`,
  `longcat-2.5`, `@sdn/qwen3-235b`, `@sdn/qwen3-coder-next`, `@sdn/devstral-2-123b`,
  `@sdn/mistral-large-3-675b`, `@sdn/nemotron-super-3-120b` and `@sdn/gpt-oss-120b`.
* **Starter:** everything in Free, plus 101 more: the open-weight catalog (`@sdn/glm-5.3`,
  `@sdn/glm-5.3-flash`, `@sdn/deepseek-v4-pro`, `@sdn/kimi-k3`, `@sdn/kimi-k2.6` and the
  rest), `gpt-6-luna`, `gpt-5.6-terra`, `gpt-6-sol`, `gemini-3.8-flash` and the `gpt-5` and
  `gpt-4.1` families.
* **Pro:** everything in Starter, plus 13 more: `haiku-5.5`, `gpt-5.6-sol`, `gpt-6.1-sol`,
  `muse-spark-1.3`, the Grok family (`grok-4.7`, `grok-4.6`, `grok-4.20`, `grok-4.1-fast`,
  `grok-4.3`, `grok-4`), `mai-thinking-1` and `gpt-chat-latest`.
* **Max:** everything in Pro, plus 4 more: `sonnet-5.5`, `gemini-4-argon`, `gpt-6-astra`
  and `gpt-5.5`.
* **Scale:** the same models as Max, with more credits and higher limits.
* **Pay as you go:** every catalog model, in PAYG mode.
* **Launch** (closed to new subscriptions): 72 models.

Some models run only in PAYG mode, on every plan, Max and Scale included: `opus-5.5`,
`fable-5.1`, the older Claude models (`opus-4.6`, `opus-4.5`, `sonnet-4.6`, `sonnet-4.5`,
`haiku-4.5`), `muse-wonder-1.0` and `muse-spark-1.3-contributor`.

A request for a model outside your plan returns `400 plan_upgrade_required` (not
retryable); the message names the cheapest plan that includes the model and, on Free, the
models you can use instead. Upgrade, pick a model your plan includes, or send the request in
PAYG mode. A PAYG-only model requested without PAYG mode returns `400 payg_required`.

## Rate limits

Two published limits per plan: a **request window** and **concurrent requests**
(simultaneous in-flight calls, the axis that matters for parallel agent fleets).

| Plan | Request window | Concurrent requests |
| - | - | - |
| Free | 15 / min | 2 |
| Launch | 20 / min and 100 per 5 min | 5 |
| Starter | 300 / min | 10 |
| Pro | 1,000 / min | 40 |
| Max | 3,000 / min | 100 |
| Scale | 6,000 / min | 200 |
| Pay as you go | 600 / min | 20 |
| Enterprise | 10,000+ / min | 250+ |

## Hitting a limit: 429 + retry-after

Past a rate limit (requests faster than your plan's request window, or too many open at
once) the API returns `429` with a `retry-after` header: the number of seconds to wait
before retrying, typically a few seconds.

```http title="A rate-limited response" theme={null}
HTTP/1.1 429 Too Many Requests
retry-after: 12

{ "error": { "type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "..." } }
```

Honor `retry-after` exactly and add exponential backoff with jitter for repeated hits; the
full recipe is on [Errors](/errors). Current-window state is also reported on every
response via the `x-ratelimit-*` headers: see [Headers](/headers).

Past your monthly credits it is different: requests return `402 allowance_exhausted`
until your next cycle (the message says when), and Free's used-up credits return
`402 credit_used_up`. Neither carries `retry-after`. See [above](#past-your-limits).

## Need more?

Enterprise plans carry custom credits, higher limits (10,000+ requests/min, 250+
concurrent), and procurement-friendly billing.

<Card title="Talk to us" href="mailto:support@sideren.io" horizontal>
  [support@sideren.io](mailto:support@sideren.io)
</Card>


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