LLM proxy with automatic fallback
Drop-in OpenAI-compatible proxy that routes requests across providers with automatic fallback. Change the base URL once — then swap providers, reorder chains, and adjust models on the fly from the dashboard.
import OpenAI
client = OpenAI(
base_url="https://your-dodo.com/r/my-router/v1",
api_key="sk-dodo-..."
)
# That's it. Requests now route through your fallback chain.
response = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Hello!"}]
)
Configure once in code. Manage everything from the UI. Zero redeployments.
Features
Configure once in code.
Manage everything in the UI.
Route requests across providers, automatically fall back on failures, and reorder your chain on the fly — all from the dashboard.
Automatic Fallback Chain
Configure an ordered list of providers and models. If one fails (rate limit, outage, timeout), the next takes over automatically.
Streaming Support
Full SSE streaming with partial content preservation. If a stream fails mid-way, the next provider continues from where it left off.
Zero-Code Provider Management
Change the base_url in your code once. After that, everything is managed from the dashboard — swap providers, reorder your fallback chain, change models, adjust temperature — all without redeploying your app.
Real-Time Dashboard
Monitor success rates, latency percentiles (p50/p95/p99), token usage, and per-model leaderboards. Auto-refreshes live.
Detailed Request Logs
Every request is logged with full routing chain details, per-step latency, token counts, cost tracking, request/response bodies, and tool calls.
Secure Key Management
Your provider API keys are stored in Infisical (external secrets manager), never in the database. Router keys are SHA256-hashed with a pepper.
Tool Calls & Thinking
Full support for function/tool calling and extended thinking modes. Automatic detection and normalization across providers.
Cost Tracking
Automatic cost estimation per request in USD. Track spend by provider, model, and router with aggregated analytics.
Real-Time Log Streaming
Watch requests flow through your routers in real-time via WebSockets. Instant visibility into routing decisions and fallback events.
See It In Action
Real-time observability built in
Every request is tracked with detailed logs, routing chain visualization, and live analytics — no extra setup required.
Dashboard
LiveTotal Requests
12,847
+14.2%
Success Rate
99.7%
23 fallbacks recovered
p95 Latency
340ms
-8%
Total Tokens
4.2M
$12.84 cost
Request Logs
Streaming| Time | Status | Provider / Model | Latency |
|---|---|---|---|
| 14:23:01 | success | z.ai / GLM-5 | 285ms |
| 14:22:58 | fallback | z.ai → Moonshot / Kimi-K2 | 1,240ms |
| 14:22:55 | success | z.ai / GLM-5.1 | 412ms |
| 14:22:51 | success | Moonshot / Kimi-K2.5 | 198ms |
Request Detail
req_a3f8...
Performance
Routing Chain
HTTP 429: Rate limit exceeded
How It Works
One code change.
Then it's all UI.
Add Your Provider Keys
Register your API keys for z.ai, Moonshot, and more. Keys are stored securely in Infisical — never in the database.
Build Your Router in the UI
Create a router, then add routing steps: pick provider, model, temperature, and drag to reorder your fallback chain. All from the dashboard.
Change 1 Line & You're Done
Update your OpenAI SDK's base_url to your router endpoint. That's it. From now on, every change happens in the dashboard.
Fallback Flow
Your App
OpenAI SDK
Dodo Router
Proxy + Fallback
z.ai / GLM-5
Moonshot / Kimi-K2
Dashboard Management
Your code stays the same.
The dashboard does the rest.
After the initial URL change, everything is configured from the UI. Swap providers, reorder chains, change models — no redeploy, no code changes.
Edit Router
my-production-router
Routing Steps (drag to reorder)
Supported Providers
Route across the best LLMs
Mix and match providers in your fallback chain. More adapters coming soon.
z.ai
Standard & Coding plans
Moonshot AI
Kimi models with thinking mode
Pricing
Simple, usage-based pricing
You bring your own provider API keys. We just route and observe. No token markup — you pay provider costs directly.
Free
For side projects and experiments
- Up to 1,000 requests/month
- 1 router with fallback chain
- 7-day request log retention
- Real-time dashboard
- Cost tracking
Pro
For production apps and teams
+ $2 per 10K requests
- Unlimited requests
- Unlimited routers
- 90-day request log retention
- Full dashboard & analytics
- Streaming support
- Tool calls & thinking mode
- Priority support
Enterprise
For teams with custom requirements
- Everything in Pro
- Unlimited log retention
- Self-hosted deployment option
- Custom SLA & uptime guarantee
- SSO & team management
- Dedicated support & onboarding
All plans include streaming support, tool calls, cost tracking, and real-time logs. No token markup — you pay your provider directly.
One URL change.
Then manage everything from the UI.
Set up your fallback chain in minutes. Swap providers, reorder models, and adjust settings on the fly — all from the dashboard. No code changes after the initial setup.