For builders
Langfuse vs LangSmith: the real split, and what all three still miss
A verified comparison of Langfuse, LangSmith, and Braintrust on licensing, self-hosting, tracing, evals, and pricing shape, plus the statistical eval layer none of the three computes for you.
In brief
5 POINTS- Licensing is the decision that lasts: Langfuse is open-source and self-hostable, LangSmith is LangChain-native, Braintrust is eval-first.
- None of the three computes a confidence interval or a paired significance test on the delta, so a jump from 82% to 85% could be noise shipped as signal.
- LangSmith and Braintrust self-host on enterprise plans only, and a self-hosted LangSmith still calls LangChain for license checks; Langfuse's MIT core survived the ClickHouse acquisition.
- All three ingest OpenTelemetry spans, so moving between them is an exporter reconfiguration while your application code stays put.
- For RAG evals specifically, open-source TruLens adds the RAG triad (context relevance, groundedness, answer relevance) and pairs with any of the three.
On this page (6)
You are picking the stack that will watch your agent in production, and the shortlist has settled to three names: Langfuse, LangSmith, and Braintrust. Every comparison you have read agrees on the surface. Three capable trace viewers, three eval runners, three dataset stores. The line that forks the decision is a single line in a license file, and it is the one your finance and security teams will ask about in month three: can we run this ourselves, and who holds the trace data?
Choose Langfuse when you want an open-source, self-hostable default: its core is MIT-licensed and stayed that way after ClickHouse acquired it in January 2026.1 Choose LangSmith when your agent already lives in LangChain or LangGraph and you want a managed platform wired natively into both. Choose Braintrust when evaluation is your center of gravity and you will pay for the tightest dataset-scorer-experiment loop. All three record scores and run LLM judges. None of them ships the test that tells you whether a pass rate moved for real (a confidence interval on the rate, a paired significance test on the delta), so gate whichever you pick with a statistical eval. Skip that last step and you will ship a model swap because the number went from 82% to 85%, with no idea whether that is signal or the same run resampled.
Who owns the trace data: Langfuse is MIT, LangSmith and Braintrust self-host only on enterprise plans
Start with the fact that survives the next release of any of these tools. Langfuse ships an MIT-licensed core, and you can self-host every core capability (tracing, evaluations, prompt management, experiments, annotation, and the playground) at production scale for free. The only exception is a set of enterprise features in the repository’s ee folder, which carry a commercial license: SCIM, audit logs, data-retention policies, project-level RBAC, server-side data masking, and a handful of other governance modules.2 When ClickHouse acquired Langfuse on January 16, 2026, the license did not move: the announcement commits that Langfuse “remains 100% open-source under its existing MIT license for core features which allows for self-hosting at production scale”, and Langfuse already ran on ClickHouse under the hood, which is why the acquisition changed the org chart and not the terms.1 Read that commitment for what it is. It is the acquirer’s own statement about its own product, made in its own announcement, and no third party holds it to that. The part you can check yourself is the MIT grant already sitting on the released code, and an MIT grant on a version already published cannot be withdrawn from the copies it was published under. A future relicense would reach the next release, not the one you are running.
LangSmith sits on the other side of that line. It is a proprietary, closed-source SaaS built by the LangChain team, offered as managed cloud, hybrid, or self-hosted, and LangChain’s own documentation describes self-hosting as “an add-on to the Enterprise plan designed for our largest, most security-conscious customers”, unlocked by a license key their sales team issues.3 There is a second condition worth reading before you file self-hosting under full custody: LangChain’s deployment guide states that “LangSmith requires egress to https://beacon.langchain.com for license verification and usage reporting” and that this “is required for LangSmith to function properly”, with the prerequisite qualified as applying if you are not running in offline mode.3 Langfuse’s self-hosting page makes the plainer promise for the same job, that it “can be deployed within a VPC or on-premises in high-security environments” and that “Internet access is optional.”4
Braintrust, the AI-evals platform, is proprietary too, with a twist worth pricing in. Its client SDKs are open source (the JS/TS SDK ships under Apache-2.0) while the platform they talk to is closed, it runs on its own storage engine, Brainstore, and self-hosting is a hybrid deployment where you run the data plane holding “experiment logs, traces, datasets, and prompts” in your own cloud while Braintrust keeps the control plane, UI, and authentication.56 On-premises deployment sits in the Enterprise tier.7
| Platform | Source model | Self-host | Data layer |
|---|---|---|---|
| Langfuse | MIT core (enterprise ee features proprietary) | Free, at production scale, internet access optional | ClickHouse |
| LangSmith | Proprietary SaaS (by LangChain) | Enterprise add-on, license key, egress to LangChain unless offline | Managed / hybrid |
| Braintrust | Proprietary platform, Apache-2.0 client SDKs | Enterprise only, hybrid data plane | Brainstore |
If a security review or a data-residency rule is going to land on this decision, it lands here, before anyone opens a single trace.
Langfuse, LangSmith, and Braintrust converge on tracing and evals more than their landing pages admit
Feature-by-feature, the gap is narrower than the marketing implies. All three ingest OpenTelemetry spans, so you are not locked into a proprietary tracer to get data in.8910 All three run LLM-as-judge evaluators, store datasets, and support human review or annotation. Langfuse and LangSmith both carry prompt management with versioning; Braintrust centers its whole product on the eval loop instead. On what an eval actually scores versus what a trace records, all three draw the same line: the span proves the run finished, the eval scores whether the answer was right.
Because the wire format is OpenTelemetry, the same exporter points at any of the three by changing the endpoint and the headers. The header count is the detail worth checking against current docs rather than against a comparison post: as of 2026-08-02, LangSmith is the only one of the three whose documented OTLP setup takes a single header. Langfuse and Braintrust each want a second one, and it is not an auth header in either case.
# One OpenTelemetry exporter; repoint it per platform. Endpoints checked 2026-08-02;
# each vendor also publishes regional hosts on the same path, though which regions differ.
export OTEL_EXPORTER_OTLP_ENDPOINT="https://cloud.langfuse.com/api/public/otel" # Langfuse
# export OTEL_EXPORTER_OTLP_ENDPOINT="https://api.smith.langchain.com/otel" # LangSmith
# export OTEL_EXPORTER_OTLP_ENDPOINT="https://api.braintrust.dev/otel" # Braintrust
# Langfuse: Authorization=Basic <base64 of public:secret>, x-langfuse-ingestion-version=4
# LangSmith: x-api-key=<langsmith api key>
# Braintrust: Authorization=Bearer <api key>, x-bt-parent=project_id:<project id>
export OTEL_EXPORTER_OTLP_HEADERS="<platform headers, per the lines above>"
# Only the exporter config moves; your application code stays put.Coupling and SDK reach
Where they genuinely diverge is coupling and SDK reach. LangSmith is authored by the LangChain team, so it has the deepest native integration with LangChain and LangGraph: a LangChain or LangGraph app is traced with almost no instrumentation code, where the other two want an OpenTelemetry exporter wired up. It stays framework-agnostic through OpenTelemetry and ships SDKs for Python, TypeScript, Go, and Java.11
The other two carry the SDK spread instead of the framework tie. Langfuse is OpenTelemetry-first and framework-neutral, with Python and JS/TS SDKs plus drop-in integrations for the OpenAI SDK, LiteLLM, LlamaIndex, and Haystack, so it treats LangChain as one integration among many.2 Braintrust has the broadest SDK spread of the three (Python, TypeScript, Go, Ruby, Java, C#, and Kotlin) and the most opinionated core, built on its own storage engine, though its API opens that store back up: logs, experiments, and datasets are queryable with standard SQL through a /btql endpoint, with responses in JSON.6
The practical split is coupling: if you are deep in LangChain or LangGraph, LangSmith’s native advantage is worth the proprietary trade; if you want the option to leave, Langfuse’s OpenTelemetry-first, MIT stance keeps your data portable.
Braintrust vs Langfuse: the eval-first platform against the open-source default
Braintrust is a proprietary, eval-first platform; Langfuse is the MIT-licensed, self-hostable observability default. The two optimize for different jobs. Braintrust’s strongest surface is the dataset-scorer-experiment loop: if your daily work is defining scorers, running experiments over labeled sets, and comparing model versions on those scores, Braintrust’s loop is the most tightly integrated of the three. You pay for it two ways. The core is closed source, so you run on Braintrust’s proprietary engine rather than a stack you own, and portability rests on its API rather than on storage you control, though that API concedes more than the closed-core framing implies: logs, experiments, and datasets are queryable with SQL through a /btql endpoint.56 And the pricing runs through a free Starter tier, a paid Pro tier, and custom Enterprise, metered on data processed, number of scores, retention, and model credits.7
Langfuse answers a different question. Its gravity is observability plus prompt management, delivered under an MIT license you can run yourself, which makes it the default when data ownership and freedom from lock-in outrank a marginally slicker eval UI; its evals are capable. Langfuse Cloud meters on usage units (traces, observations, and scores), with a free Hobby tier and free self-hosting; the catch on self-hosting is operational, since you now run and scale a ClickHouse deployment yourself.7
Where TruLens fits for RAG evaluation
If RAG evaluation is the specific job, a fourth open-source option belongs on the shortlist: TruLens. It sits in the same code-first, framework-neutral family as the harnesses teams are moving to as OpenAI Evals winds down, and it centers on feedback functions, the programmatic scorers you attach to a RAG chain. Its signature is the RAG triad: context relevance (did retrieval pull the right passages), groundedness (is the answer supported by them), and answer relevance (does it address the question). Developed by TruEra and now maintained by Snowflake in the open, it is MIT-licensed and composable, so you can run it alongside whichever tracer you pick.12
Its scope is the honest limit. TruLens is a focused evaluation library, lighter on production tracing, dashboards, and team workflows than Langfuse, LangSmith, or Braintrust. The common pattern is to pair it: one of the three platforms for tracing and storage, TruLens for RAG-triad scoring on top.
Langfuse, LangSmith, or Braintrust: which should you pick?
Three questions settle it: do you need to own and self-host your trace data, does your stack already run on LangChain or LangGraph, and is a tight scoring loop your daily work? If the answer to the first is no because your estate already runs a generalist APM, the trade against that incumbent prices out differently. If you are here because the tool you already had went into maintenance mode, moving off Helicone covers the gateway half of that migration before the platform half. And if the agent under test speaks rather than types, the shortlist is a different one: voice-agent eval platforms compared covers that market. The table maps each answer to a platform and the catch that rides with it.
| Platform | Pick it when | The catch |
|---|---|---|
| Langfuse | You want open source, self-hosting, and to own your trace data | Self-hosting means you run and scale ClickHouse yourself |
| LangSmith | Your agent runs on LangChain or LangGraph and you want the deepest native integration, managed | Proprietary SaaS; self-host is enterprise-only |
| Braintrust | Evals are your core workflow and you will pay for the best scoring loop | Closed, proprietary engine; usage-based pricing above the free Starter tier |
That table routes the platform choice. It does not close the reliability question, because all three rows share the same blind spot.
What all three store, and what none of them computes
Each of these platforms will happily store a pass rate and draw it on a chart. When your eval suite reads 82% on Monday’s run and 85% on Tuesday’s, the dashboard shows a green up-arrow. What none of the three documents is the test that clears that three-point move against the noise: their eval docs describe score storage, side-by-side run diffs, and per-case regression flags, and none computes a confidence interval on a pass rate or a paired significance test on the delta for you.13 That is a statistics question their trace stores are not built to answer.
Answering it takes two things a logging tool does not ship:
- A confidence interval on each pass rate, because a rate measured over 40 runs and one measured over 400 carry very different uncertainty, and the width of that interval is what the eval confidence interval captures. Our pass-rate confidence interval calculator computes the Wilson, Clopper-Pearson, and Wald versions side by side from a k-of-n count.
- A paired test on the delta, because the two runs scored the same items, so the right question is whether the difference between them is statistically significant rather than whether two independent bars look different. For pass/fail scores on the same items that test is McNemar’s, and our McNemar calculator for paired eval runs takes the paired cells and returns the p-value with an interval on the difference.
A green eval number is only as honest as the test behind it, the same trap that lets a benchmark look healthy while measuring the wrong thing.
The layer above the dashboard is where reliability actually lives. A single pass rate samples reliability once; the lane’s name for measuring it properly is reliability@k, the suite-level aggregate of per-task pass^k that asks whether an agent clears the bar on all k attempts. Getting there means measuring agent reliability past a single pass rate, and trusting the judge that produced those scores in the first place, which is its own discipline once you read what LLM evals are and are not. Langfuse, LangSmith, and Braintrust are all good at recording the inputs to that analysis. They do not run the analysis.
Footnotes
-
ClickHouse’s own acquisition announcement, “ClickHouse welcomes Langfuse: The future of open-source LLM observability” (16 January 2026): “Langfuse remains 100% open-source under its existing MIT license for core features which allows for self-hosting at production scale (on top of ClickHouse)”, and “Langfuse’s architecture runs entirely on ClickHouse, both in the cloud offering and for self-hosted deployments.” https://clickhouse.com/blog/clickhouse-acquires-langfuse-open-source-llm-observability ; Langfuse’s own post, “Langfuse joins ClickHouse” https://langfuse.com/blog/joining-clickhouse . Both are the parties to the deal describing the deal, so the licensing commitment is self-refereed; the independently checkable fact is the MIT grant on the published repository, cited below. Reported by InfoWorld, “ClickHouse buys Langfuse as data platforms race to own the AI feedback loop.” https://www.infoworld.com/article/4118621/clickhouse-buys-langfuse-as-data-platforms-race-to-own-the-ai-feedback-loop.html (ClickHouse announcement re-checked 2026-08-02) ↩ ↩2
-
Langfuse GitHub repository, README and license statement: “This repository is MIT licensed, except for the
eefolders.” The same README now also states “since January 2026 we’re part of ClickHouse”. Langfuse’s open-source overview states that all product capabilities (tracing, evaluations, prompt management, experiments, annotation, and the playground) are “MIT licensed without any usage limits”, and that “Everything outside the/eefolders is MIT-licensed”. Langfuse’s license-key page states “All core Langfuse features and APIs are available in Langfuse OSS (MIT licensed) without any limits” and enumerates the nine features that do require a key: project-level RBAC roles, protected prompt labels, data-retention policies, audit logs, server-side data masking, UI customization, organization creators, the org management API and SCIM, and the instance management API. Listed integrations include OpenTelemetry, LangChain, the OpenAI SDK, LiteLLM, LlamaIndex, Haystack, the Vercel AI SDK, and Mastra. https://github.com/langfuse/langfuse , https://langfuse.com/docs/open-source , and https://langfuse.com/self-hosting/license-key (all checked 2026-08-02) ↩ ↩2 -
Re-sourced 2026-08-02. The LangChain support article this page previously cited for the license-key requirement (
support.langchain.com/articles/7011309930-...) now returns 404, so the claim is carried by LangChain’s own documentation instead. “Self-hosted LangSmith” states: “Self-hosted LangSmith is an add-on to the Enterprise plan designed for our largest, most security-conscious customers”, and directs readers to sales for a license key. https://docs.langchain.com/langsmith/self-hosted . The Kubernetes deployment guide carries the egress condition: “LangSmith requires egress tohttps://beacon.langchain.comfor license verification and usage reporting. This is required for LangSmith to function properly”, listed among prerequisites as “Egress tohttps://beacon.langchain.com(if not running in offline mode)”. https://docs.langchain.com/langsmith/kubernetes . Deployment options (cloud, hybrid, self-hosted) https://docs.langchain.com/langsmith/home . LangSmith’s public pricing page places “Self-hosted and hybrid deployment options” in the Enterprise column only, alongside Developer and Plus tiers metered on seats and traces. https://www.langchain.com/pricing-langsmith (all checked 2026-08-02) ↩ ↩2 -
Langfuse self-hosting documentation: “Langfuse is open source and can be self-hosted using Docker”, with deployment paths for Docker Compose, VMs, Kubernetes via Helm, and Terraform on AWS, Azure, and GCP; on network posture it states Langfuse “can be deployed within a VPC or on-premises in high-security environments” and that “Internet access is optional.” Note the scope of that comparison: it is a statement about deployment topology, and Langfuse’s configuration reference does not document a license-verification callback of the kind LangSmith requires. https://langfuse.com/self-hosting (checked 2026-08-02) ↩
-
Braintrust documentation, self-hosting: “You deploy and control the infrastructure that stores your sensitive AI data, while Braintrust provides the managed UI, authentication, and platform updates.” The customer-run data plane stores experiment logs, traces, datasets, and prompts and includes the Brainstore engine, described as “a high-performance query engine for real-time trace ingestion”; the control plane (web UI, authentication, user management) stays with Braintrust. This page does not itself state the plan tier; on-premises deployment is placed in the Enterprise tier by the pricing page cited below. https://www.braintrust.dev/docs/self-hosting (checked 2026-08-02) ↩ ↩2
-
Braintrust API reference, listing official SDKs (TypeScript/JavaScript, Python, Go, Ruby, Java, C#, and Kotlin) and SQL querying: “Query your logs, experiments, and datasets with SQL through the
/btqlendpoint”, with API responses returned in JSON. The Braintrust JS/TS SDK repository is published under the Apache-2.0 license. Note a correction to an earlier version of this footnote: that page no longer documents Parquet export, so the claim here is narrowed to what it does document, which is BTQL/SQL access and JSON responses. https://www.braintrust.dev/docs/reference/api and https://github.com/braintrustdata/braintrust-sdk (both checked 2026-08-02) ↩ ↩2 ↩3 -
Pricing is cited here as tier structure and metering axes only, not dollar figures, which drift fastest of anything on this page. Langfuse Cloud meters on usage units (traces, observations, and scores) across a free Hobby tier and paid tiers, with self-hosting free, per Langfuse’s public pricing page https://langfuse.com/pricing . Braintrust lists a free Starter tier, a paid Pro tier, and custom Enterprise, metered on data processed, number of scores, retention, and model credits, with unlimited users on every tier and on-premises or hosted deployment listed under Enterprise, per Braintrust’s public pricing page https://www.braintrust.dev/pricing . LangSmith lists Developer, Plus, and Enterprise, metered on seats and traces with separate compute and storage units, and places “Self-hosted and hybrid deployment options” in the Enterprise column only, per https://www.langchain.com/pricing-langsmith . Model credits are a metering axis Braintrust’s page carries that an earlier version of this footnote omitted. Free self-hosting for Langfuse and enterprise-gated self-hosting for LangSmith and Braintrust are documented in the license and self-hosting sources cited above. (all three pricing pages checked 2026-08-02) ↩ ↩2 ↩3
-
Langfuse OpenTelemetry integration documentation: OTLP endpoint
https://cloud.langfuse.com/api/public/otel(regional hosts for the US, Japan, and HIPAA deployments on the same path), with headersAuthorization=Basic ${AUTH_STRING}(base64 ofpublic-key:secret-key) andx-langfuse-ingestion-version=4. https://langfuse.com/integrations/native/opentelemetry (checked 2026-08-02) ↩ -
LangChain, LangSmith “Trace with OpenTelemetry” documentation: end-to-end OpenTelemetry ingest and framework-agnostic instrumentation. Documented OTLP endpoint
https://api.smith.langchain.com/otel(regional hostseu.,apac., andaws.on the same path), authenticated with the single headerx-api-key=<your langsmith api key>. https://docs.langchain.com/langsmith/trace-with-opentelemetry (checked 2026-08-02) ↩ -
Braintrust documentation, OpenTelemetry integration: OTel span ingest via the
@braintrust/otelpackage (“Starting with v1.0, OpenTelemetry functionality has been moved to the separate@braintrust/otelnpm package”), endpointhttps://api.braintrust.dev/otel/v1/traces(EU data plane atapi-eu.braintrust.dev/otel), with headersAuthorization=Bearer <Your API Key>, x-bt-parent=project_id:<Your Project ID>. https://www.braintrust.dev/docs/integrations/sdk-integrations/opentelemetry (checked 2026-08-02) ↩ -
LangChain, LangSmith SDK reference, listing Python, JavaScript/TypeScript, Go, and Java SDKs, plus separate LangGraph SDKs for Python and JavaScript/TypeScript. https://docs.langchain.com/langsmith/sdk (checked 2026-08-02) ↩
-
TruLens documentation and GitHub repository: an open-source library, MIT licensed, for evaluating and tracing LLM and RAG applications through feedback functions (programmatic scorers), with the RAG triad (context relevance, groundedness, and answer relevance) as its signature RAG-evaluation pattern. Originally created by TruEra, which Snowflake acquired in 2024; the project states that “Since the acquisition, Snowflake actively maintains TruLens in open source.” https://www.trulens.org/ and https://github.com/truera/trulens (checked 2026-08-02) ↩
-
Re-verified against each platform’s evaluation documentation on 2026-08-02, and the finding was unchanged from the 2026-07 check: the three document storing scores, comparing runs side by side, and flagging per-case improvements and regressions, and none documents an automatic confidence interval on a pass rate or a paired significance test on a run-to-run delta as a product feature. Braintrust, “Interpret evaluation results” (summary statistics in score columns and an “order by regressions” view that “sorts rows by regressions of a specific score relative to a comparison experiment”, with no significance test on the delta) https://www.braintrust.dev/docs/evaluate/interpret-results ; Langfuse scores and analytics documentation (score analytics, trends over time, custom dashboards, and side-by-side experiment comparison, no significance test) https://langfuse.com/docs/scores/overview ; LangSmith evaluation concepts (side-by-side comparison of multiple experiments and pairwise evaluators using heuristics, LLMs, or human reviewers, no significance test on pass-rate deltas) https://docs.langchain.com/langsmith/evaluation-concepts . This is our reading of what each vendor publishes, so it is an absence-of-documentation finding rather than a statement that no such computation exists anywhere in a product; if any of the three ships one, its own docs are where we would expect to see it. (all checked 2026-08-02) ↩