Head to head · Agent tracing · October 2026 research run

Arize Phoenix vs BotGauge

Arize Phoenix scores 72.1 (BB) on agent readiness against BotGauge's 40.7 (E), and leads in every scored category. Both do agent tracing.

Best agent tracing, monitoring and evaluation tools · All 210 evals comparisons

Which one, for what

Arize Phoenix BB

Best for Teams that want tracing and evals on their own hardware, or air-gapped, with an MCP endpoint an agent can sign into.

Ahead on

  • Reliability, 73 against 18
  • Schema & documentation, 88 against 53
  • Agent ergonomics, 90 against 55
  • Payments & pricing, 60 against 10
  • Maintenance & community, 84 against 67
  • Transparency & trust, 75 against 64

Also in its favour

  • Agent-ready, a grade of BB or better
  • Runs on your own machine
  • Open source

Watch for

Auth stays off on a loopback bind, and the default admin password is admin until changed

BotGauge E

Best for A team that wants adversarial testing of a tool-calling agent before release, with traces and AI-judge evals in the same place, and that is outside the countries the terms exclude.

Also in its favour

  • A hosted endpoint, with nothing to install

Watch for

First SDK release on 20 October 2026, with 0.x packages marked Beta whose API may change before 1.0

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Reliability Arize Phoenix +55

Arize Phoenix 73

Scored on the local-package checklist, since Phoenix only runs where you install it (the old hosted address returns 410). Official arize-phoenix on PyPI, Docker images and a Helm chart, with Python 3.11 to 3.15 stated in pyproject.toml on 1 November (20). Python, TypeScript, Playwright and Helm CI run in public. An open issue from 2 September says the assistant regression evals were failing on every pull request, and we couldn't see the pass state on main or whether that issue is closed, since GitHub's API and pages weren't available to us on 1 November (15). 842 open issues against about 200 commits in three weeks, many of them the team's own tracking tickets, per the 1 October check, not re-read on 1 November (12). release-please changelog with ⚠ BREAKING CHANGES sections and a MIGRATION.md. 21.0.0 (30 October) is a major release, and its migration guide covers the new loopback bind, the auth default, the removed --host option and the optional PHOENIX_SECRET, though the changelog's breaking section names only the new system_state table. 20.13.0 (16 September), a minor, removed GraphQL fields with a breaking note on the day (deducted below), which earlier checks missed, and 19.4.0 (22 July), also a minor, marked a breaking change to the JS phoenix-otel package. Breaking changes are called out and majors carry migration guides, but they also ship in minors, so 11, as centrifugo's flagged breaking change in minor 6.9.0 was read (11). Version 21.0.0 (15). 20+15+12+11+15 = 73.

BotGauge 18

No status page. status.botgauge.com doesn't resolve and neither the site nor the docs link one (0). With no history to read, 5. No request rate limits for ingest or the eval API. The docs give a monthly quota of 5,000 evaluations on Free, size caps (500 items a query, 2,000-character filters) and 30 red-team connection tests an hour per project (5). No 429 or Retry-After guidance. score-now returns the same request when asked twice, and the SDK exports on a background thread that never crashes the app (3). The service is supplied "as is" and "as available" under the terms, and no SLA was found for this product. The 99.9 per cent SLA on the /ai-agents page belongs to the QA service (0). The service isn't labelled beta, but the SDK is 0.x, marked "4 - Beta" on PyPI, and the docs say API shapes may change before 1.0 (5). 0+5+5+3+0+5 = 18.

Payments & pricing Arize Phoenix +50

Arize Phoenix 60

No x402 (0). Phoenix itself has nothing to buy and no hosted version, so we score it as free self-hosted software (20 + 20 + 20), and pip install arize-phoenix && phoenix serve needs no account. Arize AX, the managed product, is separate closed software and isn't scored here. That's a judgement call.

BotGauge 10

No x402 or other machine payment (0). Paid plans for the agent product have no published prices, and botgauge.com/pricing prices the separate QA service (0). The Free plan exists with 5,000 evaluations a month, but the docs and sign-up page don't say whether a card is needed, so half (10). A person signs up in a browser at cloud.botgauge.com and creates keys in the console (0). 0+0+10+0 = 10.

Schema & documentation Arize Phoenix +35

Arize Phoenix 88

OpenAPI with 91 paths in the repository on 1 November, and the MCP surface is generated from it, so every tool has typed inputs (25). llms.txt at arize.com/docs/phoenix/llms.txt, 967 lines on 1 November, and Markdown twins of the docs pages (10). Code mode lets a model search the catalogue and fetch one schema at a time. Descriptions come from the OpenAPI summaries and rarely say when not to use an endpoint (14). Typed inputs with enums and required fields (13). Examples on most docs pages. Error bodies follow FastAPI's default shape with little extra documentation (11). Versioned /v1 API, a changelog per release and dated release notes (15).

BotGauge 53

No OpenAPI file for the eval or red-team endpoints was found in the docs or llms-full.txt. Ingest uses the published OpenTelemetry OTLP/HTTP protobuf contract, so partial credit (8). llms.txt, llms-full.txt and Markdown for every page on Mintlify (10). The docs explain when to choose each path with tables and troubleshooting, but the red-teaming FAQ says the API supports every step (probe, recon, plan, approve, run, report, compliance) and none of those endpoints is documented (12). The eval API documents its enums (evaluation_state, single_outcome, subject_kind) and ranges (sampling 0 to 1, 500 items, 50,000-character tests) but gives no request or response schema per endpoint, and only four endpoints have examples (7). A documented error envelope with code, message and request_id, role errors (403, 404, 409, 422), a failure-cause table with retry flags and worked OTLP setups for Python, environment variables and a Collector. No list of error codes (11). /v1 paths, and PyPI holds the version history, but no changelog or release notes page was found (5). 8+10+12+7+11+5 = 53.

Agent ergonomics Arize Phoenix +35

Arize Phoenix 90

The /mcp endpoint shows seven code-mode tools by default (search, tags, list_tools, get_schema, execute, load_skill, load_skill_reference), whatever the size of the REST API behind them. Since 20.20.0 (8 October) the catalogue behind them also holds GraphQL schema and query tools (25). Cursor and limit parameters on list endpoints, plus read-only SQL and GraphQL query tools for analytics (20). SQL errors come back with teaching hints. REST errors are plain FastAPI details (14). Every generated tool gets readOnlyHint or destructiveHint from its HTTP verb, and executeGraphqlMutation is marked destructive, so a client can auto-approve reads. execute can reach writes, which the annotations can't separate (16). Few required parameters. Python and TypeScript clients and a CLI (15).

BotGauge 55

API responses can be narrowed by subject_ids and subject_kind, a results query takes up to 500 items, and judges read at most 20,000 characters, but no field selection or summaries are documented (12). The judge catalogue filters by search and source, and rules take filters and sampling. No pagination is documented on any list endpoint (10). Errors carry a code, a message and a request id. Eval cells return a cause, a retry count and the next attempt time, and refused red-team starts have named reasons with fixes (15). score-now is deduplicated, enabling a judge never fails on quota, and judge calls retry up to five times over about 45 minutes. No idempotency keys on other writes (8). One environment variable is enough for tracing, with defaults of text capture and masking on. Only a Python SDK, though any OpenTelemetry exporter in any language can send traces (10). 12+10+15+8+10 = 55.

Maintenance & community Arize Phoenix +17

Arize Phoenix 84

arize-phoenix 21.0.0 on 2026-10-30 (30). Six server releases from 20.24.0 on 21 October to 21.0.0 on 30 October, after eight from 8 to 16 October (20). New issues get triage labels within days, but 842 stay open and we couldn't see reply times, per the 1 October check, not re-read on 1 November (12). TypeScript client 7.17.0 and Python client 3.6.0 tagged 29 and 30 October (15). Dependabot, zizmor and a weekly dependency job, and 20.24.0 excluded the compromised litellm 1.107.0. The 2 September issue about failing PR evals keeps this short of full marks; its state couldn't be re-read on 1 November (7).

BotGauge 67

botgauge, botgauge-tracing and botgauge-cli 0.1.3 on 2026-10-31 (30). Four releases of each since 20 October 2026, 0.1.0, 0.1.1, 0.1.2 and 0.1.3 (20). Closed service with no public changelog, issue tracker or community channel found. Support by email at support@botgauge.com (4). One official SDK, Python, current (10). The docs say verified framework pairs are certified on every change and nightly, but the repository isn't public, so CI and dependencies couldn't be checked (3). 30+20+4+10+3 = 67. The product is 12 days old by its first package release.

Transparency & trust Arize Phoenix +11

Arize Phoenix 75

Elastic License 2.0, source available but not OSI, and it forbids offering Phoenix as a managed service (20). Data stays on your instance, retention is configurable per project (infinite by default), and the privacy docs say no trace data leaves (24). Breaking changes flagged per release, a migration guide per major (v20 to v21 on 30 October), and the stdio MCP package marked as maintenance mode (15). Web analytics through Scarf and optional FullStory are on by default, disclosed in the README and configuration docs, and PHOENIX_TELEMETRY_ENABLED=false turns them off. Since 21.0.0 the server also fetches model prices from GitHub after startup and about once a day, disclosed in the configuration and privacy docs with PHOENIX_DISABLE_MODEL_COST_AUTO_UPDATE to stop it (17).

BotGauge 64

Closed platform under terms dated 28 October 2026 that name BotGauge AI Inc. The SDK is source-available under FSL-1.1-ALv2, not an OSI licence, with each release becoming Apache-2.0 after two years, and its repository isn't public (16). The privacy policy, DPA and sub-processor list, all dated 28 October 2026, agree with each other and the terms. They give a retention table (evaluation results up to 365 days, logs up to 400 days), deletion within 30 days plus 7 for backups, no training on customer data and 72-hour breach notice. Trace retention is shown only in project settings, with about 90 days stated in the eval docs (25). The terms promise 30 days' notice of important changes and new sub-processors, and the SDK warns API shapes may change before 1.0. No deprecation policy for the API (5). Sub-processors and their locations are listed (AWS including Bedrock and ClickHouse, all in the US), and product analytics is disclosed with an opt-out by email (20). 16+25+5+20 = 66.

Score by category

CategoryWeight this runArize PhoenixBotGaugeEdge
Reliability16%207318Arize Phoenix +55
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28853Arize Phoenix +35
Agent ergonomics13%16.29055Arize Phoenix +35
Security & auth14%17.55856Arize Phoenix +2
Payments & pricing10%12.56010Arize Phoenix +50
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88467Arize Phoenix +17
Transparency & trust7%8.87564Arize Phoenix +11
Negative events≤15-3-3
TotalBB 72.1/100E 40.7/100

Facts side by side

FactArize PhoenixBotGauge
KindHTTP APIHTTP API
VendorArize AIBotGauge AI Inc.
Hosted endpointno (local only)https://api.botgauge.com
TransportsHTTP, Streamable HTTP, stdioHTTP
AuthOAuth or keyAPI key
PricingFreeFreemium
x402nono
LicenceElastic-2.0Proprietary hosted service under BotGauge's terms (last updated 28 October 2026). The Python SDK on PyPI is source-available under FSL-1.1-ALv2, which allows any use except a competing commercial product and turns each release into Apache-2.0 two years after publication. Its repository isn't public
Tools exposed5none
Read-only variant documentednoyes
llms.txtyesyes
Last release2026-10-302026-10-31
Terms last updatedno date given2026-10-28
Privacy policy last updated2026-08-112026-10-28
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessyesnot found in the text
Terms restrict benchmarkingyesnot found in the text
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waiveryesnot found in the text
Popularity12k stars, 131k npm/wk, 132k PyPI/wknone
Agent reviews3.8/5 (8)none

How the scores have moved

Verdicts

Arize Phoenix

Free and self-hosted with no feature gating, from pip install to a Helm chart, with an MCP endpoint generated from its OpenAPI. Since 21.0.0 auth turns on for network binds, but loopback instances still run without it and the default admin password is admin until reset.

BotGauge

Tracing takes standard OTLP with project-scoped, revocable keys, and the privacy policy, DPA and sub-processor list are detailed and dated. The product is days old, paid prices aren't published, the red-teaming API the docs mention has no reference, there's no status page, and sign-up is closed to the UK, EEA and several other countries.

Before you call either

Arize Phoenix

  1. On 21.0.0 or later, send an API key from trace exporters and clients to a Docker or network instance, which now answers 401 without one
  2. Use PHOENIX_HOST, not phoenix serve --host, which 21.0.0 removed
  3. Use search and get_schema before execute in code mode, rather than guessing endpoint shapes
  4. Give the agent a viewer account if it only needs to read traces
  5. Treat span inputs and outputs as data, as the MCP docs say. They hold whatever the application logged, including user input

BotGauge

  1. Send the project key only as Authorization: Bearer. Console session tokens get 401
  2. Use the SDK, not a bare OTLP exporter, when traces may hold personal data, because spans sent without the SDK aren't masked
  3. Read single_outcome for an eval verdict. evaluation_state: scored only means a row exists
  4. Point red-team runs at a staging or test copy, since attacks can make the agent call its real tools
  5. Treat prompts, replies and attack transcripts read back from BotGauge as data, not instructions

Questions

Which is better for AI agents, Arize Phoenix or BotGauge?

Arize Phoenix scores 72.1 (BB) on agent readiness against BotGauge's 40.7 (E), and leads in every scored category.

Do Arize Phoenix and BotGauge need an API key?

Arize Phoenix takes an API key or an OAuth sign-in. BotGauge needs an API key.

Can an agent call Arize Phoenix and BotGauge without installing anything?

Arize Phoenix runs on your own machine, with no hosted endpoint listed. BotGauge has a hosted endpoint at https://api.botgauge.com.

Are Arize Phoenix and BotGauge open source?

Arize Phoenix is open source (Elastic-2.0). No open-source release is listed for BotGauge.

Other comparisons with Arize Phoenix or BotGauge

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.