Discord

The platform fee

One flat rate across every modality. Chat completions, embeddings, the Batch API, audio (text-to-speech and transcription), and image and video generation — including image output reached through /v1/chat/completions with modalities: ["image", "text"] — are all billed at provider list price × 1.025 — a flat 2.5% platform fee.

Either way, the fee is itemized in the trace as its own line next to provider cost, never blended into one opaque number, and applies uniformly whether you pinned a model explicitly or routed with model:"auto". See live per-model pricing at /models or /pricing.

Prepaid credits

Your org spends against a prepaid USD balance, decremented per request. A balance at or below $0 gets a hard 402 on every live key — test keys are unaffected, since they never touch a real provider or a real balance (see Authentication).

Topping up

From /settings/credits, a top-up charges card or ACH via Stripe Checkout. The amount you enter is the net credited to your balance; the gross charge adds a separate, disclosed Stripe fee — priced as an exact pass-through of Stripe's real per-charge cost (2.9% + $0.30 for US cards, 4.4% + $0.30 for non-US cards), not a flat rate, so it always covers what card processing actually costs regardless of deposit size — the same honest framing as the fee you'd pay depositing into any competing aggregator, just itemized rather than hidden in the rate. A minimum deposit of $10 applies, so the fixed processing cost doesn't dominate a tiny top-up.

Accounts with at least $500 of lifetime spend can also top up by ACH bank transfer at Stripe's 0.8% rate (capped at $5). Credits are added once the transfer clears, typically within 4 business days, and become spendable a further 7 days later. ACH top-ups are limited to $2,000 each and $5,000 per 60 days.

Manual top-ups are rate-limited (a few per hour) to prevent runaway Checkout Session creation — hitting the limit returns a 429 topup_velocity_exceeded.

Auto-reload

Configure a threshold and a top-up amount from /settings/credits — once your balance falls below the threshold, your saved payment method is charged automatically, bounded by a daily cap you set (up to a platform-wide ceiling). Auto-reload disables itself after repeated consecutive failures rather than retrying indefinitely against a broken card.

Per-key spend caps

Separately from your org's credit balance, an individual key can carry its own monthly_spend_cap_usd — a hard ceiling on that key alone. Once a request would put the key within its final stretch of budget, its max_tokens is automatically clamped to what's left rather than letting one call blow past the cap. See Authentication for the full set of per-key policy fields.

Tracking spend

GET /api/credits returns your balance, the current minimum deposit and Stripe fee rate, and recent transactions. The /usage dashboard rolls this up further: spend over time, savings vs. frontier pricing, model mix, and latency.