opencheap.si
Credits

An LLM router that sends each request to the cheapest provider

Yes. OpenCheap is an LLM router that sends every request to the cheapest healthy provider of the model you name. You call one OpenAI-compatible API with one key; for each request it ranks the providers serving that model by price, skips any that are failing, and sends it to the cheapest one left. If that provider fails before the first byte, the next cheapest takes the same request. You pay the price of the provider that answered.

Get API key Updated November 14, 2026
894
chat models on one key
126 of 329
models priced below their list price
5 min
between catalog refreshes

How the router picks a provider

The same four steps for every request, whether it is paid from a balance or per call in USDC.

  1. 1
    Rank by price
    Every provider serving the model is ranked by its price for this request: the prompt and the output it asks for, at that provider's rates.
  2. 2
    Skip the unhealthy
    Circuit breakers per provider and model, and test requests around the clock, keep a provider that is failing, slow to start or ignoring the output limit out of the ranking until it recovers.
  3. 3
    Fail over before the first byte
    The cheapest provider left gets the request. If it errors or times out before answering, the next one takes the same request.
  4. 4
    Bill what that provider charges
    You pay the price of the provider that answered, and usage.cost in the response says what it was.

Same model, our price and its list price

Popular models, per million input and output tokens, as of 2026-11-15 02:18 UTC. The list price is the public rate the same model is listed at; the difference is on a 1 : 3 input : output blend.

ModelOpenCheap / 1M in · outList / 1M in · outDifference
Claude Sonnet 5$0.540 · $2.70$2.00 · $10.00−73 %
Claude Opus 5.5$4.00 · $20.00$4.00 · $20.00same
GPT 5.5$2.10 · $13.00$5.00 · $30.00−57 %
Gemini 3.5 Flash$0.012 · $0.068$1.50 · $9.00−99 %
DeepSeek V4 Flash$0.090 · $0.120$0.090 · $0.180−29 %
Kimi K3$0.044 · $2.00$0.192 · $16.00−87 %
gpt-oss-120b$0.00074 · $0.0032$0.150 · $0.600−99 %
GLM 5.3 Flash$0.0035 · $0.0068$0.040 · $0.078−91 %
Llama 3.3 70B Instruct$0.023 · $0.073$0.710 · $0.710−91 %
Grok 4.7$2.00 · $6.00$2.00 · $6.00same

Some models cost the same as their list price, because every provider charges it; a few cost more. All models are on one page with every provider's price.

How other routers handle price

From each one's own docs, as of November 14, 2026.

Cheapest provider by default?How you run it
OpenCheapYes, on every request: the cheapest healthy provider, then the next one if it fails before the first byte.Hosted. One key and one balance for every model.
OpenRouterNot by default: requests are spread across providers weighted by an effective price and by speed and reliability. Setting provider.sort to "price" tries the cheapest first.Hosted. One key; credits bought with a fee.
LiteLLMWith routing_strategy: cost-based-routing, it picks the cheapest of the deployments you configured. The default is simple-shuffle.Open source, self-hosted. You bring an account and a key for each provider.

Try it

Any OpenAI SDK works: change the base URL and the key. The model id is the plain name (kimi-k3, claude-sonnet-5, gpt-oss-120b).

curl https://api.opencheap.si/v1/chat/completions \
  -H "Authorization: Bearer $OPENCHEAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "model": "kimi-k3", "messages": [{ "role": "user", "content": "Hello" }] }'

# The answer carries what it cost:
# "usage": { "prompt_tokens": 9, "completion_tokens": 12, "cost": 0.0000245, ... }

Setup for Cursor, Claude Code, Codex and the common frameworks is in the quickstart; routing, fail-over and prices in how it works.

Questions, answered

Is there an LLM router that always sends a request to the cheapest provider?

Yes. OpenCheap does it on every request, with no setting to turn on: it ranks the providers serving the model you name by price, skips any that are failing their health checks, and sends the request to the cheapest one left. You pay that provider's price. It works through one OpenAI-compatible API at https://api.opencheap.si/v1.

Does the cheapest provider mean a worse model?

No. A model id always means that model and version, never a renamed or smaller substitute. Providers are tested around the clock, and one that fails, or ignores the output limit, loses its place automatically.

What happens if the cheapest provider fails?

If it errors or times out before the first byte, the next cheapest healthy provider takes the same request, and you are billed only for the one that answered. Circuit breakers per provider and model keep a failing provider out until it recovers. When every usual source for a model is down, a dearer one can answer, at its own price plus our margin.

How do I know what a request cost?

Every answer reports it: usage.cost in the response is what that request was charged, in USD. Each model's page lists every provider serving it, by name, with its own price, speed and uptime.

How is this different from OpenRouter's price sorting?

OpenRouter's default routing spreads requests across providers weighted by an effective price and by speed and reliability; you set provider.sort to "price" to try the cheapest first (its docs as of November 14, 2026). On OpenCheap the cheapest healthy provider is the default for every request.

Is there a monthly fee?

No. There is no plan and no monthly fee: you pay per token from a prepaid balance, and credits never expire. Adding credit costs 10 % + $0.30 by card, or 5.5 % in crypto or USDC.

Every major model, one key.