API routers

OpenRouter pricing: what the router adds to your bill

OpenRouter pricing: what the router adds to your bill

OpenRouter applies no per-token markup on the models it routes: on the three models we checked on 14 August 2026, input and output rates matched the provider’s own grid to the cent. The fee sits on the money you load instead, 5.5% with a $0.80 minimum when you top up by card, 5% by crypto, and 5% on usage above $25,000 a month when you bring your own provider key. On those three models the only line where the two grids diverge is cached input, and on DeepSeek V4-Flash that divergence is a factor of ten. The comparator below puts your own monthly volume against both grids and prices the gap over a year.

OpenRouter cost comparator

The same monthly volume billed by the provider directly, then billed through OpenRouter with the credit fee included. All rates read on 14 August 2026.

LinePer month
Billed directly by the provider-
Tokens billed by OpenRouter-
OpenRouter fee-
Total through OpenRouter-
What the router adds-
Same gap over twelve months-

Rates per million tokens, read on 14 August 2026 from each provider's own pricing page and from the OpenRouter model catalogue the same day. The comparator prices standard tiers only: batch, off-peak, priority and long-context tiers are billed differently and are not modelled here.

What OpenRouter actually charges on top of the model price

Where the OpenRouter fee is taken: on the top-up, not on the tokens

The confusion about OpenRouter pricing comes from looking for the markup in the wrong column. There is no line in the model catalog that says “router fee per million tokens”, because that is not where the business sits. The router bills you when you convert money into credits, and everything after that is pass-through.

The fee sits on the money you load, not on the tokens

OpenRouter’s own documentation is explicit on this point: it passes through the pricing of the underlying providers without any markup, so you pay the same rate as you would directly with the provider. What it charges is a credit purchase fee, 5.5% with a $0.80 minimum on a card payment, or 5% if you pay in crypto. Read on 14 August 2026, those were the only two published fee lines for a standard pay-as-you-go account.

The arithmetic is boring but it is the whole story. Load $100 of credits by card and you are charged $105.50. Load $1,000 and you are charged $1,055. The percentage never moves, which means the router costs you a flat 5.5% surcharge on your entire model spend as long as you fund it that way. That is the number to put next to whatever you think the routing convenience is worth.

The minimum is the part that catches small accounts. At $0.80 per purchase, the fee stops being 5.5% and becomes a fixed cost below a top-up of roughly $14.55. Fund a hobby project with $10 at a time and you are paying 8% to the router, not 5.5%. Fund it $5 at a time and you are paying 16%. Nothing in the model catalog tells you this, and it is the single most common reason a small OpenRouter bill looks wrong.

BYOK, and the $25,000 threshold

The alternative is to bring your own provider key. You keep your OpenAI or Anthropic account, the provider bills you directly at its own rate, and OpenRouter only handles the routing. Read on 14 August 2026, that path was free up to $25,000 of monthly usage on a pay-as-you-go account, and $200,000 on the enterprise tier. Above the threshold, OpenRouter takes 5% of what the usage would have cost, deducted from your OpenRouter credits. The allowance is set per plan rather than fixed platform-wide, so it is the figure on this page most likely to have moved since we read it.

Two things follow. Below $25,000 a month, BYOK removes the router’s fee entirely, which is the cheapest way to use OpenRouter and the reason most serious deployments end up there. Above it, the 5% BYOK fee is still slightly cheaper than the 5.5% card fee on credits, and you also keep whatever volume commitments or committed-use discounts you negotiated with the provider, which credits cannot carry.

Three models, direct price against routed price

Below are the three models we compared line by line, with the provider’s published rate on one side and the OpenRouter catalog rate on the other, both read on 14 August 2026. The direct column comes from the same reading that feeds our per-million comparison of every major model, and the routed column comes from the OpenRouter model catalog on the same day.

ModelLineDirectOpenRouterDifference
Claude Opus 5Input$5.00$5.000%
Claude Opus 5Output$25.00$25.000%
Claude Opus 5Cached input$0.50$0.500%
DeepSeek V4-FlashInput$0.14$0.140%
DeepSeek V4-FlashOutput$0.28$0.280%
DeepSeek V4-FlashCached input$0.0028$0.028+900%
grok-4.6Input$2.00$2.000%
grok-4.6Output$6.00$6.000%
grok-4.6Cached inputnot published$0.50not comparable

All figures are per million tokens, standard tier, read on 14 August 2026.

Claude Opus 5, a clean pass-through

Anthropic and OpenRouter publish identical rates on all three lines. There is nothing hidden here, and the entire gap between paying Anthropic and paying the router is the credit fee. Run the comparator’s default workload, 50 million input tokens and 10 million output tokens a month with 40% of the input served from cache, and both sides charge $410.00 in tokens. The card fee adds $22.55, so the routed total is $432.55, a gap of 5.5% and $270.60 over a year.

That is a useful reference point because it is the honest floor. Whatever else you read about router margins, on a model with clean pass-through pricing and a card-funded account, the router costs you 5.5% and no more.

DeepSeek V4-Flash, where the cached rate diverges by ten times

Input and output match at $0.14 and $0.28 per million. The cache hit rate does not. DeepSeek publishes a cache hit at $0.0028 per million, a fiftyfold discount on its own input price. The OpenRouter catalog lists cached input for the same model at $0.028, ten times higher, which turns a fiftyfold discount into a fivefold one.

DeepSeek API pricing grid showing cache hit and cache miss rates, checked 14 August 2026
DeepSeek publishes cache hit and cache miss on separate lines. Read on 14 August 2026, the cache hit stood at $0.0028 per million against $0.028 in the OpenRouter catalog for the same model.

On a cache-heavy workload that gap is real money in percentage terms, even if the absolute amounts stay small. Take the same 50 million input and 10 million output tokens at 40% cached: DeepSeek direct comes to $7.06 a month, the routed version comes to $8.36 including the $0.80 card minimum, and the difference is 18%, more than triple the headline fee. Cheap models are where the router’s fee structure hurts proportionally the most, because the fixed minimum and the cache differential both bite hardest when the token bill is tiny.

grok-4.6, a cached rate the provider does not publish

Input and output match again at $2.00 and $6.00 per million. The interesting line is cached input: OpenRouter lists $0.50 per million, and we found no cached-input rate at all on the xAI grid we read the same day. If that OpenRouter rate is honored in practice, routing grok-4.6 is cheaper than going direct on any workload that repeats context, which inverts the usual assumption about routers entirely.

xAI Grok API pricing grid showing text input and output columns only, checked 14 August 2026
The xAI grid, read on 14 August 2026, prices grok-4.6 on two columns only, text input at $2.00 and output at $6.00 per million. There is no cached-input column to compare against OpenRouter’s $0.50.

We are flagging it rather than asserting it. A rate published in a catalog is a claim about billing behavior, and we have not run a controlled billing test against both endpoints to confirm it. In the comparator, moving the cache slider to zero removes the assumption and compares the two on identical terms.

Where the router’s list price stops matching the provider’s

What we verified, and what we could not reconcile

We verified three things directly. The fee schedule comes from OpenRouter’s own documentation, read on 14 August 2026. The routed rates come from the OpenRouter model catalog, read the same day. The direct rates come from each provider’s own pricing page, read the same day and archived as screenshots.

One thing we could not reconcile. For the OpenAI gpt-5.6 line, the OpenRouter catalog lists gpt-5.6-terra at $1.00 input and $6.00 output per million, while our reading of OpenAI’s own page that day recorded $2.00 and $12.00 for the same model name. The catalog also carries a separate tier for requests above 272,000 prompt tokens, at $2.00 input and $9.00 output, against $4.00 and $18.00 on the long-context columns of the OpenAI grid. Both tiers land on exactly half the direct rate, which is too clean to be a stale reading and too large to be a rounding artifact, so the two pages are not describing the same thing and we will not guess which. That is why gpt-5.6-terra is absent from the comparator: we do not put a number in a calculator that we cannot trace to a single reading.

Long-context tiers change the comparison again

That gpt-5.6 discrepancy points at a structural problem with comparing routers to providers. Several models are billed on more than one tier, and the tier break is not the same object on both sides. OpenRouter expresses it as a prompt-token threshold inside the pricing object, providers usually express it as a separate column on the pricing page. If your requests routinely cross that threshold, the headline rate on either side understates your bill, and comparing two headline rates tells you very little.

When the fee is worth paying, and when it is not

One key, one invoice, and fallback routing

The case for paying 5.5% is operational, not financial. One API key reaches every model, which removes the account setup, the separate billing relationships, and the per-provider rate limits from your problem list. Switching model is a string change rather than a client rewrite. For a team evaluating four or five models against the same workload, that alone can be worth more than the fee.

The second argument is availability. When a provider degrades, a router can fall back to another endpoint serving the same model, or to a different model entirely, without a deploy. If an hour of downtime costs you more than 5.5% of your monthly model spend, the fee has already paid for itself.

When going direct wins

Go direct when you have settled on one model and your volume is meaningful. At that point the routing flexibility is worth nothing to you, the fee is a straight 5.5% tax on a large number, and the provider will discuss committed-use pricing that a router cannot pass through. Go direct too when your workload leans hard on caching, because cache pricing is where the grids diverge and where the provider’s own rate is usually the better one. And if it is the fee you object to rather than the routing itself, the comparison worth running is against the other routers, not against the providers.

The middle path is BYOK. It keeps the single key and the fallback routing, bills the tokens at the provider’s rate on your own account, and costs nothing at all below $25,000 of monthly usage. For most teams past the prototype stage, that is the configuration that should be the default.

Frequently asked questions

Does OpenRouter mark up token prices?

Not on the models we checked. OpenRouter states that it passes provider pricing through without markup, and on Claude Opus 5, DeepSeek V4-Flash and grok-4.6 the input and output rates matched the provider’s published rate exactly on 14 August 2026. Cached input is the exception worth checking model by model.

What does the fee cost on a $100 top-up?

$5.50 by card, so you are charged $105.50 for $100 of usable credits. By crypto it is $5.00. The $0.80 minimum only matters below a top-up of about $14.55, where it becomes a fixed charge rather than a percentage.

Is bringing your own key cheaper?

Below $25,000 of monthly usage on a pay-as-you-go account, yes, and by the full amount of the credit fee. Above that threshold OpenRouter takes 5% of what the usage would have cost, which is still marginally below the 5.5% card fee on credits.

Why is my OpenRouter bill different from my estimate?

Three usual suspects. The credit fee is charged when you load money, so it never appears in the per-request cost you see in the logs. Reasoning tokens are billed as output even though you never read them. And a cached request may be priced differently on the router than on the provider’s own grid, which is exactly the DeepSeek case above.

How often are these figures rechecked?

Every price on this page carries the date we read it, and we recheck when a provider changes a grid or when OpenRouter changes its fee schedule. When a figure moves enough to change the conclusion, we say what moved instead of editing the page quietly.