Every model. One dashboard.
Zero babysitting.
Point your agent at DodoRouter once. Then rewire providers, watch every request, and survive every outage — live, from the dashboard, without touching code again.
This is the product: a router that heals itself while you watch — or don't.
Drop-in compatible
Stop building reliability into every agent.
Build it once.
Change one line of code and every agent you build — today or next year — gets automatic fallback, full observability, and provider switching. No SDK changes. No deployment. Your agent code stays exactly the same.
-
One line change — update
base_urland you're protected - Streaming, tool calls, and context window overflow handled automatically
- Full request logs, headers, and error bodies for every failure — no more guessing
Automatic fallback
When a provider fails,
nobody notices.
Rate limits, outages, overloaded models, context overflows — your chain absorbs them all. The request silently reroutes to the next step and your user gets an answer, not an error page.
Reliability is just the beginning
Everything between your code and the model — handled, visible, and adjustable while it runs.
Mid-stream failure recovery
The stream dies. The sentence doesn't.
The cruelest failure mode: a provider drops the connection halfway through a streamed answer, with tool calls in flight. DodoRouter catches the dropped stream, re-issues the request on the next step in your chain, and keeps streaming to your client.
- ✓ No broken half-messages in your UI
- ✓ Tool-call state carried across providers
- ✓ Logged as a fallback, so you can see it happened
Context-overflow rerouting
Too many tokens? Hop to a bigger window.
Every provider reports overflow differently — OpenAI throws a code, Anthropic says "prompt is too long", z.ai returns a 200 with a special finish_reason, Kimi 400s with the count. DodoRouter knows every dialect, and instead of guessing token limits preflight, it reacts to the real signal and reroutes to a model with room.
- ✓ Per-provider overflow detection, maintained for you
- ✓ Optional skip-fallback toggle when you'd rather fail fast
- ✓ One standardized error if the whole chain is too small
Replay & compare
Audition models on your real traffic.
Wondering if a cheaper model could handle your workload? Take any logged request and re-run it against a different provider or model — the answers render side by side, diffed, with tokens and latency compared. No synthetic benchmarks; your production prompts are the benchmark.
- ✓ Replay against any provider key you hold
- ✓ Diff view highlights what actually changed
- ✓ Replays never pollute your request stats
Rewire in production
Change everything. Deploy nothing.
Reorder steps, swap models, rotate keys, tune reasoning effort and temperature — from the dashboard, effective on the very next request. Your agent keeps its one base URL; the routing behind it is yours to remix at any hour, mid-incident, without a code change or restart.
- ✓ Per-step model, key, reasoning effort, temperature
- ✓ Takes effect instantly, no deploys or restarts
- ✓ Client-sent options always win when present
Subscriptions as keys
Route through plans you already pay for.
Claude Max, ChatGPT Pro, Kimi Code, z.ai Coding — those subscriptions carry serious model quota. DodoRouter treats them as first-class provider keys (OAuth device flow built in, no token copy-pasting) so your chain can burn subscription quota first and fall back to pay-as-you-go API keys only when it runs dry.
- ✓ Connect with a device-code login, not a pasted token
- ✓ Mix subscription and API keys in one chain
- ✓ Key health tracked — quota-dry keys flagged automatically
The flight recorder
Every request your agent ever made, inspectable.
One header groups requests into sessions; recordings capture whole conversations. Each request opens into a full picture — the conversation, the raw request and response, headers, and a per-step fallback trace with each provider's real error body. When something goes wrong, the cause is on screen, not in your imagination.
- ✓ Failures lead with what the client saw and why
- ✓ Cache-hit and cost analytics per model and provider
- ✓ Live — new requests appear as they happen
Providers
Any model.
One endpoint.
Route across OpenAI, Anthropic, Google, DeepSeek, Moonshot, and more through a single unified API. Mix providers in your fallback chains to optimize for cost, speed, and context window size.
Observability
Debug agent failures in minutes, not hours.
Full request logs with headers, response bodies, error details, and latency breakdowns for every step in your routing chain. Know exactly why a provider failed and what your agent saw.
Request Analytics
Last 7 days · all routers
Total Requests
89,241
+23.4%
Success Rate
99.8%
47 fallbacks recovered
Avg Latency
312ms
-12% vs last week
Total Spend
$84.12
28.4M tokens
Request Volume
Pricing
Free while in beta
You bring your own provider keys — DodoRouter never marks up your tokens. Use the hosted instance or self-host the open-source release.
Hosted
Sign up, create a router, ship. We run the infrastructure.
- Unlimited routers & fallback chains
- Every provider, including subscription plans
- Full logs, sessions, replay & compare
- Your provider keys, encrypted at rest
Self-hosted
Run it on your own box. Your keys and logs never leave your infra.
- Everything in Hosted
- Single-binary Elixir release
- Hot upgrades — updates without dropping requests
- MIT licensed
FAQ
Questions, answered
Can't I just build this myself?
You can — a retry loop gets you 80% of the way. The last 20% is the hard part: streaming failures mid-response, tool-call state, every provider reporting context overflow differently, and the observability to debug any of it. DodoRouter is that last 20%, already built and battle-tested.
What happens when a provider fails mid-stream?
DodoRouter catches the dropped stream, re-issues the request to the next provider in your chain, and keeps streaming to your client — including handling content that was already sent. The request is logged as a fallback so you can see exactly what happened.
Do I need to change my agent code?
Nope. Change your base URL from api.openai.com to api.dodorouter.com and swap your API key. That's it. Same SDK, same types, same everything.
What does it cost?
DodoRouter is free while in beta — no credit card, no request caps, bring your own provider keys. It's also open source, so you can self-host it any time.
What providers do you support?
OpenAI, Anthropic, Google (Gemini), DeepSeek, Moonshot, z.ai, xAI (Grok), and Mistral. We're adding more every month. If you need a specific provider, let us know.
Point your agent at
something sturdier.
Create a router, add your keys, and make your first request in under two minutes. Free while in beta — no credit card required.