BYOK LLM Gateway Explained: Route Across Your Own Provider Keys at 0% Markup
When an application talks to more than one LLM provider, you have three ways to put a single OpenAI-compatible API in front of them: buy credits from a token reseller, run a self-hosted proxy on your own servers, or use a hosted Bring-Your-Own-Key (BYOK) gateway. This guide explains what a BYOK LLM gateway does, where it saves money or operational work, and when one of the other two models is a better fit. We build SentioGate, a hosted BYOK router, so we note our own limits clearly below.
As of 2026-10-26. Competitor pricing and features referenced below link to their public documentation.
Three ways to unify LLM providers
| Model | How billing works | Who runs the proxy | Best when |
|---|---|---|---|
| Credit aggregator (e.g. OpenRouter) | You prepay credits (5.5% Standard / 8% Business credit fee) or use BYOK (free up to $25k/mo list-price inference, 5% after) | The vendor | You want one invoice and instant access to hundreds of models without opening provider accounts |
| Self-hosted proxy (e.g. LiteLLM, Bifrost) | Providers bill you directly on your keys | You run Docker/Kubernetes, the database and upgrades | You need the gateway inside your own VPC or need custom plugins |
| Hosted BYOK router (e.g. SentioGate) | Providers bill you directly at 0% token markup; flat gateway plan | The vendor | You have direct provider keys or credits and want automatic routing and failover without running a server |
What happens on a BYOK request
With SentioGate, your provider API keys (OpenAI, Gemini, Groq, Mistral, DeepSeek, xAI, or OpenRouter) live in an AES-256-GCM encrypted Vault. You enable the specific models your application trusts.
- One request format. Your app sends a standard OpenAI
/v1/chat/completionscall withmodel: "auto"(or a pinnedprovider/model). - Health and cooldown check. Models that recently returned HTTP 429 or 5xx are held in a shared cooldown window that honors the provider's
Retry-Afterheader. - Cost- and latency-aware ranking. Among your enabled, healthy models,
autoranks candidates for the request. - Key failover, then model failover. If Key A on a provider hits a rate limit, the router tries Key B for that provider first, then moves to the next ranked model in your pool.
- Direct provider billing. The upstream provider bills your account directly. SentioGate adds 0% per-token markup.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.sentiogate.dev/v1",
api_key=os.environ["SENTIOGATE_API_KEY"],
)
resp = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Extract the invoice total as JSON."}],
)
print(resp.choices[0].message.content)
Key management and spend controls
Because a BYOK gateway uses your own provider accounts, key hygiene matters:
- Multiple keys per provider. In SentioGate's Vault you can store up to 5 keys per provider in priority order, with per-key spend and balance pause thresholds.
- Scoped model allowlists.
model: "auto"never picks a model you haven't enabled in your Vault. - Per-request visibility. Responses include
routermetadata showing which policy ran, why a model was chosen, and any fallback attempts.
When a BYOK gateway is the wrong choice
- You want a single consolidated bill across dozens of model providers instead of managing separate provider accounts: use OpenRouter.
- You must self-host inside a private network or need an Anthropic
/v1/messagesor MCP gateway today: use LiteLLM or Bifrost (see our gateway comparison). - You need deep prompt tracing and evals: see our Helicone alternative guide.
You can test SentioGate before adding keys using its free community pool (a shared community evaluation tier capped at 150 requests per 5 hours per user during beta), then add your own keys in the Vault for production. See the API docs and pricing.
Sources
All accessed 2026-10-26.
- OpenRouter: Pricing
- LiteLLM: GitHub repository
- Bifrost: GitHub repository
- SentioGate: docs, pricing, privacy