One API. Four problems solved.
Everything you'd otherwise build yourself before you can charge your first customer.
Authentication
Google OAuth in one line. JWT access + refresh tokens, fully managed. Each project gets isolated users — nothing leaks between tenants.
Billing
Stripe Checkout wired in. Define a plan and billt creates the Stripe Product + Price for you — subscriptions or one-time payments.
Metering
Per-plan credit buckets for anything you meter — API calls, tokens, exports. Auto-refills every billing cycle.
Credits
Balances are lazily provisioned per user. Consume, check, and gate features in real time with a single call.
From zero to shipped in three steps
No infrastructure to provision, no auth server to run.
Create a project
Sign in with Google, create a project, get your API key instantly.
Add your credentials
Drop in your own Google OAuth and Stripe keys — your users, your money, billt never touches either.
Call the SDK
Login, checkout, usage — a handful of endpoints, one API key. Ship the rest of your product instead.
What you can build with one API
Same four primitives — auth, subscriptions, credits, metering. Five very different products.
A GPT wrapper or AI tool. Log users in, sell credits, and burn one on every generation — the whole money layer with no backend to run.
- Google sign-in, no auth server
- Credit packs sold via Stripe
- Deduct a credit per generation
- Auto-gate when the balance hits zero
A classic tiered SaaS. Google login, Free / Pro / Team plans and recurring Stripe billing — provisioned for you from a single plan definition.
- Google sign-in with JWT sessions
- Free / Pro / Team, created in Stripe
- Checkout plus customer portal
- Gate features by plan in one call
Sell your own API. Meter calls per key, cap usage by plan, and nudge an upgrade the moment a customer hits the ceiling.
- Per-key usage metering
- Plan-based rate caps
- Overage turns into an upgrade prompt
- Usage data ready for a dashboard
One backend for many client apps. Each project gets isolated users and its own Google and Stripe keys — nothing leaks between tenants.
- Isolated user pool per project
- Client's own OAuth and Stripe keys
- One API key per project
- Zero cross-tenant leakage
A freemium app with real limits. Give a free quota in credits, refill it every cycle, and lift the cap the moment they upgrade.
- Free quota as a credit bucket
- Auto-refill every billing cycle
- Upgrade to raise the limit
- Real-time balance checks
// burn one credit per generation
const ok = await billt.credits.consume({
user: session.user,
amount: 1,
});
if (!ok) return redirect("/billing");
// out of credits? sell a top-up
await billt.checkout.create({
plan: "credits_100",
});
Simple, usage-based pricing
Start free. Upgrade when your MAU grows.