Billing and limits
Billing and rounding
Prepaid credits, how a call is priced, and the ±$0.000001 rounding rule.
AZRouter is prepaid: you top up credits in US dollars and each call debits its cost.
What a call costs
| Currency | US dollars, prepaid credits |
|---|---|
| Cost of a call | Units used × the model's listed price per unit (input, output, cache read, cache write, image, second, character or request) |
| Metering unit | $0.000002. Each request's total is rounded to the nearest unit, halves up. |
| Balance and debits | Dashboard → Credits; every request with its cost in Dashboard → Activity |
A streamed request costs the same as the same request without streaming: both bill the token counts in usage.
Rounding
The gateway meters money in units of $0.000002 and rounds each request's cost to the nearest unit, halves up. A request can cost up to $0.000001 more or less than the per-unit math, and nothing else is added.
Two requests to qwen/qwen3.8-flash ($0.165 per million input tokens, $0.517 per million output tokens), as billed on 2026-10-16:
| Request | Input · output tokens | Per-unit math | In metering units | Billed | Difference |
|---|---|---|---|---|---|
| Rounded up | 68 · 16 | $0.000019492 | 9.746 | 10 units = $0.000020 | +$0.000000508 |
| Rounded down | 69 · 37 | $0.000030514 | 15.257 | 15 units = $0.000030 | −$0.000000514 |
Prices and the reference
Every price on the site sits next to OpenRouter's price for the same unit, with the difference: green where we charge less, red where we charge more. Markups are per model, so some models cost less than OpenRouter and some cost more. On Pricing, a reference price is struck through only on a row where our price is lower, with the saving beside it; a reference we charge more than is never struck through. Models OpenRouter doesn't carry compare with the provider's list price.
Prompt caching
Models that support prompt caching bill cached prompt tokens separately, at the prices on their model page.
| Input tokens | When | Billed at |
|---|---|---|
| Uncached | Not served from a cache | Input price |
| Cache write | A prompt prefix is stored for the first time | Cache write price |
| Cache read | A later request reuses a stored prefix | Cache read price, usually a fraction of input |
A model without a cache price bills cached tokens at its input price. usage.prompt_tokens includes cached tokens; usage.prompt_tokens_details.cached_tokens reports the cache reads. In Dashboard → Activity, each request splits its input into uncached, cache read and cache write.
Claude models
Claude Opus 5.5 (anthropic/claude-opus-5.5) and Claude Haiku 5.5 (anthropic/claude-haiku-5.5) cache prompts on these terms:
- The prompt cache TTL is 5 minutes. A request that asks for a one-hour cache (
"ttl": "1h") is served with the 5-minute cache and billed as a 5-minute cache write, at the cache write price on the model page. There is no one-hour price. - Only markers on content blocks cache. Put
cache_controlon a block insystemor in a message'scontent. Acache_controlat the top level of the request or on a tool definition is dropped, so a request that relies on those alone is not cached. Claude Code and Cline mark content blocks. - Claude Haiku 5.5 has a tier above 100K. When a request's prompt is over 100,000 tokens, cached tokens included, the whole request bills at the over-100K rates: input, output, cache read and cache write are each five times the base rate. Its model page lists both tiers.