NEW Every docs page ships a .md twin

Credit-native billing.
Agent-native docs.

The billing layer for products that sell work, not seats — AI agents, outcome-priced tools, API platforms. Credits, metering, reservations, entitlements. All the primitives, none of the lock-in. Free until you're billing real money.

Drop into
CursorClaude CodeCopilotZed
U
user_4f2a
Pro plan · metered
live
Available balance
8,420 credits
240 reserved
chat_message allowed
check · <1ms
Credit ledger append-only
debit
embed.batch
commit · idx_re
−64
debit
chat.message × 18
commit · sess_42
−18
release
video.render
job failed · refund
+240
credit
topup · checkout
stripe · pi_3Nf…
+5,000
reserve
video.render
hold · est. 240
−240
debit
image.generate × 4
commit · job_8821
−120
reserve → commit → release · settled to an immutable ledger
Billing the next layer of software
// the problem

Seat-based billing can't price a robot.

Your product does work on a user's behalf — a generation, a run, a tool call. Per-seat plans don't map to that, and rolling your own credit system means reconciling balances, races on concurrent spend, and a metering pipeline you'll babysit forever.

races
Two requests spend the last credit at once. Now you're negative.
drift
Stripe says one thing, your DB says another. Support tickets pile up.
refunds
A job fails mid-run. Crediting back the unused portion is all manual.
rebuilds
Every pricing change is an engineering project instead of a config edit.
// the primitives

Four primitives. Everything you'd otherwise build by hand.

credits.grant()

Credits

An append-only balance per user. Grant, spend, top up — every change is an immutable ledger entry you can audit.

reservations.create()

Reservations

Hold credits before a job runs, then commit the real cost or release the rest. No races, no negative balances.

meter.record()

Metering

Record usage events and roll them into credits with rules you change in config — not in a deploy.

can()

Entitlements

Sub-millisecond 'is this allowed?' checks at the edge of every request, driven by plan and balance.

// agent-native docs

Your docs are written for the thing that writes your code.

Every page has a .md twin and we publish llms.txt. Point Cursor or Claude Code at a URL and it pulls the exact, current integration straight into your repo — no copy-paste, no stale snippets.

  • Append .md to any docs URL for raw markdown
  • One-click "Copy for AI" on every page
  • Versioned, so the agent never sees a deprecated call
cursor — agent
▸ add quotastack credits to my checkout route
⠿ fetching quotastack.io/docs/reservations.md …
1 const r = await qs.reservations.create({
2 user: userId, amount: estCredits,
3 operation: "image.generate"
4 });
5 // …on success
6 await r.commit(actualCredits);
✓ applied · matches your live API version v1
// pricing that's actually fair

Free until you're running real volume.

No credit card to start. No seat minimums. Pay only for the metered events you send — every primitive included on every plan, sandbox always free.

First 100k events / mo $0
Then, usage-based $25 /mo · 1M events
Sandbox + every primitive free every plan

Ship billing this afternoon.

Install the SDK, point your agent at the docs, and start metering work in an afternoon — not a sprint.