Skip to main content
Wardin routes requests to the correct provider based on the model name in the request. You don’t need to change the endpoint — just use the model name.

Supported providers

ProviderModelsProtocol
Anthropicclaude-*Anthropic Messages API
OpenAIgpt-*, o1-*, o3-*OpenAI Chat Completions
AWS Bedrockanthropic.claude-*, amazon.titan-*Bedrock Runtime
Google Vertex / Geminigemini-*Vertex AI

Model routing

The gateway resolves modelprovider automatically:
"claude-opus-4-8"           → Anthropic
"gpt-4o"                    → OpenAI
"anthropic.claude-3-5-sonnet" → AWS Bedrock
"gemini-1.5-pro"            → Google Vertex
Routing is by model name only — there is no per-request provider override header. To target a specific provider, use one of its model names.

Provider credentials

Provider credentials are stored encrypted (AES-256-GCM) in Wardin’s control plane, never in client code. Connect, test, rotate, or disconnect them in Console → Providers:
  • Anthropic: API key
  • OpenAI: API key
  • AWS Bedrock: Access key ID + secret access key + region
  • Google Vertex: Service account JSON or ADC
Rotations take effect on the gateway within its credential-refresh window — no redeploy.

Fallbacks and retries

When a provider returns a 5xx or a rate-limit error, the gateway automatically retries with backoff and fails over across your other connected providers, with a per-provider circuit breaker to avoid hammering an unhealthy upstream. The model’s home provider is always attempted first. Two things to know:
  • Streaming requests are never retried or failed over — a partial stream can’t be safely replayed. They go straight to the model’s home provider.
  • Fallback decisions are logged to ClickHouse, and cost is attributed to the provider that actually served the request.

Per-provider cost tracking

The dashboard breaks down spend by provider. When a request falls back to a secondary provider, cost is attributed to the provider that actually served it.

Provider-native features

Anthropic prompt caching

Pass cache_control breakpoints as normal — the gateway forwards them unmodified. Wardin parses cache_creation_input_tokens and cache_read_input_tokens separately so cost accounting is accurate.

OpenAI function calling / tools

Fully supported. Tool-call requests bypass Wardin’s semantic cache (exact-match cache still applies if temperature=0).

Streaming

All providers support streaming via SSE. The gateway transparently proxies the stream.