Pareto Router
The Pareto Router (openrouter/pareto-code) is a way to have OpenRouter always pick a strong coding model for your needs without committing to a specific one. You express a single min_coding_score preference between 0 and 1, and the router routes your request to a coding model that meets that bar.
Overview
The name comes from Pareto efficiency: at any given cost or capability point, we route to a coding model that sits on the quality/cost frontier we maintain for OpenRouter-hosted models.
The Pareto Router is tuned for coding use cases. It maintains a curated shortlist of strong coding models currently available on OpenRouter, ranked by Artificial Analysis coding scores. Your min_coding_score picks out how capable the selected model needs to be — higher scores route to stronger (and typically more expensive) models. The exact shortlist and selection logic evolve over time as new models land and benchmarks shift.
Usage
Set your model to openrouter/pareto-code and optionally pass the pareto-router plugin to control the minimum coding score:
The min_coding_score parameter
min_coding_score is an optional number between 0 and 1, where 1 is best. It sets a floor on how capable the selected model needs to be for your request. Higher scores route to stronger coders at the top of the shortlist; lower scores open up cheaper, faster options.
If you omit min_coding_score, the router defaults to the strongest available coders.
The router resolves a primary coding model plus up to two fallbacks from your chosen tier. On transient provider errors or rate limits, the request cascades through that sibling chain before failing. If the entire tier has no models currently published on OpenRouter, the router steps into a neighboring tier instead. The response model field always reports the concrete model that handled the request.
Response
The response includes the model field showing which coding model was actually used:
How It Works
- Shortlist resolution: Your
min_coding_scorevalue is used to pick the set of coding models that meet your quality bar. - Candidate filtering: The router filters the shortlist to models that are currently published on OpenRouter.
- Selection: An ordered list of candidates is drawn from the filtered shortlist, a primary model plus up to two in-tier fallbacks, sorted by price (or by p50 throughput when you request the
:nitrovariant). - Runtime fallback: If the primary endpoints are unavailable due to transient provider errors or rate limits, the request cascades through the sibling chain. Only when the entire tier is missing from the catalog does the router step into a neighboring tier.
- Request forwarding: Your request is forwarded to the selected model.
Pricing
The Pareto Router itself adds no fee. You pay only for the underlying model that handles the request. Because model selection varies across the shortlist, per-request cost will vary too. Use a lower min_coding_score when cost is the primary concern.
Limitations
- Coding only:
openrouter/pareto-codeis tuned for coding tasks. For other use cases, use a different router or choose a specific model. - Model selection may change over time: For a given
min_coding_score, the same model is selected deterministically (sorted by price). However, the selected model may change when the underlying shortlist is updated (e.g. new models are added or benchmarks shift). Within a conversation, provider sticky routing keeps your requests on the same provider endpoint to maximize cache hits. - Coding score only:
min_coding_scoreis the only router parameter. You can’t directly cap cost or latency per request.
Related
- Auto Router - Intelligent model selection across all task types
- Free Models Router - Zero-cost model selection
- Body Builder - Generate multiple parallel API requests
- Model Fallbacks - Configure fallback models