Credits & quotas

Charging policy

OutcomeCharge
succeededFull reservation (1 credit/job)
failed / timed_out0 — reservation released
cancelled0 — reservation released

Ledger

Every balance movement is a CreditLedgerEntry: grant, reservation, consumption, release, refund, adjustment. Entries are write-once — corrections are new entries, never edits. Inspect yours at GET /api/v1/credits/ledger.

Quotas

Each plan defines data-driven limits enforced on the backend:

  • monthlyCredits — allotment granted each billing period
  • maxConcurrentJobs — simultaneous queued+processing jobs
  • requestsPerMinute — job submissions per minute
  • maxJobDurationMs — per-job timeout ceiling
  • allowedOperations — enabled challenge categories

Exceeding a quota returns 429 quota_exceeded or rate_limited — never a silent drop. Insufficient balance returns 402 insufficient_credits.