Credits & Billing
Plan credit and bought credit, how request cost is calculated, top-ups, and reading your balance from the API.
Your account holds a USD balance and each request deducts its exact token cost. Pay-as-you-go has no fixed fee. Paid plans (Go, Pro, Pro+, Max) add a monthly price for included credit and higher limits; see Pricing & Plans. Manage everything at the Credits dashboard: Subscription (your plan), Pay as you go (balance, top-ups, invoices, history) and Payment methods (saved cards; auto-charge is coming soon).
Two kinds of credit
| Bucket | What it is | Expires? |
|---|---|---|
| Plan credit | Issued by AnyRouter: the plan's monthly credit (Go $4, Pro $20, Pro+ $100, Max $300) plus referral or promo bonuses. Free includes none. | Use it while you have it. |
| Bought credit | Credit you purchase. | Never expires. |
Usage is charged to plan credit first, then bought credit. Total balance is the sum of both. The monthly plan credit is granted on activation and each renewal, and a retried payment never double-grants.
Getting your first credits
The Free plan has no monthly credit and no signup bonus. It has a 5-request trial on free and decision models. Two low-cost routes both give you Go:
- Subscribe to Go ($2/mo): $4 in credits every month, plus free models (
anyrouter/freeand:free, no daily cap) and decision models. - Donate a provider key to the shared pool: one working key no other account has donated grants Go for free (same $4/mo). The pool also serves your own requests free while the key stays valid.
On any plan you can top up and pay per token, or use BYOK (your own keys never deduct credits). On Free, purchased credit pays for paid models only: a paid model with no purchased credit returns 403 paid_models_require_credit, and free models still need Go after the trial.
How costs are calculated
| Token type | Billed at |
|---|---|
| Input | Model's input price per 1M tokens |
| Output | Model's output price per 1M tokens |
| Cached | Provider's cache-read rate (typically 10% of input) |
| Cache write | Provider's cache-write rate (typically 125% of input) |
Prices are on the models page. Example for anthropic/claude-sonnet-4-6:
Input: 1,000 tokens @ $3.00/1M = $0.003
Output: 500 tokens @ $15.00/1M = $0.0075
Total: $0.0105If 800 of the 1,000 input tokens were cached: $0.00024 + $0.0006 + $0.0075 = $0.00834 (20% less).
Topping up
Top up any amount from the Credits dashboard via Polar. Very small amounts may be declined by the processor; try a larger one.
You choose the credit amount. Polar, the Merchant of Record, charges it plus a 5% + 50¢ processing fee, and AnyRouter keeps $0 of that fee. Polar may add sales tax on the card; tax is not extra credits.
| Top up $10.00 | Amount |
|---|---|
| Credits you receive | $10.00 |
| Polar fee (5% + 50¢) | $1.00 |
| Charged before tax | $11.00 |
Purchased credit lands in bought credit and is spent after plan credit. Polar emails a receipt; turn billing emails off under Notifications.
If a request would take your balance below zero, the API returns insufficient_balance and does not process it: no tokens used, no charge. Top up and retry.
{
"error": {
"code": "insufficient_balance",
"message": "Insufficient credits. Your balance is $0.00. Please purchase credits at /dashboard/credits, add your own provider key (BYOK) at /dashboard/byok, subscribe to a plan at /pricing, or donate a free key to the shared Pool at /dashboard/byok/new?donate=1. Free models need the Go plan.",
"metadata": {
"type": "insufficient_credits"
},
"actions": [
{ "type": "top_up", "label": "Top up credits", "url": "https://anyrouter.dev/dashboard/credits?topup=1" },
{ "type": "add_byok", "label": "Add your own provider key (BYOK)", "url": "https://anyrouter.dev/dashboard/byok" },
{ "type": "subscribe", "label": "Subscribe to a plan", "url": "https://anyrouter.dev/pricing" },
{ "type": "donate_key", "label": "Donate a free key to the shared Pool", "url": "https://anyrouter.dev/dashboard/byok/new?donate=1" },
{ "type": "use_free_models", "label": "Keep going on free models", "url": "https://anyrouter.dev/docs/features/free-tier", "model": "anyrouter/free" }
]
}
}error.actions lists next steps so a client or agent can show options without parsing the message.
Checking your balance
The Credits page shows both buckets, total balance, total spend, today's cost and the transaction history. From the API:
curl https://anyrouter.dev/api/v1/credits \
-H "Authorization: Bearer sk-ar-your-key"{
"balance": 12.53,
"monthly_balance": 8.0,
"topup_balance": 4.53,
"plan_credit": 8.0,
"bought_credit": 4.53,
"used": 12.47,
"today_cost": 0.42,
"currency": "usd"
}balance is the total. monthly_balance (also plan_credit) is spent first; topup_balance (also bought_credit) after.
curl "https://anyrouter.dev/api/v1/credits/transactions?limit=20" \
-H "Authorization: Bearer sk-ar-your-key"| Field | Description |
|---|---|
type | purchase (top-up), usage, signup_bonus (ledger type only, not issued to new signups while disabled), pro_credit (monthly Go/Pro/Pro+/Max credit), refund, admin_grant, bonus |
amount | Positive for credits added, negative for usage |
model_id | The model used (for usage) |
balance_after | Balance after this transaction |
Every chat completion response also includes usage (prompt_tokens, completion_tokens, total_tokens, cached_tokens) so you can compute cost client-side with the model's published pricing.
BYOK requests never deduct AnyRouter credits on any plan. You pay the provider at list price with no AnyRouter fee. See BYOK.
AnyRouter routes requests to third-party models. Models and outputs are provided as is, with no warranty; you use them at your own risk. Disclaimer