routeva
Apache 2.0 — self-host or use our cloud

Cut your LLM bill by 60%.
Without touching your app.

routeva sits between your app and every LLM provider you use. It watches your evaluations and routes cheap-to-serve requests to the smaller model — automatically. The expensive model stays reserved for cases where it actually earns its keep.

60%
typical LLM cost reduction
$0
markup on provider tokens — you pay Bedrock/OpenAI/Anthropic directly
0 lines
of code to change in your app — swap the base_url and go

How the savings actually happen

Most LLM traffic in a real app is overkill routing: a $15/1M token model answering questions a $0.30/1M token one could nail. Nobody notices — but the bill compounds.

1

Eval once

Feed routeva a small labelled test set. The gateway runs both your cheap and expensive models against it and stores which model handled which case.

2

Route by evidence

Every live request is scored against that eval history. If the cheap model has consistently handled similar prompts well, routeva routes there — otherwise the expensive one takes over.

3

Cache the rest

Repeat prompts (via exact + semantic match) are served from cache for free. Guardrails re-run on hits so a tightened policy still catches stale entries.

Everything else you get

Cost cuts are what pays for the migration. These are what keep you here after month one.

Eval-driven smart routing

Every request picks between a cheap and expensive model based on real evaluation signal — not heuristics. Cold-start defaults to expensive; traffic shifts to cheap as evidence accumulates.

Built-in guardrails

PII redact/block, prompt-injection detection, regex + LLM-judge content filters. Runs pre-call and post-call, adds zero code to your app.

Semantic response cache

Exact + similarity-matched hits with per-app TTL. Repeat prompts cost $0.00 and return in single-digit ms.

Multi-provider fan-out

Point your OpenAI SDK at one endpoint, reach any provider we support. Fallback chains, load balance, retries — all declarative.

Drop-in replacement for OpenAI

Point your existing OpenAI SDK at routeva.ai/gateway/v1 and you get provider fan-out, smart routing, and guardrails without touching your app.

Set model="auto" to let the gateway pick between weak and strong models. Or name a specific one and lean on the guardrails + cache layer only.

from openai import OpenAI

client = OpenAI(
    base_url="https://api.routeva.ai/gateway/v1",
    api_key="<your-routeva-key>",
)

resp = client.chat.completions.create(
    model="auto",  # let routeva pick
    messages=[{"role": "user", "content": "..."}],
)

# See how it routed:
print(resp.routing)
# {"decision": "smart", "chosen_model": "claude-haiku",
#  "cache": {"hit": true, "saved_usd": 0.012},
#  "guardrails": {"applied_count": 2, "blocked": null}}

Why not another LLM proxy?

LiteLLM and Portkey are excellent proxies. We're not one — we're a gateway that closes the loop between evaluation and routing. Your evals stop being a report and start being the routing signal.

Traditional proxy
routeva
Multi-provider
Fallback + retries
Response cache
Some
Exact + semantic
Guardrails
Bolt-on
First-class, 9 built-in hooks
Routes on eval data
No
Yes — pluggable SmartScorer
Continuous eval loop
No
Judge + human, feeds routing

Ready to route smarter?

Join the private beta. We'll email you a Free tier invite as soon as your slot opens.