Skip to content
Lobstack Gateway

One key. Every frontier model.

9 providers behind one OpenAI-compatible endpoint, metered per token. Change the model string; keep everything else.

  • OpenAI
  • Groq
The receipt

Every call comes back with what it cost.

Not a percentage off a rate card. The model that answered, the tier it landed in, the dollars charged, and the model those dollars were measured against — in the response headers, or in the last frame of a stream, quotable by id.

x-lobstack-model
What actually served the request. Not necessarily what you sent.
x-lobstack-tier
The tier the complexity score landed in, and the score that put it there.
x-lobstack-cost-usd
What you owe for these tokens, priced the moment the request ran from the counts the provider reported. Empty when the model is unpriced — an absence, never a zero.
x-lobstack-savings-usd
The baseline cost minus the cost above, on these exact token counts. Dollars, subtracted — not a percentage off a rate card.
x-lobstack-baseline-reason
plan_ceiling here, because the request said "auto" and named no model: the comparison is Claude Fable 5.1, the most expensive model the Developer plan allows, and nobody asked for it. Read this before rendering the saving.
x-lobstack-request-id
The id on the trace and on the ledger row. Quotable in a support thread.
receiptPOST /v1/chat/completions
$ curl -i \
https://www.lobstack.ai/api/gateway/v1/chat/completions \
-H "Authorization: Bearer $LOBSTACK_KEY" \
-d '{ "model": "auto", "messages": [...] }'
HTTP/1.1 200 OK
x-lobstack-request-id:req_8f3a1c92e0b74d16
x-lobstack-model:claude-haiku-4-5
x-lobstack-tier:small
x-lobstack-complexity:25
x-lobstack-routed:true
x-lobstack-cost-usd:0.001565
x-lobstack-savings-usd:0.014085
x-lobstack-baseline-model:claude-fable-5-1
x-lobstack-baseline-reason:plan_ceiling
x-lobstack-baseline-usd:0.015650
x-lobstack-priced:true
x-lobstack-metered:true
and when the served model is not in the registry:
x-lobstack-priced:false
x-lobstack-cost-usd:

The receipt headers on a buffered 200; quota headers ride alongside them. Priced and routed by the Gateway’s own code at build time.

How it works

The request above sent auto, which names no model. Name one instead and it sets the ceiling, not the answer: the router still starts at the cheapest tier and stops at the first that clears the score, so you get the model you named when the tier it selects is that model’s. x-lobstack-routed says which happened.

Clients

Point what you already have at it

The endpoint is OpenAI-shaped. Every client here reaches the same route on the same key and gets the same receipt back.

An OpenAI SDK

const client = new OpenAI({
  baseURL: "https://www.lobstack.ai/api/gateway/v1",
  apiKey: process.env.LOBSTACK_KEY,
});

One base URL and a Lobstack key in place of the provider’s. Python is base_url=. Nothing else moves — the request and response shapes are OpenAI’s, streaming and tool calls included.

Quickstart →

A tool that only speaks OpenAI

npx -y lobstack
lobstack proxy

OPENAI_BASE_URL=http://127.0.0.1:8787/v1
OPENAI_API_KEY=anything

Point Cursor, Aider or Continue at it and every call is routed, metered and in your Console. The tool never sees your Lobstack key; the proxy holds it. It binds 127.0.0.1 only — the process answers unauthenticated requests, so anything that can reach the port can spend on your account.

How the proxy works →

An editor that speaks MCP

npx -y @lobstack-ai/mcp

The Lobstack Gateway as an MCP server over stdio: route a prompt, list models, send a call, read what it cost — inside Claude Desktop, Claude Code, Cursor or Zed.

MCP reference →
Reference

The catalog

26 models across 9 providers, reachable by changing one string, plus 19 previous-generation keys that keep working.

Govern

Enterprise controls

Plan ceilings

Cap the model tier each plan can reach. Token Intelligence routes freely below the ceiling and never above it. Cost control by construction, not by review.

Bring your own keys

Run managed inference on Lobstack keys, or switch to BYOK and route with your own provider credentials. Same endpoint, same metering.

Keys you never handle

Managed provider keys are held as platform environment secrets and resolved at boot — never on agent disk, never in the workspace database. API keys are stored only as a SHA-256 hash and compared in constant time.

One key, from today.

Get a Gateway key, then command it from the Console.