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.
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.
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.
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.
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.
Ready to route smarter?
Join the private beta. We'll email you a Free tier invite as soon as your slot opens.