BYOK LLM gateway

One endpoint per provider, one key per agent, and a decision on every request: authenticated, attributed, budgeted, traced, then forwarded.

What it routes

Descles speaks the protocols your clients already use, so the gateway is a base-URL change rather than a migration.

  • OpenAI Chat Completions and the Responses API
  • Native Anthropic Messages
  • Any OpenAI-compatible endpoint: router aggregators (OpenRouter, OneAPI-style), LiteLLM proxies, self-hosted vLLM / SGLang / TGI
https://<provider>.gw.descles.com/v1/chat/completions   OpenAI-compatible
https://<provider>.gw.descles.com/v1/responses          Responses API
https://<provider>.gw.descles.com/anthropic/v1/messages Anthropic Messages

Two ways to keep your own key

Hosted BYOK is the team setup: add the endpoint and key once in the console, encrypted at rest, and every employee authenticates with a plain Descles token. Rotating the org credential revokes nothing on anyone's laptop because the credential was never on one.

Per-request BYOK is the evaluation setup: send the upstream endpoint and credential as headers on each call, and nothing is stored. Both modes produce the same attribution, budget checks, traces and audit records — the only difference is where the credential lives.

Budgets that reject instead of report

A limit enforced after the spend is an invoice, not a control. Descles evaluates budgets per request against a UTC day and can cap spend in dollars, tokens, or both. Token caps are price-independent, which is what you want on a custom endpoint where nobody has an accurate price table for the model string you forwarded.

defaults:
  budget:
    daily_usd: 10        # cap in provider spend
    daily_tokens: 2000000 # cap that does not depend on a price table
On an unknown model the cost estimate falls back to a default price and can be off; prefer a token budget on aggregator or self-hosted endpoints.

What a trace contains

Every mediated call records the agent and group that made it, the provider label, the model string, input/output/cached tokens, an estimated cost, latency, the policy decision, the names of the tools the model proposed, and a trace id. Message bodies are forwarded, not filed: the record is the governance and usage layer.

Questions

Is a gateway going to add latency to every request?

The gateway authenticates, checks the budget, forwards and streams the response through, so the added work is per-request bookkeeping rather than a round trip. Tokens, cost and latency are recorded per call so you can see it in the traces rather than take anyone's word for it.

Can I route an OpenAI-compatible endpoint you have never heard of?

Yes. Give it a name in Console → Providers and the name becomes your subdomain. Your model string is forwarded untouched, and if the label cannot be a hostname you use the per-request headers against the shared gateway host instead.

Does Descles see my provider key?

In hosted BYOK it holds the credential encrypted at rest and never returns it from any endpoint. In per-request BYOK it forwards the credential for that call and does not store it.

Related

  • AI agent control planeA control plane sits beside the data plane: your agents keep talking to their model providers, and the control plane decides who they are, what they may spend, which tool calls they may make, who reviews the risky ones, and what record survives afterwards.
  • Agent audit recordsWhen someone asks why an agent did that, a log line in a bucket is not an answer. A record that names the actor, the decision, the approver and the outcome, in a chain that fails verification if it is edited, is.
  • Claude Code governanceA coding agent with a shell is the most useful and most dangerous agent most teams run. Descles keeps the Anthropic credential off laptops and puts a policy in front of the tool calls it proposes.
  • Documentation — endpoints, provider keys, and the full policy reference.

Try it on one agent: 1,000 governed requests free, no card. Request packs add 25,000 more to the same workspace. Questions: outreach@descles.com. See also terms and privacy.