Rate limits and plan quotas
QCOS enforces limits at four layers. Every layer answers with an explicit machine-readable error — see Errors.Request rate limits
Health and documentation endpoints (
/health, /ready, /docs,
/openapi.json) are excluded.
Subscription tier quotas
Current enforced defaults per tier (your contract may differ — the API is the authority at runtime):
Exceeding a daily job quota returns
429 with the message
Daily job limit reached (N). Upgrade to increase limit. Exceeding a qubit or
shot ceiling returns 403 with plan_qubit_limit_exceeded /
plan_shot_limit_exceeded.
License plan ceilings
License-level capability ceilings are served live atGET /api/v2/plan-limits (no prices — pricing belongs to the
Platform):
An unrecognized plan name resolves to the tighter ceiling — limits fail
closed.
Entitlement gate
Before a billable execution, QCOS validates the entitlement with the SoftQuantus Platform (which owns the wallet):- QPU backends fail closed — if the platform is unreachable, hardware
execution is refused (
503). - Simulators fail open — free simulator work continues during a platform outage.
- Denials return
402withentitlement_denied, the machinereason, your remaining credits and anupgrade_url.
Practical guidance
- Batch related circuits into a session instead of hammering the submit endpoint.
- Use
?dry_run=trueto validate and estimate without consuming a job slot. - Watch the
X-Request-IDresponse header and include it when reporting a limit you believe is wrong.