Wallets you top up, calls users make direct.
You handle payments your way and call our API to top up. We debit per token, per tool, per request. End users can also call Assistiv directly — no server hop, no proxy code, their wallet still pays.
Billing
Per-user wallets you top up via API. Plus client-side calling — end users hit Assistiv directly.
- Wallets
- Top-ups
- Refunds
- Pre-flight
- Holds
- Tier budgets
The three things billing actually does.
You top up, we debit.
Bring any payment processor — Stripe, Paddle, invoicing. Call walletTopUp() to credit the end-user. We debit per token, per tool, per request. Atomic. Audit-logged.
→ per-user wallets
200 · 99.95%
End users call Assistiv directly.
Issue an sk-eu_ key per end-user. Their browser/app calls api.assistiv.ai with it — no proxy through your server, no streaming code to write. Their wallet still pays.
→ client-side calling
200 · 99.95%
Tokens, tools, agents — same wallet.
Estimate up front, hold the cost, settle when the job finishes. Streaming, batches, tool-chains, MCP calls all reconcile to the cent against one wallet.
→ refunds + holds
200 · 99.95%
Hand-rolling a wallet table with row locks, atomic debits across streaming + tools, refund/hold flows, and concurrency-safe top-ups is a six-week project. We did it once. You can have it.
Urgent backstory
We watched five AI startups in a row hand-roll the same billing stack — and burn three weeks doing it. We packaged ours so you don't have to. Drop the SDK in once; this product, plus the rest of the suite, comes with it.
Four common
ways teams ship with Billing.
Per-user wallets
One wallet per signup. Top up via API after any payment flow you run. Debits are atomic, audit-logged, concurrency-safe.
Client-side calling
End users call api.assistiv.ai directly with their sk-eu_ key. No proxy server. Streaming works out of the box.
Refunds + holds
Reverse a charge with one API call. Hold against streaming jobs. Manual adjustments are first-class, not a hack.
Hosted receipts
Branded statement page for end users. CSV export. Per-user, per-month rollups.
Four steps, ten minutes.
Create end-user
endUsers.create({ id: "u_28f3a" })Top up via API
wallets.topUp({ user, amount })Pass user on calls
client.chat({ user: "u_28f3a", ... })Auto-debit on settle
Tokens, tools, agents — all reconciled
The stack you already have.
Wallets shipped Friday. Charged users by Monday. We deleted ~900 lines of Stripe glue.
— Aleks · founder, DrafthubFree to ship. Pay when you scale.
per request, after free tier. No markup on tokens. Cancel anytime.
Shipping this quarter.
Ship per-user billing this afternoon.
We onboard 1–2 indie startups a week. If you'd rather ship features than maintain a billing stack, talk to us.