Recorded before it is dispatched
Every call the hosted gateway admits is written to the audit ledger before it goes to your provider. If the ledger cannot take the write, the call does not go out.
How the ledger works →product
Route every call, see what your agents did, prove it to a third party, and ship changes you can defend. 34 capabilities you can use today.
Every call the hosted gateway admits is written to the audit ledger before it goes to your provider. If the ledger cannot take the write, the call does not go out.
How the ledger works →SHA-256 hash-chained, Ed25519-signed and anchored to Sigstore's public log. Three open verifiers, in Rust, Python and TypeScript, check it offline.
Security posture →Each retry and failover hop is on the trace with its status and timing, and every call records the model you asked for next to the one the provider says served it.
What a trace shows →Measured with LiteLLM's open AIGatewayBench, full table published. 205 providers through one endpoint, your keys, 0% markup.
The benchmark, method and caveats →gateway
Point your OpenAI or Anthropic client at Tracelane. Your calls go to your provider with your own key, every one of them is recorded, and the routing is yours to change without a deploy.
Control — one endpoint that routes, caps and swaps models, changed in settings, not in code.
8 capabilities · 3 proven on production
Change one base URL; any OpenAI-compatible client works, and every call is traced.
Point Claude Code or any Anthropic client straight at the gateway and get full tracing, tokens and cost.
Store provider keys encrypted per workspace, check on demand that a key still works, and pay your provider directly.
Call a model by a name you control, like "fast", and repoint it in settings — the trace records both names.
Turn on cross-provider failover for your whole workspace and choose the fallback models, in order.
Serve an identical repeated request from cache; a response header says it was cached.
Guardrail rails check requests at the gateway — cost and step caps, secrets and personal data, tool pinning, format and topic — and flag or redact what matches. Which rails you get depends on your plan.
Each provider gets its own circuit breaker, and every call carries its USD cost from a model price catalogue.
observability
Every call, tool and retry, readable as the conversation it was — searchable, shareable, and in the OpenTelemetry format you already use.
Visibility — when an agent misbehaves, the answer is already recorded.
10 capabilities · 9 proven on production
Search by span name or content, filter, group and sort, and export what you see to CSV or JSON.
Read a trace as the transcript it was, with the span tree and an inspector beside it.
See multi-agent runs with a lane per sub-agent and a failures-only filter.
See each attempt a request made — retries and failover hops with status and timing — not only the one that worked.
A trace is marked when the model that answered is not the one you asked for, the reply came back empty, or its stream was cancelled, and when an OpenAI- or Anthropic-style provider or your OpenTelemetry spans report a token-limit or content-filter stop. Filter the list to just those.
Tag calls with an environment, release, service and your own tags, through the gateway or over OpenTelemetry; every span keeps them.
See which agents and clients call your gateway, each with its own profile and history.
Send your own user id and filter sessions and traces by the person who started them.
Send a revocable, account-free link to a single trace, with its ledger badge.
Build your own dashboards, read latency and error SLOs, and route alerts to Slack, Discord or a webhook.
audit ledger
Every call through the gateway, and every policy result on it, goes onto a tamper-evident hash chain for your workspace, signed with your workspace's own key and anchored to a public transparency log. Spans you send directly over OTLP or an SDK are recorded, not chained.
Proof — evidence a third party can verify offline, without trusting us.
8 capabilities · 1 proven on production
Every gateway call and policy result is chained, so a later edit, deletion or reorder is detectable.
Batches are signed with a key that belongs to your workspace, not one shared across customers.
Batch roots are anchored in the public Sigstore Rekor log, which anyone can look up.
Verify an exported bundle with no network access, in Rust, Python or TypeScript.
Hand an auditor one signed binary that exits non-zero when the chain does not hold.
Check your chain in the product at no cost, including a recompute in your own browser.
Each ledger row is committed in the same database transaction as the chain it extends, and archived hourly.
On Enterprise, export the record-keeping pack mapped obligation by obligation; an export that cannot complete fails loudly instead of handing you half. Per-record inclusion proofs and a signed completeness attestation are on the roadmap.
evals
Turn production traces into test cases, score live traffic, and let CI refuse a change that falls below the floor you set.
Quality — prove a prompt or model change is better before it reaches users.
8 capabilities · 5 proven on production
Fail a pull request when a dataset's score falls below your floor — with separate exit codes for "worse" and "couldn't measure".
Let an LLM judge score a sampled share of production traffic, under a spend cap you set.
Send a new prompt version to a share of your users, each kept on the same version, before promoting it.
Version prompts and promote or roll back; every change is a signed record in your ledger.
Send failing traces to a queue, write the right answer, and keep it as a test case.
Keep datasets that persist, and add a trace's input from the trace page in one click.
Compare an experiment against a baseline case by case, not only on the average.
Try a prompt against your connected provider and land on the trace it produced.
Product tour
A short walkthrough of traces, gateway decisions and audit evidence.