LLM gateway, your own keys

One endpoint for every model provider.

With fallback, rate limits and logs.

Switchyard gives your apps a single OpenAI-compatible API. Behind it, model aliases route to Anthropic, OpenAI or any OpenAI-compatible provider using your own keys.

  • Free plan, no card
  • No markup on tokens
  • Prompts not stored by default

Why it works

Switch providers without touching app code.

Your apps call an alias like fast or smart. You decide in the dashboard which provider and model answer, and what happens when one fails.

Bring your own keys

Your provider bills you directly. Keys are encrypted at rest and never shown again. We add no markup on tokens.

Aliases with fallback

Up to five targets per alias, tried in order. If one errors, rate-limits or times out, the next one answers.

Limits per key

Issue a gateway key per app or environment, cap its requests per minute, and revoke it without touching provider keys.

Logs without the content

Every request logs model, provider, status, latency and tokens. Prompt and response content is stored only if you turn it on.

Streaming for every provider

Set stream: true to get OpenAI-style server-sent events from any provider. Anthropic streams are translated for you.

Usage you can export

See monthly requests and tokens per key and model. Download any filtered log view as CSV.

Routing

Call fast, not a vendor model id.

An alias is an ordered list of provider and model targets. The gateway tries them in turn and tells you which one answered.

  • Moves on after a 5xx, a 429 or a timeout
  • A bad request (4xx) comes straight back to you
  • Or skip aliases and name a provider and model
How fallback works

Drop-in

Point your OpenAI SDK at it.

Set the base URL to your gateway and the API key to a gateway key. The request and response shapes stay the same.

  • POST /v1/chat/completions, with streaming
  • GET /v1/models
  • Tool calls and images are not supported yet
curl https://switchyard.kapturisemedia.com/v1/chat/completions \
  -H "Authorization: Bearer gw_..." \
  -H "content-type: application/json" \
  -d '{"model":"fast",
       "messages":[{"role":"user",
       "content":"Hello"}]}'

How it works

First request in a few minutes.

Connect

Add an Anthropic, OpenAI or OpenAI-compatible key and check the connection.

Alias

Create an alias such as fast with one or more provider and model targets.

Key

Create a gateway key for your app. It is shown once.

Call

Send a request and watch it appear under Logs and Usage.

Pricing

Start free. Upgrade when it pays off.

Free

$0 /month

  • 1,000 requests / month
  • 1M tokens / month
  • 2 provider connections
  • 5 model aliases
  • 7-day request logs
  • Bring your own provider keys
Start free
Most popular

Pro

$49 /month

  • 200,000 requests / month
  • 200M tokens / month
  • 20 provider connections
  • 200 model aliases
  • 30-day request logs
  • Everything in Free
Start free, upgrade anytime

FAQ

Questions, answered.

Do you charge for tokens?
No. You use your own provider keys and your provider bills you directly. Your plan covers gateway requests and tokens per month, with no markup.
Do you store my prompts?
Not by default. Logs keep model, provider, status, latency and token counts. Admins can turn content logging on for new requests. Logs are deleted after 7 days on Free and 30 days on Pro.
Which providers work?
Anthropic, OpenAI, and any provider with an OpenAI-compatible chat completions API. Anthropic requests and streams are translated to the OpenAI format.
What happens at my plan limit?
Requests get HTTP 402 with a clear error code until the 1st (UTC) or an upgrade. Failed requests don’t count. We email owners at 80%, and you are never charged overage.
Can I export or delete my data?
Yes. The JSON export includes providers (without keys), aliases, settings and logs. Deleting the workspace deletes stored provider keys immediately.

One endpoint. Your keys. Your rules.

Connect a provider, create an alias and send your first request.