Skip to main content
Orbitrage is the convenience layer for LLM apps: point your existing OpenAI (or Anthropic) client at our gateway and every call is routed to the best model and traced in your dashboard — cost, tokens, latency, tools, and the full run graph. No SDK rewrite, no OpenTelemetry.
1

Install the latest SDK

The SDK is a thin header-injector; openai is the only peer you need (Orbitrage speaks OpenAI format).
2

Initialize with your key — and a user id

Call init() once, at the top of your program. Always pass a user_id so every call is attributed to the end-user who triggered it — this is what powers per-user cost, usage, and analytics in the dashboard.
Get your orb_ key from app.orbitrage.aiAPI Keys. The SDK points your client at https://api.orbitrage.ai/v1 and injects the key for you — even if you already have OPENAI_API_KEY set.
3

Make a call — pick a model, or let Orbitrage route

Use the OpenAI client exactly as you always have. Name a direct model (recommended while you build — predictable behavior), or use model="auto" to let Orbitrage route to the cheapest capable model.
4

See it in the dashboard

Open app.orbitrage.ai/workflows — your call appears with the model, provider, tokens, cost, latency, and (for multi-step agents) the full run graph, all attributed to customer_42.
Orbitrage workflow run graph

Each run is reconstructed node-by-node — LLM calls, sub-agents, and managed tools.

Picking a model

Start with a direct model while you build, then switch to model="auto" once you want Orbitrage to optimize cost for you. With auto, give reasoning models room — set max_tokens ≥ 512 so the answer isn’t truncated by the model’s internal reasoning budget.

Frontier models need your own key

Every open-weight model above runs on Orbitrage’s infrastructure and bills to your credits. The closed frontier lines — claude-*, gpt-* (except gpt-oss-*), gemini-* and grok-* — are BYOK-only: save and enable a key for that vendor on the Models page, and the call goes straight to the provider on your key while Orbitrage charges $0 for the tokens. Call one without an enabled key and you get a clear error instead of a surprise bill — Orbitrage never silently falls back to pooled inference:
model="auto" never produces this error — it only routes to models your organization can actually reach. See BYOK.

Attributing every call to a user

user_id is the single most useful thing to get right — it unlocks per-user analytics. Set it once for a script, or switch it per request in a server.
See Per-user attribution for the server pattern.

Already using a framework?

LangChain, LangGraph, CrewAI, Agno, LlamaIndex, and the Vercel AI SDK all use an OpenAI-compatible client under the hood — point them at the gateway and you get the same routing + tracing. Copy-paste setups:

LangChain

CrewAI

Agno

LlamaIndex

Vercel AI SDK

OpenAI / Anthropic SDK

Next steps

Tool calling

Client tools + hosted managed tools (web search, scrape, calculator) — no keys to wire.

Streaming

Token-by-token streaming, fully traced.

Routing

How auto scores prompts and picks models.

Models

The full catalog of direct model names.