New · Every docs page has a .md twin for AI editors

Credit-native billing.
Agent-native docs.

Built for companies selling work, not seats — AI agents, outcome-priced products, API platforms. Credits, entitlements, metering, reservations — all the primitives, none of the lock-in. Plus .md twins on every page so Cursor and Claude Code drop the integration into your codebase in minutes.

SAME CONTENT · TWO AUDIENCES
Example URLs cycling through QuotaStack concepts — both the human-readable HTML page and the agent-readable .md twin share the same slug.
Works with Cursor, Claude Code, Copilot, Zed, Windsurf.
Install in your editor
<1ms entitlement checks
Zero payment lock-in
Sandbox on every account
AI-editor ready
AI ChatbotsAPI PlatformsLLM WrappersSaaS Add-onsDev Tools

The problem

Rolling your own credit billing is a trap

  • A "credit balance" column turns into a ledger the moment you need refunds and audits
  • Idempotency, retries, and double-charges show up the first time a request times out
  • "Can this user do X?" should be one call — not a five-table JOIN on the hot path
  • Long-running AI jobs need reservations. Stripe doesn't have them.
  • Weeks turn into months. You're building billing, not your product.

The solution

A handful of endpoints. Six primitives. Done.

  • A real credit ledger — immutable history, prioritized blocks, expiry, audit trail
  • Idempotent usage metering with safe retries, no double-counting
  • Sub-millisecond entitlement checks — safe to call on every request
  • Reservations for async AI: hold credits, commit on success, release on failure
  • Full subscription lifecycle — upgrade, downgrade, pause, resume, cancel, renew

What QuotaStack does

See credits flow in real time

Every user action lands as a ledger entry — grant, use, reserve, commit, refund. Immutable, queryable, and accurate to the cent.

Credit ledger live
+1,000

Demonstration loop. Real QuotaStack ledgers are immutable and queryable via the Audit Log API.

How it works

Three steps to usage billing

Set up plans, check entitlements, record usage. That's it.

1

Subscribe users to plans

POST /v1/subscriptions
{
  "end_user_id": "user_123",
  "plan_variant_id": "var_..."
}
2

Check entitlements in real time

GET /v1/entitlements/check
    ?end_user_id=user_123
    &feature_key=api_calls

{ "allowed": true, "balance": 49000 }
3

Record usage, credits deducted

POST /v1/usage
{
  "end_user_id": "user_123",
  "feature_key": "api_calls",
  "units": 1
}

Features

The six primitives, none of the glue code

Built for AI, API, and SaaS products. Nothing you don't need.

Real-time entitlements

"Can this user do this?" answered in sub-millisecond latency. Safe to gate every request. Always reflects the latest balance.

Credit ledger

Immutable transaction history. Block-based burn-down with priority, expiry, and accumulation caps. Every credit accounted for.

Reservations

Reserve credits before long-running tasks like AI inference. Commit actual cost after. Unused credits released automatically.

Subscription lifecycle

Create, upgrade, downgrade, pause, resume, cancel, renew. Full state machine with automatic free-plan fallback.

Multi-tenant isolation

Full tenant isolation. Sandbox and live environments on the same account, picked by API key. Scoped keys per tenant.

Idempotent everything

Every mutation accepts an idempotency key. Safe retries, no double-charging. Webhook delivery with exponential backoff retry.

Compare

How we stack up

Against DIY, usage-billing platforms, SMB subscription tools, and merchant-of-record providers.

Scroll horizontally on small screens →

Feature
QuotaStack
Credit-native
Build It
Roll your own
Stripe
Billing
Orb
Metronome
Lago
OSS
Paddle
MoR
Chargebee
Subs
Time to integrate 1 day 2-4 wks 1-2 wks 1 wk 1-2 wks 1 wk 1-2 wks
Credit-native ledger Build
Real-time entitlements Build
Reservations (hold credits) Build
Sub-daily resetting quotas Build
Agent-native docs (.md + llms.txt)
Merchant of record (tax / compliance)
Self-host option
Payment processing BYO BYO BYO BYO Bundled BYO
Open API / no lock-in
Pricing Simple Eng time 0.7% rev Enterprise OSS / Cloud % MoR fee SMB tiers
Pick QuotaStack if

You're building AI, API, or credit-based SaaS and need a real ledger, reservations, and sub-ms entitlement checks — with zero payment lock-in.

Pick Lago if

You need to self-host usage billing for data-residency or compliance reasons and have engineering capacity to run it.

Pick Paddle if

You want a merchant of record to handle global sales tax, VAT, and chargebacks — and you're fine with a flat percentage take.

Pick Chargebee if

Your product is classic seat-based SaaS with coupons, dunning, and revenue ops — and you don't need a credit ledger or reservations.

Use cases

Pick the shape that matches your app

Six common billing patterns, each with a complete integration guide.

FAQ

Frequently asked questions

Does QuotaStack process payments? +
No. QuotaStack handles credits, entitlements, and usage metering. You use your own payment provider (Stripe, DodoPayments, etc.) and call our API after payment confirmation. This means zero payment lock-in.
How fast are entitlement checks? +
Sub-millisecond on the hot path. Results reflect the latest balance after every credit mutation — no stale reads. Safe to call on every API request or user action.
What happens if QuotaStack is down? +
You decide. Your integration can fail open (allow the request) or fail closed (block it). For most products, fail open with async reconciliation is the right choice. We target 99.9% uptime.
How is sandbox different from live? +
Same account, different API key. Sandbox keys (qs_test_) access isolated data from live keys (qs_live_). Develop and test without touching production data.
Is my data isolated per environment? +
Yes. Sandbox and live are fully isolated within your account — separate credits, separate ledgers, separate webhooks. And every account is fully isolated from every other account.
How are you priced? +
Sales-led pricing today, scaled to your transaction volume and the features you use. Self-serve is on the roadmap. See pricing →

Get your API keys

Tell us about your use case. We'll set up your tenant
with sandbox + live keys within 24 hours.