Everything around the model, in one place.
Routing and failover, traffic health, budgets and limits, prompt versioning with an evaluation lab, caching, observability and usage records per customer — the operational work that sits between your product and whichever model answers. The model is the part you can swap, or supply yourself.
What the odnoga platform does
Multi-tenancy
A first-class tenant primitive everywhere — keys, budgets, analytics, prompts and audit logs are scoped per tenant.
- Unlimited tenants per workspace
- Programmatic provisioning via REST + SDK
- Per-tenant Stripe customer & invoicing
- Cascading limits: workspace → tenant → user
Key vault & rotation
Provider keys never leave the encrypted vault. Rotate, scope, revoke and audit without redeploying.
- AES-256, envelope encryption
- Scoping per tenant / model / region
- Hot rotation with zero-downtime
- Full audit trail of every key access
Budgets & rate limits
Soft caps warn users; hard caps stop the bleeding. Limits attach to any axis you care about.
- Daily / monthly / lifetime budgets
- RPM, TPM, concurrency throttles
- Tier-based plans with overage rules
- Webhooks on threshold breach
Prompt versioning
Treat prompts like code: branches, diffs, A/B tests, instant rollback. No more "what changed yesterday?".
- Git-like version history with diffs
- A/B routing by traffic percentage
- Atomic production label switching
- Per-tenant prompt overrides
Evaluation laboratory
Freeze one prompt version and its test cases, then compare the same workload across 2–8 active models.
- Responses and assertion results side by side
- Input/output tokens, billed cost and latency
- Explicit one-shot capture of a real run
- Review and redact before saving a case
Two-layer caching
Control deterministic odnoga answer reuse separately from vendor prompt caching. Each solves a different cost problem.
- Separate opt-in controls
- TTL, bypass and refresh controls
- Creative calls can refuse answer reuse
- Savings derived from request history
MCP server
Your customers connect odnoga into Claude Desktop, Cursor, Lovable or any MCP host — OAuth 2.1 with Dynamic Client Registration.
- OAuth 2.1 + PKCE + DCR
- Per-user scoped tokens
- Tools exposed: chat, embeddings, image, search
- Plug into Claude Desktop in seconds
Observability and traffic health
Every request is a row, and every caller is measured against its own normal. Trace cost and latency, then catch a stopped job or sudden surge.
- Dashboards per tenant
- Stopped and surged caller detection
- CSV / Parquet export
- OpenTelemetry traces
Smart routing
"auto" picks the best model for the request. Define fallback chains for cost, latency, or context length.
- Cost-aware, latency-aware routing
- Provider failover with retry policies
- Per-tenant default model
- Region pinning for compliance
Security & compliance
SOC 2 controls, EU-hosted option, PII redaction in logs, signed webhooks. Built for regulated SaaS.
- SOC 2 Type II (in progress)
- GDPR & DPA
- PII redaction & log scrubbing
- SSO (SAML, OIDC) on Enterprise — on request
Contextual support
Raise a ticket from the page where the issue happens, with useful page and workspace context attached for review.
- Available on desktop and mobile
- Ticket reference and status
- Page context captured with the report
- Open-ticket visibility for support staff
How a request flows through odnoga
Your SaaS ──► odnoga Edge ──► Auth + Vault ──► Budget meter
│
▼
Prompt registry
│
▼
Router (auto/fallback)
│
┌────────────────────────┬────────────────┼────────────────┬────────────────┐
▼ ▼ ▼ ▼ ▼
OpenAI Anthropic Gemini Mistral Groq …
│ │ │ │ │
└────────────┬───────────┴────────────────┴────────────────┴────────────────┘
▼
Observability + Billing ──► Stripe, Postgres, OTEL
Auth at edge
Bearer key + end-user header are validated before any work.
Stateless workers
Nothing is pinned to one machine, so capacity scales sideways.
Pluggable providers
A new provider is one adapter file — no change to routing, billing or the API you call.
Two ways to reach a model. The same operations either way.
Routing, budgets, prompt versions, caching, traffic health and per-customer usage records do not depend on whose account pays the provider. Pick whichever suits you, and change your mind later without rewriting anything.
Use the odnoga catalogue
Every model in the catalogue, callable on day one with no provider accounts, no separate invoices and no minimum spend anywhere. You pay odnoga for what you use, at your plan’s rate.
Browse the cataloguePlays well with your stack
OpenAI SDK
Drop-in base URL replacement.
Vercel AI SDK
Compatible provider out of the box.
LangChain
Use as ChatOpenAI with custom base URL.
LlamaIndex
OpenAI-like LLM class.
Stripe
Native billing, invoicing, webhooks.
Postgres / Supabase
All data in your stack-friendly format.
What odnoga is not
Not a self-hosted model runtime.
Bring your own provider; we route to it.
Not a model-training platform or a free-form AI playground.
The prompt workspace is built for controlled production operations: versioning, evaluations, A/B traffic and evidence-based promotion.