90 days of the enterprise, pro and team plans free, no card needed. See the plans
Model marketplace
OpenRouter gives you hundreds of models behind one API with credits and a market-ranked auto mode. OpenSmartRoute decides across every capability you own, not just models, enforces your policy first and learns from your outcomes anywhere you run it.
“OpenRouter for every capability, not just models - and you can run it yourself.”
Our reading of public documentation; corrections welcome through the support page.
| Capability | OpenSmartRoute | OpenRouter |
|---|---|---|
| Routes to LLMs | Yes | Yes |
| Routes to agents, skills, tools, workflows and humans | Yes | No |
| Hard policy before scoring (region, data boundary, PII, tenant, cost) | Yes | No |
| Per-request trace with ranked candidates and rejections | Yes | No |
| Learns from your outcomes (per target, per tenant)Market-wide ranking, not your tenants' outcomes | Yes | Partial |
| Multi-step plans (persona -> skill -> model) | Yes | No |
| Self-hosted, air-gapped, zero runtime dependencies | Yes | No |
| Prompt-injection and steering-gadget defences on the router | Yes | No |
| Output guard on responses (PII, secrets, injection: flag, redact or block) | Yes | No |
| Savings ledger, bill analysis and routing auditEvery request records baseline and routed cost; upload last month's provider export to see what routing would have saved before you switch | Yes | No |
| OpenAI-compatible proxy (chat, embeddings, Responses, moderations, audio, images)Chat, Responses and embeddings; no moderation, audio or image routes | Yes | Partial |
| Anthropic Messages API (/v1/messages) | Yes | Yes |
| Virtual keys: per-key budgets, rate limits, allowed targets, scopes and expiryCredit limits per key; no target allow-list or scopes | Yes | Partial |
| Per-target rate limits, budgets and circuit breakers | Yes | No |
| Python and TypeScript SDKs | Yes | Yes |
| MCP server for IDEs and agents | Yes | No |
| Browser extension and desktop app for the people on the teamPrice, personal-data and writing checks on the device before a prompt is sent, on ChatGPT, Claude, Gemini and in any desktop app | Yes | No |
| Provider marketplace with creditsModels by the token: every catalogue model on offer per provider with the price you pay, one key, a prepaid credits wallet and provider preferences (order, only, ignore, max_price) | Yes | Yes |
| Request/response observability UI for every callDecision trace, tokens, cost and outcome per request; prompt and answer stored when the workspace turns on request logging (redacted or full) | Yes | Partial |
Keep OpenRouter for model breadth and let OpenSmartRoute decide when a request should go there at all versus to your on-prem model, an agent or a person.
- id: openrouter-frontier
kind: llm
description: Frontier model via OpenRouter
capabilities: { domains: [general, coding], max_complexity: 1.0 }
constraints: { data_boundary: public, pii_allowed: false }
cost: { usd_per_1k_tokens: 0.009 }
metadata: { model: openai/gpt-4.1 } # the OpenRouter slug the target executes onRun the Routing Audit on a week of anonymised logs: savings versus your current mix, policy violations your routing allowed, and where agents or humans would have been the better answer.
Other comparisons: LiteLLM, Portkey, Cloudflare AI Gateway, Bifrost (Maxim AI), Kong AI Gateway, Helicone, Not Diamond, Martian, Unify, Requesty, Building it yourself.
Photo: Mario Gogh