Get started

Welcome

Build a portal for your AI product. Metered, capped, and billed on the way through.

seams sits between your product and the model providers. Every request through it is measured, charged against a wallet, and stopped at a cap you set. Your customers get their own key, their own balance, and a billing page with your name on it.

You do not have to write the joins. Point your base URL at us, mint one ak_ key per end user, and the accounting happens in the path.

Start here

What it replaces

You would otherwise writeWhat seams does
A per-user token counter and a cron to reconcile itUsage recorded per request, per key, per model
A balance column and a race you hope never happensavailable = balance − hold, atomic
A cap check before the call that is wrong mid-streamA reservation that aborts the stream at the limit
Provider keys in your env, shared by everyoneOne credential per tenant, decrypted per request
A billing page you keep meaning to buildA branded portal at your own domain

seams never stores prompts or completions. The usage record has no messages field, no body, and no room for one. That is a property of the type, not a setting.

Need a hand