Valni
switchboard

One bill.
Every model.

No subscriptions. No provider keys. No juggling accounts.

Plug in once, and every model runs at full capability, configured on the fly, priced one simple way. See exactly what's used, revoke it just as fast.

A 3% routing fee. The whole price.

Routes to

OpenAIAnthropicGooglexAIDeepSeekMistralMoonshot · KimiZhipu

How does Switchboard help?

OpenAI, Anthropic, Google native formats

Send the format you already use; Switchboard translates server-side. Chat completions, tool calling, streaming all map. No new wire format to learn.

Cache + reasoning attribution

Cache writes and cache reads itemized on every response. Billed at the provider's exact rates, cached-prompt discounts included.

Per-end-user attribution

Pass `user: "your_user_id"` and every debit lands on a per-user ledger. One invoice, itemized down to every user.

Keys your end users never see

Switchboard mints and manages keys for your application and every end user. Nothing ships in a binary, nothing gets pasted, and rotation happens over the wire: no client rebuild, no downtime.

Metered, settled, one invoice

Every token metered, every debit ledgered, one bill across every provider. Rate limits and cost caps built in.

Drop-in

OpenAI-compatible.
Pick a model. Ship.

Change the provider by changing the model id. Switchboard handles the wire-format translation server-side — your code stays exactly the same whether you're calling Claude, GPT, or Gemini.

Full quickstart →
Swift Switchboard SDK
import Switchboard

let client = Switchboard.Client(
    apiKey: ProcessInfo.processInfo.environment["SWB_API_KEY"]!
)

let response = try await client.chatCompletions(.init(
    model: "anthropic/claude-sonnet-4-5",
    messages: [.user("Hello")],
    user: "your_user_id",
))

print(response.content ?? "")
cURL switchboard.valni.app
curl https://switchboard.valni.app/v1/chat/completions \
  -H "Authorization: Bearer $SWB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-4-5",
    "messages": [{"role": "user", "content": "Hello"}],
    "user": "your_user_id"
  }'

Pricing

A 3% routing fee. No subscription, no platform fee.

Sign up

Switchboard FAQs

How is Switchboard different from OpenRouter or LiteLLM?

OpenRouter and LiteLLM are gateways — they unify the API. Switchboard does that and owns the billing relationship: per-customer key minting, per-end-user attribution, and a single invoice covering every provider. Built for SaaS products that need to resell inference, not just route it.

Which request formats are supported?

OpenAI, Anthropic, and Google native formats. Provider divergences are translated server-side, and each model is auto-configured from Linecard to run with its full capability set.

Which models can I route to?

Every model in Linecard is routable through Switchboard. The registry tracks pricing, capabilities, and configuration per model, so you can pick by feature (tool calling, vision, caching) and not just by name.

How does billing work?

A 3% fee on usage, no subscription. Auto-billed every $10, so nothing builds up. Start instantly with standard rate limits; higher limits come with history or by application.

What powers the routing

See pricing, capabilities, and configuration for every model

Linecard is the model registry behind Switchboard — track what each model can do, what it costs per token, and the configuration it performs best with.

Start with Switchboard

Download, drop in your model id, ship.

Enter invite key

Valni is in private alpha. Enter your invite key to download. Don't have one? Reach out.