Credits and billing
How Stav charges — prepaid credits, usage at catalogue price, a 5.5% fee when you buy, BYOK free for 10,000 requests a month, 12-month expiry, spend caps, and what a 402 means.
No subscription. Each workspace has a prepaid wallet. Requests are debited at catalogue price. The platform fee is charged once, when you buy credits.
The numbers
| What | Amount | When |
|---|---|---|
| Platform fee | 5.5% of the credits bought, minimum €0.80 | At purchase, never per request |
| Usage | The Provider Endpoint's catalogue price, no markup | Every request |
| BYOK | 10,000 requests a month free, then 5.5% of the catalogue-equivalent price | Requests served through your own provider key |
€100 of credits costs €105.50 plus any VAT, and buys €100 of usage.
Buying credits
- Card only, through Stripe Checkout, on the Billing page (
/app/billing). - €10 minimum, €20,000 maximum per purchase.
- Fee and VAT are shown before you pay.
- One invoice per purchase, one line: Stav Credits.
- Each wallet holds one currency, chosen once for the workspace. Amounts on this page are in EUR; other currencies have their own limits on the Billing page.
VAT is charged at purchase:
- Norway — 25% MVA.
- EU business with a VAT ID — reverse charge.
- EU consumer — your country's VAT where Stav's EU OSS registration is active; otherwise the purchase is refused.
- Outside the EU/EEA — no VAT.
Usage is never invoiced separately. It is a wallet debit, itemised per request in Your workspace → Monitor → Request log.
Auto top-up. Set a threshold, an amount and a monthly ceiling. When the balance drops below the threshold, Stav charges your saved card and issues a normal invoice. After three failed charges in a row, auto top-up switches off and the owner is emailed.
Enterprise. Larger agreements are invoiced by Stav and credited to the wallet manually. Same ledger, same prices.
What a request costs
Each model page lists its Provider Endpoints with input and output prices per million tokens. A request is priced at the endpoint that served it (X-Stav-Model and X-Stav-Provider on the response). Cached prompt reads are billed at 10% of the input price.
Endpoints marked free work with an empty wallet and debit nothing.
BYOK
Add your own provider key under Your workspace → Connect → Inference Providers: choose Attach key on the provider's row. Matching requests go through your provider account: the provider bills you for tokens. Stav still routes, applies policy and logs.
- First 10,000 BYOK requests each calendar month: free.
- After that: 5.5% of what the catalogue would have charged. A €0.0100 request debits €0.00055.
- Over the allowance with a zero balance, the request is refused before the provider is called.
Expiry
| Credit | Expires |
|---|---|
| Purchased | 12 months after purchase |
| Sign-up grant (€5, first workspace a user creates) | 30 days |
| Promotional or manual grants | 6 months |
Oldest credit is used first. Expiry notices go out 30 and 7 days before a lot expires.
Spend caps
Set on the Billing page (workspace), the API key page (per key) and the router page (per router).
- Scope: workspace, API key, or router.
- Period: daily or monthly.
- Hard caps block the request that would cross the limit. Soft caps never block.
- Both alert at 50%, 80% and 100%.
- Per-request ceiling: blocks a single request whose projected cost (endpoint price × estimated tokens, including
max_tokens) exceeds the limit.
All checks run before the provider is called. Spend totals are cached for about 30 seconds, so a burst can pass a hard cap slightly.
At zero: the 402
A priced request needs a positive balance before it is dispatched. It is debited when it completes, so the last request can take the balance slightly below zero. The next priced request is refused:
{
"error": {
"message": "Your workspace's wallet is empty. Add credit to use priced models, or call a free endpoint. Top up at /app/billing.",
"type": "insufficient_quota",
"code": "wallet_empty",
"param": null
}
}
| Status | code | Meaning | Action |
|---|---|---|---|
| 402 | wallet_empty | No balance for a priced request, or for the BYOK fee | Top up |
| 402 | budget_exceeded | A hard cap was reached; the message names it | Raise the cap or wait for the period |
| 402 | request_cost_ceiling | This request's projected cost is over the ceiling | Lower max_tokens or raise the ceiling |
| 503 | gate_unavailable | Stav could not read the balance. Not run, not charged | Retry |
If the gateway cannot read your balance, caps or spend, it does not guess. The request is refused with HTTP 503 and code gate_unavailable, and nothing is charged. Retry with backoff.
Nothing is served on credit, and nothing is queued.
Reading your spend
- Your workspace → Monitor → Request log — cost, model, Inference Provider, tokens per request.
- Your workspace → Monitor → Spend — spend per day, by model, by Router and by API key. Narrow it to one Router, key, model or Provider Endpoint surface, and pick a period of up to 90 days. Each row and each day opens the requests behind the number. Export as CSV.
- Your workspace → Monitor → Usage — requests and tokens, with the same filters.
- Billing — balance, purchases, invoices, expiring credit, caps.
X-Stav-Request-Idon every response joins your logs to ours. See Response headers.