Frontier recursive self-improvement for your agent - Plug and Play

Connect your agent and a trusted outcome signal. ultrarouter learns from experience, evaluates changes, and keeps the adaptations that help.

Preview. Learning is a research preview. It runs on the local stack, it is not on the hosted service yet, and whether it improves a given agent is not yet demonstrated. Read the evidence status

What happens to every call today

The hosted gateway is live for invited teams: one OpenAI-compatible API in front of OpenAI, Anthropic, Google, DeepSeek, Mistral, xAI and more.

  1. Your app

    Sends an OpenAI-format request with an ultrarouter key.

  2. Compress

    Removes repeated context and extra whitespace. Code and JSON pass through byte-for-byte.

  3. Route

    Serves your model from its cheapest or fastest provider, or with auto, a model your evals cleared for this call type. Falls back when a provider fails.

  4. Provider

    Calls the provider with your own key. Streaming and tool calls pass straight through.

  5. Receipt

    Returns the model served, the tokens saved and the cost on the response, and records them for your dashboard.

  6. Learn

    Preview: a trusted outcome becomes a lesson for the next call. Local stack only.

  • Live on the hosted gateway
  • Preview, local stack only

Change the base URL, keep your code

ultrarouter speaks the OpenAI API. Point your client at the gateway and opt into compression and provider sorting on each request; auto-routing turns on per call type once your evals clear a model. Every response carries an ur block that says what happened.

Request
curl https://api.ultrarouter.io/v1/chat/completions \
  -H "Authorization: Bearer $UR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-5-mini",
    "provider": { "sort": "price" },
    "compression": "semantic_safe",
    "call_type": "support-reply",
    "messages": [{ "role": "user", "content": "…" }]
  }'
Response excerpt, illustrative values
"ur": {
  "model_served": "openai/gpt-5-mini",
  "provider": "openai",
  "routing": { "mode": "pinned", "fallback_used": false },
  "compression": {
    "applied": "semantic_safe",
    "tokens_saved": 412,
    "savings_basis": "provider_reported"
  },
  "cost_usd": 0.000214,
  "byok": true
}
Read the quickstart

Two ways in

Migration and the data flywheel are parallel offers. Start with either; neither is a prerequisite for the other.

Available today

Plan a model migration

Find the replacement that meets your quality bar on your application, with the failures and the rollout plan in front of you.

For an engineering lead facing a shutdown, rising costs or an unreliable provider who cannot afford silent regressions.

The paired comparison, the qualified evaluators and the auto-rollback canary ship today. A guided one-screen migration workspace is planned.

Read the migration guide
Preview

Build your data flywheel

Your reviewers already show what good looks like. Put those corrections to work and see whether the next version performs better.

For a founder or Head of AI who sees the same human corrections every week but has no time to build a learning system.

A research preview on the local stack, not on the hosted service yet. Each candidate is evaluated against the version you run today, and negative or inconclusive results keep the current version. Whether it improves your agent is not yet demonstrated.

See how learning works

Five capabilities, one journey

These are the capabilities behind the two ways in. The line style says where each one stands.

  • RouterAvailable today

    One OpenAI-compatible URL for every major provider: your own keys, fallbacks, spend caps, streaming and tools, with compression on the same path.

    Read the docs about Router
  • EvalsAvailable today

    Evaluators generated from your traffic, proved to catch defects, gating every change from pull request to canary to rollback.

    Read the docs about Evals
  • ScoringAvailable today

    Which model holds your quality bar at what cost per successful task: paired, signed and refusable.

    Read the docs about Scoring
  • FlywheelPreview

    Trusted outcomes on every finished task, learned into lessons for your agent and evaluated before they replace anything. Local stack only; improvement is not yet demonstrated.

    Read the docs about Flywheel
  • ContextPlanned

    Deterministic context assembly with a manifest: modules, contracts, budgets and procedures that load lazily.

    Documentation ships with the capability.

We handle your data moat

That means connecting real outcomes to tested improvements and keeping what your workspace learns across model changes. We process authorized workspace content to train and evaluate models exclusively for your workspace; we never use it to train shared models or another customer’s models. The customer-facing training switch is not built yet.

A ledger of outcomes is a starting point, not proof on its own. We do not sell a guarantee of improvement.

Isolation
Every tenant table is guarded by Postgres row-level security. Raw items never cross a workspace.
Your keys
Provider keys you bring are envelope-encrypted at rest and used only for your workspace.
Logs
Request and response bodies never go into logs; only lengths and hashes do.
Export
Your data stays exportable, in full.

Building with an AI coding agent?

The documentation is machine-readable: an index at llms.txt, Markdown for every page, the OpenAPI spec, and a documentation MCP server your agent can search.

Invite-only while we onboard the first teams

Tell us what you are building and which models you call today. Invited teams sign in to the dashboard, add their provider keys and create an API key.

ultrarouter