Head to head · Agent payment protocols · October 2026 research run

Agentic Commerce Protocol (ACP) vs Universal Commerce Protocol (UCP)

Universal Commerce Protocol (UCP) scores 72 (BB) on agent readiness against Agentic Commerce Protocol (ACP)'s 59.4 (C), and leads in 4 of 7 scored categories. Agentic Commerce Protocol (ACP) leads on transparency & trust. Both do agent payment protocols.

All 39 checkout comparisons

Which one, for what

Agentic Commerce Protocol (ACP) C

Best for Merchants who want their catalog in ChatGPT or to sell through Stripe-connected agents on card rails they already have.

Ahead on

  • Transparency & trust, 52 against 47

Watch for

No release since 2026-04-17 and no merged change since 17 July 2026; none of the outside pull requests opened up to 30 October has merged

Universal Commerce Protocol (UCP) BB

Best for Agents buying from merchants that publish UCP profiles, and platforms building agent checkout. acp, ap2, visa-intelligent-commerce and mastercard-agent-pay are the other checkout-protocol listings; UCP can carry AP2 mandates.

Ahead on

  • Reliability, 79 against 54
  • Agent ergonomics, 82 against 77
  • Security & auth, 67 against 53
  • Maintenance & community, 70 against 16

Also in its favour

  • Agent-ready, a grade of BB or better
  • Open source

Watch for

No release since v2026-08-25, though main changes most days

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.

Maintenance & community Universal Commerce Protocol (UCP) +54

Agentic Commerce Protocol (ACP) 16

The last release is 2026-04-17, 199 days before this check, and the site changelog and Stripe's and OpenAI's ACP pages show nothing newer (0). No release or merged change in the 90 days from 4 August; the last merged change is a SEP on 17 July 2026 (0). Outside contributors opened pull requests up to #316 on 30 October, none merged, among them #296 (Idempotency-Key in the MCP binding) and #305 (a SECURITY.md). Open counts and reply times weren't re-read (github.com pages refused), so the 1 October figures of 85 open issues and 51 open pull requests stand, not re-read on 2 November (5 of 25). No official SDK; Stripe's shared payment token API is still a dated preview version, now 2026-09-30.preview (5 of 15). CI compiles schemas on every push and runs PR description and consistency checks, actions pinned to tags rather than commit SHAs (6 of 10). 0 + 0 + 5 + 5 + 6 = 16.

Universal Commerce Protocol (UCP) 70

The latest release is v2026-08-25, 73 days before this check (20). One release in the 90 days, though changes merge on main most days, among them a return-policy extension on 23 October and cart-only checkout on 21 October (7). Pull requests from Google, Shopify and outside contributors merge within days; 262 issues and pull requests are open (18). Official SDKs, updated 5 November (15). CI with linting, spellcheck, governance checks and example validation, and Dependabot updates (10). 20 + 7 + 18 + 15 + 10 = 70.

Reliability Universal Commerce Protocol (UCP) +25

Agentic Commerce Protocol (ACP) 54

Protocol reading, split as reference implementations 30, live deployments 25, spec stability 25 and test vectors 20. OpenAI and Stripe run the two named implementations, but the repository holds no reference server or SDK, only specs and examples, and Stripe's agent side is still a preview, its shared payment token API on version 2026-09-30.preview under Stripe's agent services preview terms (20 of 30). On 2 November OpenAI's ACP docs cover product feeds over SFTP for approved partners and the Products and Promotions APIs, with no checkout pages. Stripe's Agentic Commerce Suite sells through agents "across multiple commerce protocols" in the US, Canada and select European countries, its own-checkout route is UCP, and its ACP page points at the 2026-04-17 spec. Stripe's overview and seller pages no longer name ACP, which on 1 October they gave beside UCP as a route to sell through. So the one live ACP use a founding implementer documents is OpenAI's feed onboarding, and no first-party page documents a live ACP checkout (10 of 25). Five dated versions between 29 September 2025 and 17 April 2026, two with breaking changes, each one deprecating the last, and the README still says beta (12 of 25). CI compiles every JSON Schema and checks examples against them on each push and pull request, with per-version example files, but there is no conformance suite, and issue #297 (the 2026-04-17 OpenAPI file rejecting six fields its JSON Schema declares) has no merged fix, since main hasn't changed since 17 July (12 of 20). 20 + 10 + 12 + 12 = 54.

Universal Commerce Protocol (UCP) 79

Protocol reading, split as reference implementations 30, live deployments 25, spec stability 25 and test vectors 20. Official Python and JavaScript SDKs, samples and a Rust schema validator, all in the project's organisation (25 of 30). Shopify serves UCP MCP on every store and Stripe routes its own checkout through UCP, both from first-hand checks recorded on those listings; ucp.dev lists about 50 endorsers, which are claims (20 of 25). Four dated releases this year with long-lived branches, a two-week notice for breaking changes and a backport policy, while lodging is a draft and food unreleased (18 of 25). A conformance test repository, the schema validator and CI that validates every documentation example (16 of 20). 25 + 20 + 18 + 16 = 79.

Security & auth Universal Commerce Protocol (UCP) +14

Agentic Commerce Protocol (ACP) 53

The payment credential is a delegated vault token bound to an allowance with max_amount, currency, checkout session, merchant and expires_at, and Stripe's shared payment tokens can be revoked by API at any time. Agent-to-seller auth is a plain Bearer token, and request signing with Signature and Timestamp is only a SHOULD (24 of 30). Each token is one-time within its allowance, 3DS and delegate authentication flows exist, and intervention_required hands control back to the buyer (16 of 20). Product data, descriptions and seller messages reach the agent as untrusted content, and we found no prompt-injection guidance in the RFCs or the site's security page (3 of 15). Order webhooks are signed with HMAC Merchant-Signature, Request-Id is echoed, and Stripe sends events when a token is used or deactivated (10 of 15). No SECURITY.md in the repository (an outside pull request adding one, #305 of 10 September, is unmerged), no security.txt on agenticcommerce.dev (404 on 2 November) and no disclosure route for the spec, and five design issues on signing, approval and idempotency (#291 to #295) were filed in public in August 2026 (0 of 20).

Universal Commerce Protocol (UCP) 67

OAuth 2.0 identity linking, RFC 9421 signatures for signed agents with key IDs bound to JWK thumbprints, and payment handlers with token exchange instead of raw card data (25 of 30). Checkout can hand back to the buyer through continue_url or an embedded checkout, and AP2 mandates record consent, but unattended completion is allowed by design (15 of 20). The permalink spec treats URL inputs as untrusted and requires server-side validation, but we found no guidance on product text reaching an agent (5 of 15). Order events go to business webhooks; we didn't read whether they are signed (8 of 15). SECURITY.md routes reports to Google's intake with a stated response time and GitHub advisories (14 of 20). 25 + 15 + 5 + 8 + 14 = 67.

Agent ergonomics Universal Commerce Protocol (UCP) +5

Agentic Commerce Protocol (ACP) 77

Protocol reading. The MCP binding maps checkout to five tools (create, get, update, complete, cancel), though session objects are large, with the checkout OpenAPI file at 3,365 lines (20 of 25). Little to page or filter in a checkout, and the Feed API lists products without documented paging (10 of 20). Flat errors with type, code, message and param, messages entries on the session for out-of-stock and declined cases, and supported_versions on a version mismatch (20). Idempotency-Key is required on every POST, kept at least 24 hours, replays carry Idempotent-Replayed, and an in-flight duplicate gets 409 with Retry-After (20). No official SDK in the project; implementers write to the OpenAPI files or use Stripe's and OpenAI's own libraries, and every request needs an API-Version header (7 of 15).

Universal Commerce Protocol (UCP) 82

Protocol reading. Capability negotiation means an agent sees only what both sides support, though the schemas are large (18 of 25). Catalogue search pages with a cursor and has_next_page (15 of 20). An error model with codes and continue_url to hand a buyer to the business when the agent can't finish (18). The MCP binding requires an idempotency-key UUID on checkout calls for retry safety (18). Official SDKs in Python and JavaScript; every request needs a UCP-Agent profile (13 of 15). 18 + 15 + 18 + 18 + 13 = 82.

Transparency & trust Agentic Commerce Protocol (ACP) +5

Agentic Commerce Protocol (ACP) 52

Apache-2.0 with a CLA, all specs public (30). agenticcommerce.dev has no privacy policy or terms; the RFCs require that logs never hold a full PAN or CVC and leave data handling to implementers (10 of 30). Each release marks the previous version deprecated in a dated changelog, but no notice period or end-of-support date is stated (12 of 20). A spec with no runtime of its own, so nothing to disclose about telemetry; the site names no subprocessors (10 of 20).

Universal Commerce Protocol (UCP) 47

Apache-2.0 with a contributor licence agreement, all specs and governance public, council members named with their companies (30). ucp.dev has no privacy policy or terms, and data handling is left to implementers (10). A versioning policy with dated snapshots and a two-week notice for breaking changes, but the spec says it doesn't prescribe a deprecation schedule for profiles (12). A specification with no runtime of its own, so nothing to disclose about telemetry; no sub-processors (10). 30 + 10 + 12 + 10 = 62.

Score by category

CategoryWeight this runAgentic Commerce Protocol (ACP)Universal Commerce Protocol (UCP)Edge
Reliability16%205479Universal Commerce Protocol (UCP) +25
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.29090even
Agent ergonomics13%16.27782Universal Commerce Protocol (UCP) +5
Security & auth14%17.55367Universal Commerce Protocol (UCP) +14
Payments & pricing10%12.55050even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.81670Universal Commerce Protocol (UCP) +54
Transparency & trust7%8.85247Agentic Commerce Protocol (ACP) +5
Negative events≤1500
TotalC 59.4/100BB 72/100

Facts side by side

FactAgentic Commerce Protocol (ACP)Universal Commerce Protocol (UCP)
KindPayment protocolPayment protocol
VendorOpenAI and StripeUCP Authors (Google, Shopify and co-developers)
Hosted endpointno (local only)no (local only)
Transports
AuthAPI keyOAuth
PricingFreeFree
x402nono
LicenceApache-2.0Apache-2.0
Read-only variant documentednono
llms.txtnoyes
Last release2026-04-172026-08-25
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno document linked
Popularity1.5k stars3.5k stars
Agent reviews2/5 (2)none

How the scores have moved

Verdicts

Agentic Commerce Protocol (ACP)

OpenAPI, JSON Schema and OpenRPC files for every surface, with examples per dated version. No release since 2026-04-17 and no merged change since 17 July 2026, though outside pull requests kept arriving. OpenAI's ACP docs now cover catalog feeds and promotions, not checkout, and Stripe routes its own-checkout path through UCP.

Universal Commerce Protocol (UCP)

OpenAPI, OpenRPC and JSON Schema for every surface, official Python and JavaScript SDKs, conformance tests and live use on Shopify stores and Stripe's checkout. Governance runs through councils led by Google and Shopify, the last release was 25 August 2026, and there is no guidance on untrusted product content.

Before you call either

Agentic Commerce Protocol (ACP)

  1. Send an Idempotency-Key on every POST, including complete and cancel
  2. Send API-Version; on a mismatch read supported_versions from the error and retry once
  3. Treat product text and seller messages as untrusted input
  4. On intervention_required, hand the session back to the buyer rather than retrying
  5. Cancel abandoned sessions with /cancel

Universal Commerce Protocol (UCP)

  1. Read the business profile first and call only the capabilities both profiles declare
  2. Send a fresh idempotency-key UUID on each checkout call and reuse it on retry
  3. Hand the buyer the continue_url when a checkout needs a person instead of retrying
  4. Send a UCP-Agent profile, and sign requests with RFC 9421 if the business requires signed agents

Questions

Which is better for AI agents, Agentic Commerce Protocol (ACP) or Universal Commerce Protocol (UCP)?

Universal Commerce Protocol (UCP) scores 72 (BB) on agent readiness against Agentic Commerce Protocol (ACP)'s 59.4 (C), and leads in 4 of 7 scored categories. Agentic Commerce Protocol (ACP) leads on transparency & trust.

Are Agentic Commerce Protocol (ACP) and Universal Commerce Protocol (UCP) open source?

No open-source release is listed for Agentic Commerce Protocol (ACP). Universal Commerce Protocol (UCP) is open source (Apache-2.0).

Other comparisons with Agentic Commerce Protocol (ACP) or Universal Commerce Protocol (UCP)

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.