OpenRouter vs Nadir: Paying for Access, or Paying for Outcomes

OpenRouter's model="auto" chooses from its marketplace, while Nadir's decision API returns model, reasoning effort, cache, context, policy, and economics. It sits beside the gateway you already run. Start in shadow mode and attach outcomes before enforcement; complete non-streaming proxy responses can optionally enter a verifier cascade. Same word, different adoption paths.

Published 2026-07-22 by Dor Amir on the Nadir blog.

Filed under Nadir & Alternatives.

Two "auto routers" that solve different problems

Type model="auto" into an API call today and it can land in two very different places. On OpenRouter, openrouter/auto hands the prompt to a third-party router, NotDiamond, which picks from a rotating pool of models against a single 0-10 cost_quality_tradeoff slider, default 7. Source: OpenRouter, "How OpenRouter Model Routing Works: Providers, Fallbacks & Auto Router". On Nadir, model="auto" hands the prompt to a router Nadir trained itself, backed by a verifier that scores the cheap model's actual answer before deciding whether to escalate. Same three letters. Different products underneath.

Both companies call themselves routers. Only one of them built per-request model selection as its entire reason to exist; for the other, it's one mode inside a much bigger access-and-reliability product. This is the honest comparison: what each one actually is, how each one prices itself, and which problem you actually have.

What OpenRouter is

OpenRouter is a unified API and model marketplace: one endpoint, one API key, and 60+ inference providers supported for bring-your-own-key setups, including OpenAI, Azure, AWS Bedrock, and Google Vertex. Source: OpenRouter Docs, "FAQ". The default behavior most teams reach for is choosing a model themselves, then letting OpenRouter run two separate reliability layers underneath that choice. Provider routing picks among providers serving the same model, deprioritizing recent outages and weighting toward cheaper providers by default, or forced explicitly via :nitro for throughput and :floor for cost. Model fallbacks are an opt-in ordered list OpenRouter cascades through if the primary model errors, hits a context-length limit, or gets rate-limited. Source: OpenRouter, "How OpenRouter Model Routing Works: Providers, Fallbacks & Auto Router"; Source: OpenRouter, "OpenRouter Failover: Provider Failover vs Model Fallbacks Explained". You're billed for whichever model actually answered, not the ones that failed first.

The one mode that does automatic per-prompt model selection is openrouter/auto, and OpenRouter is explicit that it isn't OpenRouter's own routing brain: it's "powered by NotDiamond," the same third-party predictive router this blog has named before as one of several that ship no verification step, evaluating each prompt and choosing from a pool of capable models against that single cost-quality slider. Source: OpenRouter, "How OpenRouter Model Routing Works". It's a real, usable feature. It's also one option among hundreds in a marketplace whose core product is access and uptime, not a decision that gets checked against the answer it actually produced.

OpenRouter's own growth reflects what it's built for: it raised $113M at a $1.3B valuation in the same 30-day funding window that saw DeepInfra and Portkey pull in similarly large checks, on the pitch that the access layer between an app and every model provider is now mandatory infrastructure. Mandatory access infrastructure and mandatory decision infrastructure are both real categories. They aren't the same category.

What Nadir is

Nadir is an auditable decision layer that can run beside an existing gateway or execute through an OpenAI-compatible proxy. Start in shadow mode: the caller's requested model keeps serving while Nadir records the governed model-and-effort counterfactual. Complete non-streaming proxy responses can optionally enter a reference-free verifier cascade; streaming bypasses it.

from openai import OpenAI

client = OpenAI(base_url="https://api.getnadir.com/v1", api_key="YOUR_NADIR_KEY")

resp = client.chat.completions.create(
    model="auto",  # scored and routed; complete-response verification is optional
    messages=[{"role": "user", "content": "Summarize this contract clause..."}],
)

In a reference-assisted RouterBench research experiment on 11,420 triples, that architecture projected 60% lower cost at about 98% retained quality. The verifier had the expensive reference answer unavailable in production, so this is a research ceiling. Nadir's production wedge is the auditable decision receipt, shadow-to-enforce workflow, optional execution, and self-hosted delivery.

The fee model is the actual tell

Here's the difference that shows up on an invoice regardless of which router made the better call. OpenRouter charges to move money onto its platform: a 5.5% fee, $0.80 minimum, on Stripe credit purchases, or 5% via crypto, plus a 5% fee on BYOK requests once you clear the first 1 million free ones each month. Source: OpenRouter Docs, "FAQ". Both fees apply the same way whether or not the request that just ran needed the model it got routed to. They're a toll on volume.

Nadir has no base fee. Credits for Nadir-managed keys draw down at provider list price, and a 5.5% platform fee (8% on Business) is added when you buy them, the same rate as OpenRouter's. On your own keys, your provider bills you directly and Nadir adds no fee. What routing saves carries no fee either.

OpenRouterNadir
Core productUnified API + model marketplace across 60+ providersManaged per-request decision layer
Default model selectionYou choose the model, or a static fallback listRouter scores and picks per request
Automatic per-prompt routingOpt-in openrouter/auto, powered by NotDiamond, single cost/quality sliderDefault behavior, first-party router plus verifier
Complete-response verificationNot part of the stated designOptional for eligible non-streaming managed-proxy calls
Provider-level reliabilityAutomatic failover across providers for the same modelFallback chains across models and providers
Pricing5.5% credit-purchase fee ($0.80 min); 5% BYOK fee above 1M free requests/monthNo base fee; 5.5% on credit purchases; no fee on own keys
Pay if it doesn't help youYes, the access fee applies regardless of outcomeOnly the credit platform fee; own keys and routing savings carry no fee
Source-available / self-hostNot applicable, hosted onlyRouting core self-hostable, PolyForm Noncommercial
Published quality resultNot the product's stated focusReference-assisted 60% / 98% RouterBench research ceiling; not deployed performance

Source: OpenRouter Docs, "FAQ"; Source: OpenRouter, "How OpenRouter Model Routing Works".

Two different jobs, not two rankings of the same job

If the problem in your head is "I need one key that reaches Claude, GPT, Gemini, and open-weight models without juggling five SDKs, and I need it to survive a provider outage," that's an access and reliability problem, and OpenRouter is built for exactly that, at real scale, with a funding round to prove the market agrees. Access to more models doesn't answer a different question, though: once you can reach every model, something still has to decide which one handles this specific request, and by default that's still you, writing a model string or a static fallback order into your code.

If the problem in your head is "I'm calling GPT-5.5 or Opus for requests a cheaper tier could have answered just as well," more access doesn't fix that. A bigger menu doesn't tell you what to order. Nadir starts by measuring that decision in shadow mode, then lets you enforce the routes whose executed economics and outcome labels clear your bar. Optional complete-response verification adds routing evidence on eligible proxy calls; it is not a universal quality guarantee.

Which one fits your team

Bottom line

OpenRouter and Nadir both put model="auto" in front of a request, but the adoption contract differs. OpenRouter is an access-and-execution product. Nadir can return an auditable model-and-effort receipt beside the gateway you already run, then optionally execute through Hosted Route after outcome-labelled shadow evidence clears the bar. Complete non-streaming proxy responses can enter the verifier; streaming bypasses it. If your problem is reaching more models reliably, that is OpenRouter's job. If your problem is proving which model and effort each task deserves, start free or read the complete guide to cutting LLM API costs.


Sources: [OpenRouter Docs, "FAQ"](https://openrouter.ai/docs/faq). [OpenRouter routing](https://openrouter.ai/blog/insights/model-routing/). Nadir's 60% / 98% figures are a reference-assisted research ceiling on 11,420 RouterBench triples; see [the corrected verifier piece](/blog/routing-without-verification-dead-reckoning).

More on nadir & alternatives

What Nadir is

Nadir is an LLM router. Nadir sends each prompt to the cheapest model that can handle it. A small decision model reads each prompt against your model menu and picks the lowest-cost model it expects to handle it. When the decision model is uncertain or unavailable, the request goes to the strongest model on the menu. The routing step makes no call to your model provider.

Nadir runs two ways. The decision API returns a model, reasoning-effort, cache, context, and policy recommendation without calling a model provider, beside the gateway you already run. That is how a shadow-mode evaluation works, and its projected savings stay advisory. The OpenAI compatible managed proxy executes the route, and migration is a two-line change: point the base URL at api.getnadir.com and set model to auto. On that path an optional verifier can score a complete non-streaming answer and escalate to a stronger model when it misses the configured bar. Streaming bypasses post-generation verification. BYOK is supported on every tier.

For coding agents, Nadir Auto is a terminal launcher for Claude Code or Codex that asks Nadir for the main-session model before each turn, with your configured model as the fallback and cost ceiling. Delegation integrations for Claude Code, Codex, or Cursor instead recommend a model tier for subagent work, and the agent decides; the Claude plugin can also move a main-thread turn to Haiku when Nadir's cache check prices it cheaper, unless its switch_main_model option is off. Either way inference runs on your own provider account, so Nadir holds no provider keys on that path.

What the numbers are, and what they are not

Nadir publishes each evaluation with its scope. On checkable code, run-check-escalate solved 392 of 395 common HumanEval and MBPP problems (99.2%), graded by running the canonical tests; that applies only to tasks with runnable deterministic tests. Nadir-Tumbler posts an arena_score of 72.3 on RouterArena's public scorer, 5th of 23 routers, which measures the routing decision on RouterArena's own model pool. A reference-assisted RouterBench evaluation over 11,420 held-out triples produced a 60% lower projected cost than always-Opus with about 98% retained quality and a 1.7% catastrophic-route rate. That experiment gave the verifier the expensive-model reference answer, which production does not have, so it is a research ceiling and not the deployed path.

None of these is a production guarantee, a universal savings rate, or a forecast for any particular workload. Customer savings are reported from measured execution against a declared baseline, and customer quality only from outcome-labelled traffic. Projected savings and realized savings are separate artifacts and are never blended.

Design-partner program

Three rungs, picked by risk appetite. Rung 0 Shadow runs advisory decision calls alongside live traffic and returns a projected receipt, with nothing in the request path changed. Rung 1 Hosted is the two-line swap on a production slice and returns a realized receipt. Rung 2 On-prem is a supervised six-week proof of concept inside the partner's VPC, where no prompt, response, or usage reaches Nadir. The commitments are the same at every rung. Apply for a rung directly: Rung 0 Shadow, Rung 1 Hosted, or Rung 2 On-prem. Not sure which fits? Start at getnadir.com/contact/?reason=design-partner.

Licensing

NadirClaw is the self-hosted core, source-available under the PolyForm Noncommercial License. Source-available is the correct label; NadirClaw is not open source. Nadir Route's hosted plan has no base fee and charges a variable fee only on measured savings from requests Nadir executed.

Pages on this site

Machine-readable summaries of this site: llms.txt and llms-full.txt.