Managed or self-host Open core

Braintrust Gateway Managed gateway

Braintrust Gateway is a managed LLM gateway: an OpenAI-compatible API in front of ~100 models from 9 providers. It charges no per-seat fee. It is open-core, so it can be self-hosted or used as a managed service. A HIPAA BAA and SOC 2 are published; an unconditional zero-retention guarantee is not. You can point it at your own provider accounts. Beyond chat it also serves embeddings and audio.

· 39 of 113 fields dated · 54 sources

Built by Braintrust · US company · EU region available

Access at a glance

Whether this product can work for you at all, before features matter: who pays the model bill, where it can run, and which of your existing API calls keep working. Every value is the vendor’s own claim, linked to the page it came from.

An evaluation/observability platform whose gateway also proxies: the vendor calls it the "Braintrust AI proxy", giving "unified access to models from OpenAI, Anthropic, Google, AWS, Mistral, and third-party providers through a single API" with "automatic caching, observability, and multi-provider support" (AI proxy docs). The proxy is now deprecated in favour of the Braintrust Gateway (AI proxy docs, Gateway docs).

Who pays the model bill

Your keys or their credits

You can start on their credits and move to your own provider accounts later.

You can use the proxy with "your API key from any supported provider" (even without a Braintrust account) or use "a single Braintrust API key to access all AI providers through one interface", and built-in models bill against Braintrust model credits (AI proxy docs, AI providers).

Merchant of record: BYOK: the upstream provider (customer's own provider keys; project-level keys let you "manage separate billing") (AI proxy docs). Built-in models: Braintrust, via model credits and on-demand rates (AI providers). Explicit "who invoices" language: not stated.

Key handling: Provider keys are configured at organization or project scope, project overriding org; project-level keys isolate usage and billing (AI proxy docs). Keys are stored as one-way cryptographic hashes, never plaintext (AI providers); in self-hosting, project-level encrypted provider secrets stay in the customer data plane while org-level encrypted secrets sit in the control plane, and Braintrust servers/employees do not require data-plane access (Self-hosting). The Gateway page states Braintrust "cannot see your data and does not store or log API keys" (Gateway); the hosted OSS proxy is described as having "end-to-end encryption" (GitHub).

Where it can run

3 of 5 shapes documented
  • Vendor-hosted
  • Self-host
  • Your VPC
  • On-premise
  • Air-gapped

Dimmed shapes are not documented by the vendor, which is not the same as unsupported.

Hosted SaaS (https://api.braintrust.dev/v1/proxy, https://gateway.braintrust.dev in public preview), self-host / BYOC data plane (hybrid in the customer's own cloud account), and open-source self-deploy of the proxy (Gateway, Self-hosting, AI providers, GitHub braintrust-proxy). On-prem/air-gapped: not documented.

Hybrid model: Braintrust-managed control plane plus a customer-hosted data plane — AWS via Terraform on ECS/EC2, GCP and Azure via Kubernetes/Helm; the self-hosted data-plane URL is configured in organization settings (Self-hosting). "Self-hosted Braintrust deployments include a built-in proxy that runs in your environment" and the self-hosted Gateway serves /v1/proxy (AI proxy docs, Gateway). The OSS proxy ships deployment wrappers for Vercel, Cloudflare, AWS Lambda and Express (GitHub). Tier gating for hybrid: not stated on pages fetched; note self-hosted deployments have built-in models disabled by default while SaaS enables them (AI providers).

API surfaces your code can keep using

4 of 7 documented, 1 partial
  • OpenAI chatPOST /v1/chat/completionsYes

    POST /v1/proxy/chat/completions, "fully compatible with the OpenAI SDK" by setting base URL https://api.braintrust.dev/v1/proxy (AI proxy docs, Proxy chat/completions API ref). Note the path is prefixed with /v1/proxy, not bare /v1.

  • Anthropic messagesPOST /v1/messagesYes

    Native Anthropic schema at /v1/proxy/anthropic/messages; anthropic-version and x-api-key headers are not required (AI proxy docs); the Gateway page also lists Anthropic messages support (Gateway).

  • OpenAI ResponsesPOST /v1/responsesYes

    Responses is listed among the Gateway's supported OpenAI surfaces (Gateway).

  • EmbeddingsPOST /v1/embeddingsYes

    /embeddings (and Gemini embedContent/batchEmbedContents) (AI proxy docs, Gateway).

  • ImagesPOST /v1/images/generationsNot documented

    n.a. (no image-generation endpoint on the proxy or gateway pages fetched: AI proxy docs, Gateway).

  • AudioPOST /v1/audio/*Partly

    The proxy supports the OpenAI Realtime API over WebSockets at /realtime with audio output modalities and audio-transcript stream events; standalone STT/TTS endpoints are not documented (AI proxy docs).

  • Batch jobsPOST /v1/batchesNot documented *

    n.a. for generic batch inference; only Gemini batchEmbedContents is listed (Gateway).

An asterisk marks a qualified verdict: support that is indirect (SDK compatibility or provider passthrough rather than a native endpoint), or a gap that is narrower or wider than the label suggests. Read the note before porting.

Base-URL swap with the standard OpenAI drivers ("You can communicate with the proxy via the standard OpenAI drivers/API"), no proprietary SDK required (GitHub). Caveats: paths sit under /v1/proxy; temporary credentials and WebSocket realtime work only on the standalone https://braintrustproxy.com/v1 host, not api.braintrust.dev/v1/proxy; requests to api.braintrust.dev/v1/proxy now route to the Gateway with "no code or URL changes"; caching triggers when temperature=0 or a seed is set (AI proxy docs, API ref). Self-hosted reasoning support needs data plane v0.0.74+, project-level provider precedence v2.0.0+ (AI proxy docs).

How much it reaches

Models~100
Upstream providers9

Providers: Counted from the vendor’s own published list; no aggregate total is published.

"over 100 models" (page undated) (AI proxy docs).

n.a. as a number; standard providers named are OpenAI, Anthropic, Google, AWS Bedrock, Azure OpenAI, Together AI, Fireworks, Groq, Replicate (page undated) (AI proxy docs).

Whose models: Third-party routing with a Braintrust-billed "built-in models" option: built-in open-source models (e.g. glm-5.2, kimi-k3, deepseek-v4-flash-0731) consume Braintrust model credits at on-demand rates and are disabled by default on self-hosted deployments (AI providers). Whether models run on Braintrust hardware: not stated (AI proxy docs).

Your own endpoints: yes: "Add custom models or endpoints to use with the proxy", with custom providers supporting "self-hosted models", fine-tuned models and proprietary AI services, configured at org or project level with endpoint, headers, streaming and cost metadata (AI proxy docs, AI providers, Gateway).

How it behaves in production

What happens when an upstream model is slow, wrong, or down — and what you can see and stop while it happens. Reliability features are recorded as where you configure them, not whether the vendor lists them, because almost every product here lists all of them.

1 of 6 reachable from codenothing documented on the request path1 documented destination

When something goes wrong

Each row says where the knob is, not whether the feature is on the marketing page. A control you can only reach by hand in someone else’s dashboard cannot be reviewed or version-controlled.

  • Request timeoutNot documented

    The vendor does not document this, so any behaviour you observe today is unversioned and may change.

    No request-timeout header or key on the fetched proxy/gateway docs (Braintrust AI proxy).

  • RetriesNot documented

    Default count and backoff: n.a. The documented failure path is failover to the next endpoint, not a retry counter (Braintrust proxy fallback reference).

  • Fallback to another modelPer request

    Your application decides per call, so one noisy endpoint can have its own timeout without a redeploy.

    ORDERED, comma-separated: header x-bt-fallback-providers. Response headers x-bt-used-endpoint, x-bt-failover-from and x-bt-failover-to report what happened; x-bt-endpoint-name pins a specific endpoint (Braintrust proxy fallback reference).

  • Load balancingFixed, cannot change

    The behaviour is fixed by the vendor. Predictable, but you cannot tune it for your workload.

    not_configurable at the weight level: the proxy automatically load-balances across multiple API keys configured for the same provider, and no weight key is documented (Braintrust AI proxy).

  • Upstream health trackingFixed, cannot change

    not_configurable, and what exists is health checking at the gateway's own edge rather than upstream provider ejection: the global endpoint gateway.braintrust.dev uses DNS latency-based routing plus health checks across us-east-1, eu-west-1, us-west-2 and ap-southeast-1 (Braintrust gateway).

  • Cross-region failoverFixed, cannot change

    The vendor runs multiple regions behind one hostname with DNS health-checked routing; there is no user-facing cross-region failover config (Braintrust gateway).

Fallback chain: Ordered list — Try A, then B, then C. Simple and predictable, but every failover is all-or-nothing.

The response headers (x-bt-failover-from / x-bt-failover-to / x-bt-used-endpoint) make failover observable per request, which is unusual and valuable for debugging silent degradation (Braintrust proxy fallback reference).

How fast the hop is

Edge worker

Runs in a V8 isolate at the network edge, so the routing hop is cheap and starts fast, but you cannot run it inside your own network.

Repo is TypeScript 99.0% and is documented as deployable to Vercel, Cloudflare Workers, AWS Lambda or Express (braintrustdata/braintrust-proxy).

You can run the request path yourselfYes
StreamingYes

MIT-licensed repo with deploy targets for Vercel, Cloudflare, AWS Lambda and a Node/Express server (braintrustdata/braintrust-proxy).

Streaming caveats: Supported, and failover is documented as working for streaming requests. Caveat: caching is disabled for requests that went through failover (Braintrust proxy fallback reference).

This vendor publishes no latency or throughput figure for the routing layer. That is the most common case here, and it is why the architecture class above carries the comparison instead of a number.

No figures published (Braintrust gateway).

What it will stop

nothing documented on the request path

No request-path policy controls are documented. That is not a fault in a product built purely for routing — but it means anything you need blocked has to be blocked before the call reaches here.

What you can see

Export is limited
What gets loggedYour choice

You decide whether bodies are captured, by setting or by header.

You can turn bodies offYes

Omitting x-bt-parent sends the request through without logging (Braintrust AI proxy)

TracesOpenTelemetry

OpenTelemetry is supported natively: Braintrust exposes an OTel-compatible backend endpoint and documents OpenLLMetry and Vercel AI SDK instrumentation, with multi-step spans forming agent traces (Braintrust OpenTelemetry, View logs)

Logging through the proxy requires passing an x-bt-parent header to name the destination project; without it, requests are not logged, and the repo lists automatic logging as "coming soon" (Braintrust AI proxy, Braintrust proxy repo). When logging is enabled, full request/response spans including prompt and completion text are stored (View logs)

Where telemetry can go

  • Braintrust

CSV and JSON download from the logs UI, plus bt sync pull for NDJSON extraction to local/customer storage; the OTel endpoint is an ingest, not an export (View logs, Braintrust OpenTelemetry)

Records user feedbackYes
Scores live trafficYes

POST /v1/project_logs/{project_id}/feedback attaches scores, comments, and metadata to a logged span (Feedback API)

Yes — online scoring runs automated scorers against logged production traffic inside Braintrust; it is a Braintrust platform feature (View logs)

Depends on the vendor’s SaaS: The proxy can be self-hosted in the customer environment, but logs, spans, and online scoring are Braintrust platform features, so full observability is tied to the Braintrust control plane (Braintrust AI proxy, View logs)

Retention: n.a. — No default retention window found on the fetched pages (View logs)

Whether it fits how you work

How much work stands between you and a first call, how different that is from running it in production, and whether it slots into the stack you already have. Recorded as the shape of the work rather than a number of minutes — how long it takes you depends on which accounts and quota you already hold, which no comparison can know.

to try: base url swapto run: base url swapfits 6 of 10 common stacks

Getting to a first call

No numbered procedure published
Shape of the workChange one base URL

Your existing OpenAI-compatible client keeps working. You change a base URL and a key, and nothing else in your code moves.

Read off: the vendor’s own quickstart — no numbered procedure published.

Why the count is not the work: The page carrying the quickstart and first-call snippet is marked deprecated, and it publishes no numbered procedure. The current Gateway page has no quickstart at all.

Before step one

  • Your own provider keyOptional

    You can start on the product’s own credits and move to your own provider keys later.

    Not required: with an account "you can use a single Braintrust API key to access all AI providers"; without an account "you can use the proxy with individual provider API keys." For tracing, "you must use a BRAINTRUST_API_KEY rather than a provider's key." (AI proxy - Braintrust)

  • Payment methodNo card needed to start

    Not stated on the proxy page (AI proxy - Braintrust); the hosted Gateway "is described as in public preview and free to use; pricing is announced before general availability" (Use the Braintrust Gateway)

  • Gate before models answerNo gate

    Every catalogue model is callable as soon as you have a key.

    No model gate: "The proxy supports over 100 models... New models are added regularly." One org-level enablement gate exists for infra monitoring: "The Infra dashboard option is available once Braintrust has enabled infrastructure monitoring for your organization." (AI proxy - Braintrust, Self-hosting Braintrust)

Everything you need first: Either a Braintrust API key or a provider key: "You can use the proxy without a Braintrust account by providing your API key from any supported provider." No credit card, cloud account, or cluster is stated (AI proxy - Braintrust)

Running it in production

The same scale applied to the path the vendor recommends for production traffic. Kept separate from the quickstart because for several products here the two are barely related pieces of work.

Shape of the workChange one base URL

Your existing OpenAI-compatible client keeps working. You change a base URL and a key, and nothing else in your code moves.

If you self-host it insteadDeploy it on your infrastructure

This is an infrastructure project, not an integration. Expect charts or Terraform, networking, secrets and someone who owns the deployment.

Trying this and running it are almost unrelated pieces of work. The quickstart is not a preview of the production effort.

What production needs: Hosted Gateway: only BRAINTRUST_API_KEY (Use the Braintrust Gateway). Self-hosted data plane: Braintrust API, PostgreSQL 17+ (8+ vCPU, 64GB+ RAM, 1000GB+, 15,000+ IOPS), Redis 7+, object storage and Brainstore (NVMe, 150,000+ IOPS, dedicated Kubernetes nodes; 2+ readers, 2+ fast readers, 1+ writer), production API 4+ instances (Self-hosting Braintrust)

Can you run it yourself

Install command publishedOffered, but no command published

Self-hosting is advertised and the requirements are described, but no page publishes a command to start from. Expect to talk to the vendor before you can run it.

No literal command is published; self-hosting uses "official Terraform modules" on AWS (ECS/EC2) and GCP/Azure (Kubernetes and Helm), with Braintrust hosting the control plane (Self-hosting Braintrust)

How it fits your stack

6 of 10

Each row is a thing you might already run. “With a caveat” means it works but not the way the vendor’s marketing implies — read the reason, because that is usually where the surprise lives.

  • FitsThe OpenAI SDKDrop-in: change the base URL and key, nothing else.
  • With a caveatThe Vercel AI SDKDocumented integration, not a provider
  • FitsCloudflare WorkersCalling it from a Worker is documented.
  • FitsKubernetesbraintrust from oci://public.ecr.aws/braintrust/helm/braintrust
  • With a caveatTerraform or OpenTofuOfficial modules
  • With a caveatAn existing API gatewayService mesh routing documented
  • FitsCloud IAM I already runReuses IAM roles, workload identity or managed identities.
  • FitsLangChain or LlamaIndexLangChain, LlamaIndex
  • With a caveatMCP servers to governHosted MCP server — governs nothing on your side.
  • FitsNothing — plain Node or PythonChange one base URL.

Reading this the other way round — pick what you already run and see every product scored against it.

The integration surfaces behind those answers

  • Vercel AI SDKDocumented integration, not a provider

    It works with the AI SDK, but not by being a provider — read the integration docs rather than expecting a drop-in model factory.

    Named: braintrust wrapAISDK (telemetry wrapper, not a provider)

    Braintrust documents a Vercel AI SDK integration. Install braintrust, ai, and zod with pnpm add braintrust ai zod or npm install braintrust ai zod; use wrapAISDK for AI SDK v3–v6 or braintrustAISDKTelemetry() for AI SDK v7. (Braintrust Vercel AI SDK integration)

  • Cloudflare WorkersDocumented from your Worker

    The docs show calling this product from inside a Worker, including the runtime flags you need.

    Cloudflare Workers are supported. Documented integrations include OpenAIRealtimeWebSocket from openai/realtime/websocket for realtime connections and wrapCloudflareAIChat() from braintrust for Cloudflare AI Chat tracing; Cloudflare Workers require nodejs_compat, a BRAINTRUST_API_KEY Wrangler secret, and flushing with ctx.waitUntil(logger.flush()). (Braintrust Cloudflare AI Chat integration)

  • KubernetesOfficial Helm chart

    A named, published chart. You can read its values file before committing to anything.

    Named: braintrust from oci://public.ecr.aws/braintrust/helm/braintrust

    Official self-hosting deployment uses the Helm chart named braintrust, installed from oci://public.ecr.aws/braintrust/helm/braintrust, with the chart repository at https://github.com/braintrustdata/helm. Other evidence documents chart versions 6.2.1, 6.13.0+, and v5.0.1+ for specific self-hosting and scaling features. (Braintrust self-hosting deployment)

  • TerraformOfficial modules

    Vendor-published modules exist. Some are off-Registry Git references, so pin them explicitly.

    Named: terraform-aws-braintrust-data-plane, and Google and Azure equivalents, on GitHub; no Registry name

    Official Terraform modules are documented for AWS, GCP, and Azure: github.com/braintrustdata/terraform-aws-braintrust-data-plane, github.com/braintrustdata/terraform-google-braintrust-data-plane, and github.com/braintrustdata/terraform-azure-braintrust-data-plane. Additional documentation identifies Terraform module versions v5.2.1 and v6.0 for specific AWS deployments; no Terraform Registry name is stated. (Braintrust self-hosting deployment)

  • Existing API gatewayService mesh routing documented

    Routing is documented at the mesh layer rather than an API gateway.

    Chart-managed Istio integration is documented through an Istio VirtualService; enable virtualService.workloadIsolation.enabled: true, along with virtualService.enabled: true and api.workloadIsolation.enabled: true. No Kong, APISIX, Envoy, nginx, or other gateway plugin is documented. (Braintrust self-hosting scaling configuration)

  • Cloud identityReuses your cloud identity

    Authenticate with the identity you already run — IAM roles, workload identity or managed identities. No long-lived key to rotate.

    Braintrust documents keyless cloud authentication and IAM reuse. AWS Bedrock supports STS AssumeRole; Azure AI Foundry and Azure OpenAI support Microsoft Entra Workload Identity using Braintrust-signed OIDC tokens; Google Vertex AI supports Workload Identity Federation using Braintrust-signed OIDC tokens. Self-hosted GCP deployments also use Workload Identity for GCS, and Azure uses workload identity for Key Vault. (Braintrust changelog)

  • MCPHosted MCP server

    The vendor runs an MCP server you connect a client to. Useful for reaching this product from an agent, but it does not govern your other MCP servers.

    Braintrust provides a hosted MCP server at https://api.braintrust.dev/mcp using streamable HTTP, with support for Claude Code, Cursor, Codex, VS Code, and other MCP-compatible clients. It supports reading and writing Braintrust data, querying logs, authoring prompts and scorers, configuring monitoring, and running evals; self-hosted deployments use the MCP URL shown in organization data-plane settings. (Braintrust MCP integration)

Python frameworks
  • LangChain
  • LlamaIndex

LangChain and LlamaIndex integrations are documented. The LlamaIndex integration uses packages including braintrust, llama-index, llama-index-llms-openai, and openinference-instrumentation-llama-index, with braintrust.auto_instrument(), setup_llamaindex(), LlamaIndexInstrumentor, and BraintrustSpanProcessor. (Braintrust LlamaIndex integration)

First-party client libraries
  • TypeScript
  • Python
  • Go
  • Java
  • Ruby
  • C#

Documented provider clients include the OpenAI SDK (openai for TypeScript/Python), Anthropic SDK (@anthropic-ai/sdk and anthropic), Google GenAI SDK (@google/genai and google.genai), and cURL. Braintrust’s official/native SDKs are documented for TypeScript/JavaScript (braintrust), Python (braintrust), Go, Java, Ruby, and C#/.NET; @braintrust/otel provides OpenTelemetry functionality. (Braintrust changelog)

Agent features: Braintrust documents agent observability and tooling features rather than gateway passthrough capabilities. These include tool/function-call spans, Vercel AI SDK agent classes such as Agent, ToolLoopAgent, WorkflowAgent, and HarnessAgent, multi-step tool interactions, OpenAI Responses API function calls and web search spans, Anthropic server-side tool use, and tracing for Claude Code, Codex, OpenCode, and pi sessions. Sessions/threads and A2A are not documented. (Braintrust changelog)

The proxy is deprecated: "Deprecated. The AI proxy is deprecated and will no longer be regularly maintained," directing users to the gateway "for production-grade reliability." WebSocket/realtime use requires a different base URL (https://braintrustproxy.com/v1). Temporary, time-limited credentials can be minted via /credentials for browser/mobile clients. Source is open at github.com/braintrustdata/braintrust-proxy (AI proxy - Braintrust)

Braintrust offers Braintrust-hosted, BYOC, and self-hosted deployments across AWS, GCP, and Azure. The hosted Gateway is at https://gateway.braintrust.dev, while self-hosted data planes can run the Gateway and serve /v1/proxy; the AI proxy documentation says the AI proxy is deprecated and recommends the Gateway for production use. Hosted Gateway logging writes to the organization’s configured data plane, and provider API keys are configured in Braintrust. (Braintrust Gateway documentation)

What it does well

  • Hosted Gateway is free during public preview, with unlimited users on all plans
  • Deep eval/tracing integration: spans, scorers, datasets, CI quality gates
  • Cross-SDK access (OpenAI, Anthropic, Gemini, Bedrock) plus Realtime audio and embeddings
  • End-to-end encrypted cache with 1-week default TTL and per-request cache control
  • Time-limited temporary credentials for frontend/mobile clients; MIT-licensed proxy on GitHub

Where it falls short

  • Gateway pricing after general availability is unannounced, so cost is unpredictable
  • Narrower provider list (18) and no public model-catalog endpoint
  • No real-time guardrails - evaluation happens after the fact
  • Steep jump from free Starter to $249/month Pro, with per-GB and per-score overages that agent workloads can inflate
  • Self-hosting is effectively Enterprise-only

Choose it when

Teams that already run evals and tracing in Braintrust and want their model traffic to flow through the same platform.

Look elsewhere when

You want a standalone routing marketplace or inline guardrails rather than an eval-centric platform.

Managed gateway: A hosted control plane in front of the models: routing, caching, guardrails, spend limits, and logs. You trade a little simplicity for governance.

How hard is it to leave?

Derived from six published facts, not from an opinion. The weights are fixed and the same for every product — see the arithmetic.

84/84Some work to leave
Portability score breakdown for Braintrust Gateway
What helps you leave Points Source
Works with standard OpenAI codeSwitching away is a base-URL change rather than a rewrite of every call site.22/22 vendor page
No vendor-specific SDK requiredA proprietary client library spreads through your codebase and has to be torn out again.10/10 vendor page
Can use your own provider accountsYour keys and billing relationship stay yours, so removing the gateway does not cut off model access.20/20 vendor page
Can be self-hostedYou can run it yourself instead of accepting a pricing or policy change.20/20 vendor page
Configuration lives in version controlRouting and budget rules are a file you keep, not dashboard state you would have to rebuild.not published
Your request history can be exportedYou leave with your own logs instead of abandoning them.12/12 vendor page

Read the fine print: Logs and spans export to your own S3/GCS bucket as JSONL or Parquet.

1 of the 6 inputs is not published, so the highest reachable score here is 84 rather than 100. That is a gap in the public documentation, not a mark against the product — no points are deducted, they simply cannot be claimed. This measures technical switching cost only. It does not price the engineering time to re-test prompts against a different routing stack.

Full specification

Every field we track. Blank fields say "Not published" rather than "No" — we do not infer an absence from silence. Switch to Technical in the header for the precise field names and the low-level details.

Overview

What kind of product Category
Managed gateway Not verified
Marketplaces resell many providers behind one key. Gateways add governance on top. Open-source projects you run yourself. Cloud platforms are hyperscaler surfaces. Inference providers host models on their own hardware.
Who runs it Deployment model
Managed or self-host Verified 3 days ago
Managed means the vendor operates it. Self-host means you run it on your own infrastructure. Both means you can choose.
Licence Licence
Open core Verified 3 days ago
Proprietary products cannot be inspected or forked. Open licences such as MIT and Apache-2.0 let you audit, modify, and run the code without permission.
Company Company
Braintrust Not verified
The organisation that maintains the product.
Who you would be signing with Vendor status
Independent company Not verified
Whether the product is still an independent company, has been acquired, is a large cloud vendor’s product line, is run by a software foundation, or has been put into maintenance mode. Maintenance mode means bug fixes and security patches only — no new features.
Last shipped an update Latest release
Not published Not verified

Braintrust dates its changelog by month only, so no exact release date is published. The latest entry is August 2026.

The date of the most recent release or version tag. A product that has not shipped in a year is a different risk from one that shipped last week, regardless of what its marketing site says.
GitHub stars GitHub stars
409 Verified 3 days ago
A rough proxy for community size on open-source projects. Not a quality measure.

Cost

Markup on model prices Token markup
Not published Not verified
How much the product adds on top of what the underlying model provider charges. Zero means you pay the same per-token price you would pay the model provider directly.
Fee to add funds Credit purchase fee
Not published Not verified
A percentage charged when you top up your balance, separate from token prices. It is easy to miss because it does not appear on the per-token price list.
Monthly cost per person Seat fee
None Verified 3 days ago
A recurring per-user platform charge that applies regardless of how much you use the models.
Can use your own provider accounts BYOK supported
Yes Verified 3 days ago
Bring Your Own Key: you keep direct contracts with OpenAI, Anthropic and others, and the gateway only routes traffic. This preserves negotiated rates and committed-spend discounts.
Cost of using your own accounts BYOK terms
Provider keys are configured at organization or project level (project keys override org keys); the proxy can even be used with only a provider key and no Braintrust account. Verified 3 days ago
What the product charges to route traffic through your own provider keys.
Enterprise plan from Enterprise plan from
Not published Not verified
Annual entry price for the enterprise tier, where one is published or credibly reported.
How the vendor makes money Pricing model
Platform fee plus usage meters Not verified
The shape of the vendor’s bill: does the routing layer charge a percentage on top of tokens, a flat monthly fee, both, neither (because inference is the product), or nothing at all (open source with no paid tier).
How pricing works, briefly Pricing model detail
Flat monthly platform fee + included model credits then per-token rates + usage overages (processed data, scores, retention). Starter $0 with $10/mo credits; Pro $249/mo with $249/mo credits (drops to $100/mo credits after 2026-09-01); Enterprise annual invoice. AI proxy blog says the gateway itself is free 'as a beta', but Braintrust's docs index the proxy page as 'deprecated' — treat the free-proxy framing as unverified. Not verified
A one-paragraph description that covers the caveats a pricing category cannot: introductory rates, per-feature meters, tier gating, and pricing that resets on a specific date.
Minimum commitment Minimum commitment
None for Starter/Pro. Enterprise is annual-invoiced. Not verified
Whether the vendor requires a minimum contract term, a minimum spend, or a provisioned-capacity purchase to get its published rate.
Charges that fire after you go over an allowance Overage terms
Processed data: 1 GB then +$4/GB (Starter) / 5 GB then +$3/GB (Pro). Scores: 10k then $2.50/1k (Starter) / 50k then $1.50/1k (Pro). Retention: 14 days (Starter) / 30 days then +$0.50/GB/month up to 180 days (Pro). Model credits do not roll over. Retention bills what you ingest into each month you keep beyond the base window, not what's currently stored. Deleting data does not reduce processed-data charges. Not verified
The line items that scale with usage after an included allowance is exhausted — log storage, extra requests, per-feature meters, data export — which is where cost estimates usually go wrong.
Prompt cache offered Cache mechanism
Exact-match cache Not verified
Whether the gateway offers its own response cache, what kind of match it does (exact request, prefix, semantic), or simply passes provider caching through unchanged.
Discount on cached input Cache-read discount
Not published Not verified
How much cheaper cached tokens are than fresh input, when the vendor publishes a single figure. Bundled-inference clouds usually price this per model instead of as one number.
Premium on cache writes Cache-write premium
Not published Not verified
How much more the first write of a cached prefix costs versus a plain input token. A high write premium and a low hit rate can leave you paying more than you save, so this matters as much as the read discount.
Who captures the cache saving Cache economics
Exact-request response caching in the proxy: requests with temperature=0 or `seed` are cached, encrypted per API key, controllable via x-bt-use-cache. No gateway-layer cached-token pricing; Braintrust's own model rates do publish cache-hit prices (GLM-5.2 81% off, Kimi K3 90% off). Cache hits avoid the provider call entirely, but cached traffic still counts as processed data at ingestion. Not verified
Whether the customer keeps the full saving from caching or the vendor captures part of it — and any conditions attached (write premium, storage fees, best-effort hits).
What you can split spend by Cost attribution
Not stated as cost splits. Environments tag object versions but are not described as cost attribution. Not verified
The dimensions the vendor documents for splitting spend — per key, per user, per team, per tag, per customer. Matters if you need to chargeback internally or bill an end customer.
How you get cost data out Cost export
S3 / Google Cloud Storage scheduled export automations on Enterprise only; price not stated. CSV, webhook and warehouse export not stated. Not verified
The mechanisms the vendor publishes for exporting cost and usage data: CSV, an API, webhooks, S3, a data warehouse, or nothing at all. Any per-unit price is included.
Who pays the model bill BYOK mode
Your keys or their credits Not verified
Whether you bring your own provider accounts (BYOK), buy inference from this vendor, or can do either. This is the single biggest commercial difference between these products: it decides who holds the contract with the model provider and who carries the spend.

Spend governance in detail

Seven signals matter when a bill starts to hurt: who can spend, how much, on what, and who gets paged when it goes wrong. Everything below is drawn from the vendor’s own pricing and docs pages — how we read these.

  • Virtual or scoped keysNot published

    Keys that carry their own budget and rate-limit policy, so an intern experiment cannot spend against a production budget.

    Not stated.

  • Budget caps per keyNot published

    A dollar or token ceiling attached to an individual key. Where enforcement is soft, one over-limit request still completes before the block kicks in.

    Not stated.

  • Budget caps per team or workspaceNot published

    A ceiling applied at a higher scope than one key — a team, a workspace, a customer, or an entire environment.

    Not stated.

  • Rate limiting as a cost controlYes

    Configurable request-per-time-window caps. Platform-set rate limits do not count as spend controls; user-configurable ones do.

    Platform-wide only (10,000 ops/10s), not configurable — returns HTTP 429.

  • Model allowlistsNot published

    A policy that constrains which models a key or team can call, keeping expensive frontier models out of the wrong hands.

    Not stated.

  • Spend alertsYes

    Alerts fired as spend approaches a threshold. Alerts that only fire after the meter has rolled over are marked as such.

    Automated emails at 60% and 100% of Topics credit; Starter alerts at 80/90/100% of included usage. Reported after spend.

  • Webhook notificationsNot published

    Programmatic notifications on spend events, so budget breaches can page an on-call or open a ticket.

    Not stated.

Enforcement:Reported after spend, not enforced

Catalog

Models available Models available
~100 Verified 3 days ago
How many models you can call, shown as a range because several vendors publish different totals on different pages. Vendor-reported either way, so counts are not directly comparable — some count every provider variant of the same model separately.
Model providers reachable Upstream providers
9 Verified 3 days ago
How many distinct model providers or labs you can reach, shown as a range where the vendor’s own pages disagree. More providers usually means better redundancy when one has an outage.
Works with standard OpenAI code OpenAI-compatible API
Yes Verified 3 days ago
If yes, you can usually switch to it by changing one base URL, and switch away just as easily. This is the main defence against lock-in.
OpenAI chat endpoint POST /v1/chat/completions
Yes Not verified
The endpoint almost every application ports first. "Not documented" means the vendor never states it, which is different from a documented no.
Anthropic messages endpoint POST /v1/messages
Yes Not verified
Whether Anthropic-shaped calls work without rewriting them. Several products support this only as SDK compatibility or provider passthrough rather than a native endpoint — the detail page says which.
OpenAI Responses endpoint POST /v1/responses
Yes Not verified
The newer stateful OpenAI surface. Support is much thinner across this market than chat completions.
Embeddings endpoint POST /v1/embeddings
Yes Not verified
Whether you can generate vectors through the same gateway, or need a second integration for retrieval workloads.
Image generation endpoint POST /v1/images/generations
Not documented Not verified
Whether image models are reachable through the same surface as text.
Audio endpoints POST /v1/audio/*
Partly Not verified
Speech-to-text and text-to-speech. Frequently the first gap in an otherwise complete gateway.
Batch jobs endpoint POST /v1/batches
Not documented Not verified
Asynchronous bulk processing, usually at a discount. Commonly undocumented, and commonly the reason a migration stalls late.
Needs the vendor’s own code library Requires a vendor-specific SDK
No Verified 3 days ago
A proprietary client library spreads through your codebase and has to be torn out again if you leave. “No” is the better answer here, and it means the standard OpenAI client works.
You can export your request history Logs / usage data export
Yes Verified 3 days ago
Whether you can get your own request logs, traces, or usage records back out — through an API, a bulk export, or a download. Decides whether you leave with your history or abandon it.
Settings can live in version control Declarative config-as-code
Not published Not verified
Whether routing, fallback, and budget rules can be declared in a file you keep in Git, rather than existing only as settings clicked into a hosted dashboard.
Embeddings Embeddings
Yes Verified 3 days ago
Text-to-vector models, needed for search and retrieval features.
Image generation Image generation
Not published Not verified
Whether image models are reachable through the same interface.
Speech and audio Speech and audio
Yes Verified 3 days ago
Text-to-speech or transcription models through the same interface.
Video generation Video generation
Not published Not verified
Whether video models are reachable through the same interface.
Batch processing Batch processing
Not published Not verified
Submitting large jobs for cheaper, slower processing. Often 50% off for work that is not time-sensitive.

Routing & reliability

Uptime it promises in writing Contractual SLA uptime
Not published Not verified
The uptime percentage in a published, contractual service level agreement. A public status page is not an SLA — it reports what happened, it does not promise anything or pay you back when it breaks.
Automatic failover Automatic failover
Yes Verified 3 days ago
When a model provider goes down or rate-limits you, traffic moves to a backup automatically instead of returning errors to your users.
Load balancing Load balancing
Yes Verified 3 days ago
Spreads requests across several providers or keys to raise your effective rate limit.
Rule-based routing Conditional routing
Not published Not verified
Send different requests to different models based on rules — for example a cheap model for free users and a strong model for paying ones.
Response caching Response caching
Yes Verified 3 days ago
Reuses the answer when the exact same request comes in again, which cuts both cost and latency.
Similar-question caching Semantic cache
Not published Not verified
Reuses an answer when a new question means roughly the same thing as an earlier one. Saves far more than exact-match caching but can return subtly wrong answers if tuned loosely.
Where you set the timeout Request timeout surface
Not documented Not verified

No request-timeout header or key on the fetched proxy/gateway docs ([Braintrust AI proxy](https://www.braintrust.dev/docs/deploy/ai-proxy)).

Where a request timeout can be set: per request, in a config file, in the vendor dashboard, or nowhere. Nine of the twenty products documented here do not describe a request timeout at all, so the worst case of a hung upstream call is unknowable from the docs.
Where you set retries Retry policy surface
Not documented Not verified

Default count and backoff: `n.a.` The documented failure path is failover to the next endpoint, not a retry counter ([Braintrust proxy fallback reference](https://www.braintrust.dev/docs/api-reference/proxy/proxy-any-openai-request-fallback)).

Where retry count and backoff are configured. Worth knowing alongside billing: a retried streaming call can be charged more than once.
Where you set fallbacks Fallback surface
Per request Not verified

ORDERED, comma-separated: header `x-bt-fallback-providers`. Response headers `x-bt-used-endpoint`, `x-bt-failover-from` and `x-bt-failover-to` report what happened; `x-bt-endpoint-name` pins a specific endpoint ([Braintrust proxy fallback reference](https://www.braintrust.dev/docs/api-reference/proxy/proxy-any-openai-request-fallback)).

Where the fallback chain is defined. Almost every product claims fallback; the useful question is whether you can change it from code or only by hand in a dashboard.
Shape of the fallback chain Fallback shape
Ordered list Not verified
An ordered list tries targets in sequence; a weighted split sends a percentage of traffic to each, which is what you need to trial a new model on 5% of requests. Weighted splits are much rarer than the marketing implies.
Upstream health tracking Health checks / circuit breaking
Fixed, cannot change Not verified

`not_configurable`, and what exists is health checking at the gateway's own edge rather than upstream provider ejection: the global endpoint `gateway.braintrust.dev` uses DNS latency-based routing plus health checks across `us-east-1`, `eu-west-1`, `us-west-2` and `ap-southeast-1` ([Braintrust gateway](https://www.braintrust.dev/docs/deploy/gateway)).

Whether the product notices a failing upstream and stops sending traffic to it, and whether you can tune the thresholds. This is what turns a provider outage into a blip rather than a sustained error rate, and only four of the twenty expose it.
Cross-region failover you control Multi-region failover surface
Fixed, cannot change Not verified

The vendor runs multiple regions behind one hostname with DNS health-checked routing; there is no user-facing cross-region failover config ([Braintrust gateway](https://www.braintrust.dev/docs/deploy/gateway)).

Whether you can define what happens when a region degrades. A vendor running many regions is not the same as a vendor letting you configure failover between them; only three document a user-controlled mechanism.
Where you set load balancing Load balancing surface
Fixed, cannot change Not verified

`not_configurable` at the weight level: the proxy automatically load-balances across multiple API keys configured for the same provider, and no weight key is documented ([Braintrust AI proxy](https://www.braintrust.dev/docs/deploy/ai-proxy)).

Where traffic distribution across upstreams or keys is configured.

Operations

Usage dashboards and logs Observability
Yes Verified 3 days ago
Built-in visibility into what was sent, what came back, what it cost, and how long it took.
Spending limits Budget controls
Not published Not verified
Hard caps that stop spend before it becomes a surprise invoice. The single most valuable control for a small team.
Rate limits Rate limits
Not published Not verified
Caps on request volume per key or per user, useful for protecting against abuse and runaway loops.
Separate keys per team or app Virtual keys
Yes Verified 3 days ago
Issue scoped keys with their own budgets and permissions so you can attribute cost and revoke access without rotating everything.
Prompt versioning Prompt management
Yes Verified 3 days ago
Store and version prompts outside your code so they can be changed without a deploy.
Quality testing Evals
Yes Verified 3 days ago
Built-in tooling to score model output against test cases, so you can tell whether a model swap made things better or worse.
MCP support MCP support
Not published Not verified
Native support for the Model Context Protocol, the emerging standard for connecting models to external tools.
What gets logged Logged content
Your choice Not verified

Logging through the proxy requires passing an `x-bt-parent` header to name the destination project; without it, requests are not logged, and the repo lists automatic logging as "coming soon" ([Braintrust AI proxy](https://www.braintrust.dev/docs/deploy/ai-proxy), [Braintrust proxy repo](https://github.com/braintrustdata/braintrust-proxy)). When logging is enabled, full request/response spans including prompt and completion text are stored ([View logs](https://www.braintrust.dev/docs/observe/view-logs))

Whether full prompts and responses are stored, only metadata, or nothing. Full-body logging is the most useful debugging feature here and the one most likely to need a conversation with your compliance team.
You can turn logging off Body-logging opt-out
Yes Not verified

Omitting `x-bt-parent` sends the request through without logging ([Braintrust AI proxy](https://www.braintrust.dev/docs/deploy/ai-proxy))

Whether prompt and response bodies can be suppressed while still keeping usage metrics. Nineteen of the twenty document a way to do this; the mechanisms range from a per-request header to an organisation-wide setting.
Traces you can take elsewhere Distributed tracing
OpenTelemetry Not verified

OpenTelemetry is supported natively: Braintrust exposes an OTel-compatible backend endpoint and documents OpenLLMetry and Vercel AI SDK instrumentation, with multi-step spans forming agent traces ([Braintrust OpenTelemetry](https://www.braintrust.dev/docs/integrations/sdk-integrations/opentelemetry), [View logs](https://www.braintrust.dev/docs/observe/view-logs))

Whether the product emits OpenTelemetry, a proprietary format, or nothing. OpenTelemetry means the traces land in the tooling you already run instead of only in the vendor’s dashboard.
Where telemetry can go Export destinations
Braintrust Not verified

CSV and JSON download from the logs UI, plus `bt sync pull` for NDJSON extraction to local/customer storage; the OTel endpoint is an ingest, not an export ([View logs](https://www.braintrust.dev/docs/observe/view-logs), [Braintrust OpenTelemetry](https://www.braintrust.dev/docs/integrations/sdk-integrations/opentelemetry))

Documented sinks for logs and metrics. This is a good proxy for how replaceable the vendor’s own dashboard is: around twenty destinations means you never have to depend on it, while a CSV download means you do.
Can record user feedback Feedback capture API
Yes Not verified

`POST /v1/project_logs/{project_id}/feedback` attaches scores, comments, and metadata to a logged span ([Feedback API](https://www.braintrust.dev/docs/api-reference/logs/feedback-for-project-logs-events))

Whether there is an API to attach a rating or score to a logged request, which is what lets production traffic feed quality work later.
Scores live traffic Online eval hooks
Yes Not verified

Yes — online scoring runs automated scorers against logged production traffic inside Braintrust; it is a Braintrust platform feature ([View logs](https://www.braintrust.dev/docs/observe/view-logs))

Whether automated scorers can run against real production requests, rather than only against a test set you assemble yourself.

Performance

Delay it adds Proxy overhead
Not published Not verified
Extra time the product itself adds to each request, on top of however long the model takes. Usually irrelevant next to multi-second model latency, but it matters for high-volume or streaming-sensitive workloads.
Requests per second ceiling Throughput
Not published Not verified
Published sustained request rate before the product becomes the bottleneck. Only relevant at genuinely high volume.
What the request path runs on Architecture class
Edge worker Not verified

Repo is TypeScript 99.0% and is documented as deployable to Vercel, Cloudflare Workers, AWS Lambda or Express ([braintrustdata/braintrust-proxy](https://github.com/braintrustdata/braintrust-proxy)).

The comparable way to talk about latency here. An edge worker, a compiled Go or Rust binary, and a Python proxy have different overhead floors no matter which figures each vendor publishes. Products that never disclose their runtime are recorded as undisclosed rather than assumed.
You can run the request path yourself Self-hostable data plane
Yes Not verified

MIT-licensed repo with deploy targets for Vercel, Cloudflare, AWS Lambda and a Node/Express server ([braintrustdata/braintrust-proxy](https://github.com/braintrustdata/braintrust-proxy)).

Whether the component that actually carries your prompts can run on your own infrastructure. Distinct from a vendor offering a self-hosted control plane while still proxying traffic through their network.
Streaming responses Streaming support
Yes Not verified

Supported, and failover is documented as working for streaming requests. Caveat: caching is disabled for requests that went through failover ([Braintrust proxy fallback reference](https://www.braintrust.dev/docs/api-reference/proxy/proxy-any-openai-request-fallback)).

Whether token-by-token streaming is documented. The caveats matter more than the yes: some products cannot cancel a stream without still being billed, and several timeout and fallback mechanisms stop applying once the first token has been sent.

Security & compliance

Does your prompt reach their servers Prompt transits vendor
Depends how you deploy it Not verified

Three shapes: multi-tenant SaaS, bring-your-own-cloud where Braintrust operates the data plane inside your account, or full self-hosting. In BYOC the SDK and browser talk straight to your data plane, so no AI data crosses Braintrust's control plane.

Whether the text you send passes through this company’s own infrastructure. If it does, every other promise on this page is a policy commitment rather than a physical impossibility. Self-hosted products can answer no outright.
What they keep if you change nothing Logging default
Yes — prompts and replies Not verified

Once instrumented, Braintrust captures every request as a trace. That is the product, not a side effect — the data plane stores prompts, outputs, datasets and traces.

Defaults matter more than options. A product that stores full prompts and replies unless you find the right header will have stored them by the time you read the docs.
How long they keep it Default content retention (days)
14 days Not verified

Fourteen days on Starter, thirty on Pro (extendable to 180 in 30-day steps), up to 365 on Enterprise.

Default retention for request content, in days. Zero means nothing is kept. Read the note: several products keep nothing as a rule but make timed exceptions for abuse review or specific models.
Could they train on your prompts Training on customer data
No Not verified

Prompts, traces and customer conversations are never used to improve models.

Whether the vendor may use your prompts and outputs to train models. “Not published” means we could not find any position, which is not the same as a no — ask for it in writing.
Where it runs, and what you can pin Region and residency control
Hosted data plane in the US or the EU on Pro. BYOC and self-hosted keep data in your own cloud account and region. Not verified
Which regions are offered and whether you can force processing to stay in one. A global endpoint that silently picks a region is a different compliance story from an endpoint you pin yourself.
Where safety filters run Guardrail execution location
Either, depending on deployment Not verified

Global masking functions redact PII before logging. In BYOC or self-hosted that masking runs inside your own cloud.

A filter that strips personal data only helps if it runs before the data leaves your boundary. If guardrails execute in the vendor’s cloud, the vendor has already received whatever you wanted redacted.
Who else touches the data Subprocessor list
https://www.braintrust.dev/legal/dpa Not verified
The published list of third parties the vendor passes your data to. No list means you cannot know the full chain, which most data-protection agreements require you to.
SOC 2 audited SOC 2 audited
Yes Verified 3 days ago
An independent audit of security controls. Enterprise buyers and their procurement teams routinely require it.
Will sign a HIPAA agreement HIPAA BAA
Yes Verified 3 days ago
Required before you may send protected health information through the service. Without a signed BAA, healthcare data is off limits.
GDPR commitments GDPR commitments
Not published Not verified
Published data processing terms for handling personal data of people in the EU and UK.
Can keep data in the EU EU data residency
Yes Verified 3 days ago
Requests can be processed inside the EU rather than routed to US infrastructure. Often the deciding constraint for European customers.
Does not retain your data Zero data retention
Not published Not verified
Prompts and responses are not stored after the request completes. Sometimes a paid add-on rather than the default.
Strips personal data PII redaction
Not published Not verified
Detects and removes identifiers such as names, emails, and card numbers before the request reaches the model provider.
Content guardrails Content guardrails
No Verified 3 days ago
Policy checks on inputs and outputs — blocking unsafe content, enforcing formats, or catching prompt-injection attempts.
Runs fully disconnected Air-gapped deployment
Not published Not verified
Can be deployed in a network with no internet access, which some regulated and defence environments require.
Blocks personal data in prompts PII / DLP enforcement
Not documented Not verified

The AI proxy documentation describes routing, caching, and logging; no PII scanner ([Braintrust AI proxy](https://www.braintrust.dev/docs/deploy/ai-proxy))

Whether personal data detection sits on the request path and can stop the call, merely inspects and forwards it, or is not documented. A control that only reports is a logging feature, not a policy control.
Blocks prompt injection Injection / jailbreak enforcement
Not documented Not verified

Same ([Braintrust AI proxy](https://www.braintrust.dev/docs/deploy/ai-proxy))

Whether injection and jailbreak detection can stop a request. Most products offering this call a partner classifier rather than shipping their own.
Blocks harmful content Toxicity / moderation enforcement
Not documented Not verified

Same ([Braintrust proxy repo](https://github.com/braintrustdata/braintrust-proxy))

Whether hate, violence, sexual and self-harm categories are checked inline and can stop a request, in either direction.
Your own policy rules Custom policy hooks
Not documented Not verified

No request-path policy engine documented; policies exist as scorers applied to logs, not as blocking checks ([View logs](https://www.braintrust.dev/docs/observe/view-logs))

Whether you can add your own rule — a regex, a webhook, or your own classifier — rather than choosing from the vendor library.
Where guardrails run Guardrail execution location
Not documented Not verified
Whether guardrail evaluation happens inside your infrastructure or on the vendor’s servers. This decides whether the prompt you are trying to protect leaves your network in order to be checked.
If the guardrail itself fails Guardrail failure mode
Not documented Not verified

`not_documented` ([Braintrust AI proxy](https://www.braintrust.dev/docs/deploy/ai-proxy))

What happens when the guardrail service times out or errors: does the request proceed unchecked, or is it blocked? This is the worst-documented field in the entire catalogue — only two vendors state it plainly, which means most teams are running a control whose failure behaviour they cannot know.
Third-party guardrail vendors Guardrail integrations
Not published Not verified
Named external guardrail services the product can call. A long list means the product is a router for policy engines rather than a policy engine itself — which also means another vendor bill and another hop.

Compliance evidence

Graded by how strong the evidence is, not whether the word appears on the vendor’s website. An audited report and a marketing claim are different things, and only one of them will satisfy your own auditor.

  • SOC 2 Certified Type II
  • ISO 27001 Not published
  • GDPR DPA Available on request DPAs can be executed
  • HIPAA BAA Available on request BAAs can be executed
  • FedRAMP Not published
  • ITAR Not published

Vendor source

Fit & integration

Work to try it Evaluation work shape
Change one base URL Not verified
The shape of the work on the vendor’s own quickstart, from swapping one base URL through to deploying infrastructure. An ordinal class rather than a duration, because elapsed time depends on accounts and quota we cannot see.
Work to run it Production work shape
Change one base URL Not verified
The same scale applied to the vendor’s recommended production path. For several products this is much heavier than the quickstart, which is exactly why both are recorded.
Steps on the quickstart Numbered quickstart steps
0 Not verified

The page carrying the quickstart and first-call snippet is marked deprecated, and it publishes no numbered procedure. The current Gateway page has no quickstart at all.

A literal count of numbered steps on the vendor’s quickstart, recorded as evidence beside the work shape. Zero means the page publishes no numbered procedure at all. Large counts usually mean interleaved language tracks rather than more work.
Can you self-host it today Self-host install documentation
Offered, but no command published Not verified

No literal command is published; self-hosting uses "official Terraform modules" on AWS (ECS/EC2) and GCP/Azure (Kubernetes and Helm), with Braintrust hosting the control plane ([Self-hosting Braintrust](https://www.braintrust.dev/docs/admin/self-hosting))

Whether an install command is actually published. Several products advertise self-hosting while publishing no command to start from, which a plain yes/no would hide.
Works with the OpenAI SDK OpenAI SDK drop-in
Yes Not verified

Yes. The AI proxy is “fully compatible with the OpenAI SDK”; set `baseURL`/`base_url` to `https://api.braintrust.dev/v1/proxy`. The Gateway documentation also supports keeping the OpenAI SDK and changing the base URL to `https://gateway.braintrust.dev`, with a Braintrust API key. ([Braintrust Gateway documentation](https://www.braintrust.dev/docs/deploy/gateway))

Whether an existing OpenAI-compatible client can be pointed at it by changing the base URL and key.
Vercel AI SDK support AI SDK provider package
Documented integration, not a provider Not verified

Braintrust documents a Vercel AI SDK integration. Install `braintrust`, `ai`, and `zod` with `pnpm add braintrust ai zod` or `npm install braintrust ai zod`; use `wrapAISDK` for AI SDK v3–v6 or `braintrustAISDKTelemetry()` for AI SDK v7. ([Braintrust Vercel AI SDK integration](https://www.braintrust.dev/docs/integrations/sdk-integrations/vercel))

Whether a first-party AI SDK provider package exists, or only a community package, a documented workaround, or the generic OpenAI provider pointed at a custom base URL.
Python framework integrations Documented Python frameworks
LangChain, LlamaIndex Not verified

LangChain and LlamaIndex integrations are documented. The LlamaIndex integration uses packages including `braintrust`, `llama-index`, `llama-index-llms-openai`, and `openinference-instrumentation-llama-index`, with `braintrust.auto_instrument()`, `setup_llamaindex()`, `LlamaIndexInstrumentor`, and `BraintrustSpanProcessor`. ([Braintrust LlamaIndex integration](https://www.braintrust.dev/docs/integrations/sdk-integrations/llamaindex))

LangChain, LangGraph, LlamaIndex and similar orchestration frameworks with a documented integration.
Callable from Cloudflare Workers Cloudflare Workers support
Documented from your Worker Not verified

Cloudflare Workers are supported. Documented integrations include `OpenAIRealtimeWebSocket` from `openai/realtime/websocket` for realtime connections and `wrapCloudflareAIChat()` from `braintrust` for Cloudflare AI Chat tracing; Cloudflare Workers require `nodejs_compat`, a `BRAINTRUST_API_KEY` Wrangler secret, and flushing with `ctx.waitUntil(logger.flush())`. ([Braintrust Cloudflare AI Chat integration](https://www.braintrust.dev/docs/integrations/agent-frameworks/cloudflare-ai-chat))

Whether the docs show calling this product from your own Worker. Deliberately separated from the several products whose own gateway runs on Workers, which is a fact about their infrastructure and not about your edge compatibility.
Kubernetes install Helm chart availability
Official Helm chart Not verified

Official self-hosting deployment uses the Helm chart named `braintrust`, installed from `oci://public.ecr.aws/braintrust/helm/braintrust`, with the chart repository at `https://github.com/braintrustdata/helm`. Other evidence documents chart versions `6.2.1`, `6.13.0+`, and `v5.0.1+` for specific self-hosting and scaling features. ([Braintrust self-hosting deployment](https://www.braintrust.dev/docs/admin/self-hosting/deploy))

Whether a named, published Helm chart exists, versus Helm being referenced with no chart named, versus generic cluster documentation that has nothing to do with this product.
Terraform support Terraform provider or modules
Official modules Not verified

Official Terraform modules are documented for AWS, GCP, and Azure: `github.com/braintrustdata/terraform-aws-braintrust-data-plane`, `github.com/braintrustdata/terraform-google-braintrust-data-plane`, and `github.com/braintrustdata/terraform-azure-braintrust-data-plane`. Additional documentation identifies Terraform module versions `v5.2.1` and `v6.0` for specific AWS deployments; no Terraform Registry name is stated. ([Braintrust self-hosting deployment](https://www.braintrust.dev/docs/admin/self-hosting/deploy))

Whether you can declare this in code: an official provider, official modules, resources inside a hyperscaler’s provider, a community provider, or only Terraform code shipped in a repo.
Reuses your cloud identity Cloud IAM reuse
Reuses your cloud identity Not verified

Braintrust documents keyless cloud authentication and IAM reuse. AWS Bedrock supports STS `AssumeRole`; Azure AI Foundry and Azure OpenAI support Microsoft Entra Workload Identity using Braintrust-signed OIDC tokens; Google Vertex AI supports Workload Identity Federation using Braintrust-signed OIDC tokens. Self-hosted GCP deployments also use Workload Identity for GCS, and Azure uses workload identity for Key Vault. ([Braintrust changelog](https://www.braintrust.dev/docs/changelog))

Whether you can authenticate with IAM roles, workload identity or managed identities instead of another long-lived API key. Distinguished from products that only accept static upstream provider credentials.
Fits behind your API gateway API gateway integration
Service mesh routing documented Not verified

Chart-managed Istio integration is documented through an Istio `VirtualService`; enable `virtualService.workloadIsolation.enabled: true`, along with `virtualService.enabled: true` and `api.workloadIsolation.enabled: true`. No Kong, APISIX, Envoy, nginx, or other gateway plugin is documented. ([Braintrust self-hosting scaling configuration](https://ai-proxy-5k9q3mg0z.preview.braintrust.dev/docs/admin/self-hosting/configure/scaling))

Whether AI traffic can go through a gateway you already run, and who documented that — the product’s vendor or the gateway’s.
MCP support MCP surface shape
Hosted MCP server Not verified

Braintrust provides a hosted MCP server at `https://api.braintrust.dev/mcp` using streamable HTTP, with support for Claude Code, Cursor, Codex, VS Code, and other MCP-compatible clients. It supports reading and writing Braintrust data, querying logs, authoring prompts and scorers, configuring monitoring, and running evals; self-hosted deployments use the MCP URL shown in organization data-plane settings. ([Braintrust MCP integration](https://www.braintrust.dev/docs/integrations/developer-tools/mcp))

Which kind of MCP support this is: a gateway that governs many MCP servers, a hosted MCP server you connect to, MCP tools accepted inside the completion API, or client tooling. These are different products behind one acronym.
Needs your own provider key Upstream provider key required
Optional Not verified

Optional, not required: with an account "you can use a single Braintrust API key to access all AI providers"; without an account "you can use the proxy with individual provider API keys." For tracing, "you must use a `BRAINTRUST_API_KEY` rather than a provider's key." ([AI proxy - Braintrust](https://www.braintrust.dev/docs/guides/proxy))

Whether an upstream provider account and key must exist before your first call works. A prerequisite rather than a step, and it can differ between the hosted and self-hosted forms of the same product.
Gate before models work Model access gate
No gate Not verified

No model gate: "The proxy supports over 100 models... New models are added regularly." One org-level enablement gate exists for infra monitoring: "The Infra dashboard option is available once Braintrust has enabled infrastructure monitoring for your organization." ([AI proxy - Braintrust](https://www.braintrust.dev/docs/guides/proxy), [Self-hosting Braintrust](https://www.braintrust.dev/docs/admin/self-hosting))

Whether an enablement click, a quota grant, a paid tier or an approval form stands between a valid key and a working model call.
Official client languages First-party client SDK languages
TypeScript, Python, Go, Java, Ruby, C# Not verified

Documented provider clients include the OpenAI SDK (`openai` for TypeScript/Python), Anthropic SDK (`@anthropic-ai/sdk` and `anthropic`), Google GenAI SDK (`@google/genai` and `google.genai`), and cURL. Braintrust’s official/native SDKs are documented for TypeScript/JavaScript (`braintrust`), Python (`braintrust`), Go, Java, Ruby, and C#/.NET; `@braintrust/otel` provides OpenTelemetry functionality. ([Braintrust changelog](https://www.braintrust.dev/docs/changelog))

Languages with a first-party client library. An empty list can still mean the product is usable from any language via an OpenAI-compatible SDK.

Additional charges

These are the fees that do not appear on a per-token price list, and they are where estimates usually go wrong.

  • Pro platform fee $249/month (includes $249 model credits, 5 GB data, 50k scores)
  • Processed data overage $4/GB (Starter), $3/GB (Pro)
  • Scores overage $2.50 per 1,000 (Starter), $1.50 per 1,000 (Pro)
  • Extended retention $0.50 per GB per month beyond the included 30 days (Pro, up to 180 days)

How pricing actually works

Self-hosted Braintrust deployments run the Gateway inside the customer's own data plane so LLM traffic stays in their account; the standalone proxy is MIT-licensed on GitHub. On-prem/hybrid deployment is an Enterprise-plan feature, and independent reviews note there is no free self-hosted tier below Enterprise.

Back to top ↑

Common questions

Answered from the fields above, so these move when the catalog moves. Every figure quoted here appears in the specification with its source.

Does Braintrust Gateway charge a markup on model prices?

Braintrust Gateway does not publish a token markup figure. Other charges on the page: pro platform fee ($249/month (includes $249 model credits, 5 GB data, 50k scores)), processed data overage ($4/GB (Starter), $3/GB (Pro)), scores overage ($2.50 per 1,000 (Starter), $1.50 per 1,000 (Pro)) and extended retention ($0.50 per GB per month beyond the included 30 days (Pro, up to 180 days)).

Can Braintrust Gateway be self-hosted?

Yes. Braintrust Gateway can be run on your own infrastructure or used as a managed service. The licence is Open core.

Is Braintrust Gateway SOC 2 audited, and will it sign a HIPAA BAA?

A SOC 2 report is available for Braintrust Gateway and it will sign a HIPAA business associate agreement. It offers EU data residency. Each of these is linked to the vendor's own page in the compliance section below.

Does Braintrust Gateway retain your prompts?

Braintrust Gateway offers zero data retention conditionally rather than by default. Whether prompt and response bodies are logged is configurable. Logging can be turned off. Stated retention is 14 days. It states that it does not train on customer data.

Can you use your own provider keys with Braintrust Gateway?

Yes. Braintrust Gateway can route through your own accounts with the underlying model providers, so inference is billed to you directly. Provider keys are configured at organization or project level (project keys override org keys); the proxy can even be used with only a provider key and no Braintrust account.

How many models does Braintrust Gateway support?

Braintrust Gateway states ~100 models, drawn from 9 upstream providers. Proxy docs state over 100 models; the supported-models page enumerates 18 providers (OpenAI, Azure, Anthropic, Google, Vertex AI, Bedrock, Together, Fireworks, Groq, Mistral, Lepton, Cerebras, Perplexity, xAI, Replicate, Ollama, Databricks, Baseten). Model-list endpoints require authentication. The figure on this page is dated and carries its source.

Back to top ↑

What has changed here

  1. catalog entry catalog entry Not published Added to the catalog source ↗
See this in the full changelog Back to top ↑

Read the head-to-head

These pairs have a written verdict, not just a table.

Usually weighed against