Documentation
Pricing, Balance, and Quota in the NexoRouter documentation.
Pricing, Balance, and Quota
NexoRouter uses prepaid balance and usage-based billing. You add balance first, then API requests consume quota according to model usage.


The Billing dashboard screenshot uses sanitized demo data. Your real balance, quota, transactions, and receipts will differ.
Core concepts
| Concept | Meaning |
|---|---|
| Prepaid balance | Account-level balance shared by API keys. |
| Quota | Internal usage unit. 1 USD = 500000 quota. |
| API key budget | Optional hard cap for one key. |
| Model scope | Optional list of models one key can call. |
| Usage Logs | Request records with model, key, tokens, cost, latency, status, and request ID. |
| Billing | Dashboard area for balance, top-ups, and recent payments. |
Top-up options
The Dashboard offers standard top-up packages:
| Package | USD | Quota added |
|---|---|---|
| Starter | $5 | 2500000 |
| Growth | $20 | 10000000 |
| Scale | $100 | 50000000 |
| Enterprise | $500 | 250000000 |
Custom top-ups are supported from $5 to $10000, rounded to cents.
The amount you choose is the API credit added to your balance. Stripe Checkout
shows a separate credit-purchase service fee of 5.5%, with a minimum fee of
$0.80. For example, buying $20 of API credit produces a checkout subtotal
of $21.10 before any applicable tax. The service fee is non-refundable.
Applicable taxes, if any, are displayed separately at checkout.
How requests are charged
Most chat requests use:
- input tokens;
- output tokens.
Each model has its own input and output price. The actual charge is visible in Usage Logs as both USD and quota.
Balance and key budgets
Workspace balance is shared, but key budgets let you limit risk.
Recommended setup:
| Key | Budget | Scope |
|---|---|---|
local-dev | $5 | All chat models or one low-cost model |
staging | $20 | Models used by staging |
production | Custom budget or workspace balance | Only models the app actually uses |
Insufficient balance
insufficient_quota means the workspace balance or key budget cannot cover the request.
Fix it:
- Open Billing and check current balance.
- Open Usage Logs and check recent spend.
- Add balance or create a replacement key with the right budget.
- Retry the request.
Cost control
- Create separate keys for dev, staging, and production.
- Use hard key budgets for experiments and external tools.
- Start with lower-cost models during integration testing.
- Set
max_tokensduring development. - Avoid automatic infinite retries.
- For slow models, raise the client timeout instead of canceling and retrying quickly.
Payment boundaries
Payment support follows the product paths available in the Dashboard:
- Top-ups are made from Billing.
- Stripe Checkout is the supported online checkout path.
- The credit principal and service fee are separate Checkout line items. Only the credit principal is added to your NexoRouter balance.
- Balance is credited after the signed payment confirmation is processed.
- Eligible completed Stripe payments show an Open receipt link in Billing. The link is authenticated by NexoRouter and opens Stripe's hosted receipt; internal payment identifiers are not shown in the dashboard.
- Refunds, disputes, and manual credits require human review. A refund of the credit principal reverses the corresponding quota; the credit-purchase service fee is non-refundable.
A Stripe hosted receipt confirms the payment. It is not automatically a local tax invoice. Contact support before purchase if your organization requires specific invoice or tax fields.