SoxAI
AI Gateway

One endpoint. Twenty-one providers.
Zero downtime.

SoxAI sits between your application and 21 native provider adaptors. When a provider 429s or 5xxs, we route around it on the same request — your code never sees the error.

OpenAI-compatible256+ modelsNo vendor lock-in

Routing built for production traffic

Eight reliability primitives, exposed as configuration. No custom retry code, no per-provider SDKs.

Health-score routing

Every channel carries a 0-100 health score updated per request. Soft-degrade at <20, hard-skip at ≤0, suspend at <40. Background probes every 5min auto-restore healthy upstreams.

Multi-channel fallback

Up to 3 fallback channels per request. 5xx, 429, connect errors, and 401/402/403 auth failures all trigger fallback to the next-best healthy channel — no manual retries.

Session sticky

Pin a conversation to one channel for context affinity. Auto-rebinds on 10 cumulative failures. Stored in Redis L2 cache so it survives across replicas.

Request transforms

Per-channel server-side rewrite of headers and body fields. Inject API keys, rewrite tools[], strip system prompts — all configured in the admin console, applied without code changes.

Model mapping rules

Route 'gpt-4o' to 'claude-sonnet-4-6', 'deepseek-r1' to 'deepseek-chat'. Per-channel model aliases let you swap providers without touching client code.

Suspend / restore

Operators can suspend a misbehaving channel from the console. Auto-suspended channels show up with last error + retry countdown. Manual restore in one click.

21 native adaptors

OpenAI, Anthropic, Gemini, Vertex AI, Bedrock, Azure, DeepSeek, Doubao, Moonshot, Qwen, Zhipu, MiniMax, Yi, Cohere, Mistral, xAI, Together, Groq, Baichuan, Ollama — plus OpenAI-compat passthrough for everything else.

Channel budgets

Cap monthly spend per channel. When the budget hits, route around it automatically. Operator alerts at 75% / 90% / 100% so you never overshoot.

How the routing decision happens

Per-channel health score drives selection. On 5xx / 429 / auth-failure, we pick the next-best healthy channel — within the same request.

Client appOpenAI SDKPOST /v1/chatSoxAI Gatewayauth · quota · DLProute()Routerhealth-scoreChannel A · OpenAIhealth 92Channel B · Azurehealth 78Channel C · Bedrockhealth 60Channel D · suspendedhealth 0primaryfallback 1fallback 2skippedauto-failoversession stickyprobe every 5min
Client → gateway → router selects healthiest channel → fallback on 5xx / 429 / auth failure

Operator-facing channel console

Every upstream channel with priority, weight, status, and live health. Manual suspend / restore / probe in one click.

console.soxai.io / channels
SoxAI admin console — channel list with health scores, priorities, weights, and quick actions
Live channel list — health scored 0-100, sortable by priority and weight, suspend/restore/probe inline

Drop-in OpenAI replacement

Change two strings. Your existing OpenAI SDK keeps working — and now talks to all 21 providers with automatic fallback under the hood.

When OpenAI 429s, your request lands on Azure. When Azure 429s, it lands on Bedrock. The client never knows.

from openai import OpenAI

client = OpenAI(
    base_url="https://api.soxai.io/v1",
    api_key="sk-soxai-...",
)

resp = client.chat.completions.create(
    model="gpt-4o",  # routes to OpenAI/Azure/etc
    messages=[{"role": "user", "content": "hi"}],
)

Ship without firefighting

Start with a $0.50 free credit. No credit card.

Get started