Billing & balance
How per-token pricing works, balance and top-ups, and usage tracking.
SoleAPI bills by token usage, with balances denominated in USD. There are no monthly fees or minimums — you pay for what you use.
Pricing rules
- Every model has its own input and output rates, expressed in dollars per million tokens; some models additionally distinguish cache read/write tokens and reasoning tokens, each billed at its own rate.
- Token counts come from the upstream's reported usage; streamed requests settle after the stream ends, using the counts in the final event.
- List prices are on the model catalog; the console shows the actual rates that apply to your account (platform discounts and multipliers apply automatically — nothing to configure in requests).
- Counting endpoints such as count_tokens do not incur model charges.
Balance & top-ups
Top up on the console's wallet page (Stripe online payment and redeem codes are supported). Every balance movement — top-ups, spend, rewards, adjustments — has a matching ledger entry, and the ledger reconciles exactly with the balance.
When the balance is insufficient, requests return 402 (balance_exhausted). Billing is post-paid (costs are known only after the upstream reports token counts), so the balance can dip slightly negative and is settled on your next top-up; see Rate limits & quotas.
Usage tracking
The console offers three levels of detail:
- Dashboard: current balance, spend trends, request volume and success-rate overview.
- Usage stats: spend and token aggregates per API key and per model.
- Detail logs: per-request records, filterable by model, key, and time range — for reconciliation and debugging.
Usage via the API
Third-party clients such as CC Switch's usage panel only have an API key and cannot open the console, so the data plane exposes a usage summary endpoint:
/v1/usagecurl https://soleapi.com/v1/usage \
-H "Authorization: Bearer $SOLEAPI_API_KEY"
# => { "remaining": 131.4, "used": 69.6, "total": 201, "unit": "Credits" }remaining is the available balance (including reward balance), used is total spend, and total is their sum; the unit is Credits (one Credit corresponds to one USD of catalog list price). Amounts are emitted as exact JSON numbers without float conversion. The endpoint is free but counts toward RPM, so don't poll it aggressively.
Cost-control tips
- Give each key a spending limit with daily/weekly/monthly resets, pushing budgets down to the key level.
- Cap single responses with
max_output_tokens/max_tokensso long outputs can't inflate costs. - Estimate long prompts with the counting endpoints before sending, and truncate over-budget requests early.
- Enable low-balance alerts so you get a notification instead of a 402.