Skip to main content

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). The usage page in the dashboard shows what every request used. Monthly credits renew at the start of each monthly cycle, and the month’s credits are a hard limit: see Past your limits. The x-sideren-monthly-used-percent header 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) 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 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, 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). 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).

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. $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, 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).

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.
A rate-limited response
Honor retry-after exactly and add exponential backoff with jitter for repeated hits; the full recipe is on Errors. Current-window state is also reported on every response via the x-ratelimit-* headers: see 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.

Need more?

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