The unified AI gateway · now in public beta

Every model.
One clean API.

Halva routes your requests to 400+ models through a single endpoint, at wholesale rates, with every token accounted for. No subscriptions, no lock-in.

400+
models
~40ms
routing overhead
99.99%
uptime

One endpoint in front of every major lab

  • Anthropic
  • OpenAI
  • Google
  • Meta
  • Mistral
  • xAI
  • Cohere
  • DeepSeek
  • Anthropic
  • OpenAI
  • Google
  • Meta
  • Mistral
  • xAI
  • Cohere
  • DeepSeek

Product

Infrastructure, not a middleman

A thin, fast layer between your code and every model, built to disappear.

One key, every provider

Anthropic, OpenAI, Google, Meta, Mistral, and xAI behind a single OpenAI-compatible endpoint. Address any model as provider/model and switch freely, with no new integration each time.

Wholesale rates, live

A router prices every request at the best available rate for the model you asked for. Blended pricing improves with volume. No markup, no minimums, no seat fees.

Total observability

Every request, token, and dollar in one dashboard, broken down by model, key, and day. Set per-key budgets and alerts. Prompts are never stored.

Estimate

See what you'd pay

Your monthly usage is priced across volume bands automatically, and the blended rate improves as you scale. Drag to preview it.

$
45% band · $1,818.18 usage$1,000.00

You'd pay Halva

$1,000.00

for $1,818.18 of usage at list

You keep
$818.18
Blended discount
45.0%
Monthly minimum
None
Start building

Live estimate across 4 volume bands · updates as you type

Drop-in

Two lines to switch.
Nothing else changes.

Halva speaks the OpenAI API. Keep your SDK, request shape, streaming, and tool calls exactly as they are. Just point the base URL and drop in your key.

  • Works with the OpenAI SDK in any language
  • Address 400+ models as provider/model
  • Streaming, JSON mode, and tools pass straight through
  • Automatic failover if an upstream degrades

- baseURL: "https://openrouter.ai/api/v1"

+ baseURL: "https://api.halva.so/v1"

quickstart.ts
1import OpenAI from "openai";
2 
3const client = new OpenAI({
4 baseURL: "https:">//api.halva.so/v1", // point here
5 apiKey: process.env.HALVA_API_KEY, "text-ink-faint">// your Halva key
6});
7 
8const res = await client.chat.completions.create({
9 model: "anthropic/claude-sonnet-5",
10 messages: [{ role: "user", content: "Ship it." }],
11});
12 
13console.log(res.choices[0].message.content);

Pricing

Priced like infrastructure

Metered per token, billed at the blended Halva rate. No subscriptions, no seat fees, no markup.

ModelProviderListHalvaSave
Claude Sonnet 5Anthropic$15$9.6036%
Claude Opus 5Anthropic$75$4836%
GPT-5.1OpenAI$40$2635%
GPT-5 miniOpenAI$8$5.1036%
Gemini 3 ProGoogle$30$19.5035%
Grok 4xAI$25$16.2535%

$ per 1M output tokens. Illustrative rates. Live pricing tracks the market and your volume band.

Usage

Every token, accounted for

Spend by day and model, request volume, and overhead. One dashboard, updated live.

Requests (7d)

1.24M

Tokens (7d)

890M

Routing overhead

39 ms

Kept vs list

$3,180

Spend by day

Mon
Tue
Wed
Thu
Fri
Sat
Sun

Spend by model

claude-sonnet-544%
gpt-5.129%
gemini-3-pro19%
others8%

FAQ

Good questions

Halva is a single API gateway to 400+ AI models. One key, one endpoint, wholesale pricing, and full visibility into every token you spend, so you can build against any model without wiring up a new provider each time.

Halva aggregates demand and routes across providers, passing near-cost rates back to you. You pay per token at a blended market rate that improves with volume. No monthly minimum, no seat fees, no markup on top.

Yes. Halva speaks the OpenAI API. Point your base URL at api.halva.so, swap in your key, and keep your existing SDK, streaming, and tool calls exactly as they are.

Never. Requests relay straight through to the provider you named. We keep only billing metadata (model, token counts, and timestamps), and nothing of your prompt or completion content is written to disk.

The router fails over to a healthy provider serving the same model family, so your app keeps responding instead of returning errors while one upstream is degraded.

Yes. Set per-key budgets and alerts, then watch every request, token, and dollar update live in the dashboard. Spend is broken down by model, key, and day.

Point your base URL at Halva

One key, every model, wholesale pricing. Your first request is two lines away.