# Agent Payments Protocol (AP2) vs Universal Commerce Protocol (UCP) (slim)

> Universal Commerce Protocol scores 72 (BB) to Agent Payments Protocol's 54.6 (C) for agent payment protocols. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/ap2-vs-ucp.md (~4,550 tokens) · this version ~2,880 tokens · JSON https://www.anchorterminal.com/compare/ap2-vs-ucp.json · canonical https://www.anchorterminal.com/compare/ap2-vs-ucp
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-06
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

Universal Commerce Protocol (UCP) scores 72 (BB) on agent readiness against Agent Payments Protocol (AP2)'s 54.6 (C), and leads in 4 of 7 scored categories. Agent Payments Protocol (AP2) leads on security & auth, payments & pricing and transparency & trust. Both do agent payment protocols.

- Agent Payments Protocol (AP2): C 54.6, rank graded, not ranked against tools · https://www.anchorterminal.com/tools/ap2.min.md
- Universal Commerce Protocol (UCP): BB 72, rank graded, not ranked against tools · https://www.anchorterminal.com/tools/ucp.min.md
- Agent Payments Protocol (AP2), good for The design to copy when an agent spends a person's money and you need signed proof of what they approved, especially for purchases made while the person is away. Ahead on Security & auth, 84 against 67; Payments & pricing, 60 against 50; Transparency & trust, 58 against 47.
- Universal Commerce Protocol (UCP), good 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 31; Schema & documentation, 90 against 74; Agent ergonomics, 82 against 51; Maintenance & community, 70 against 9. Also Agent-ready, a grade of BB or better; Open source.

| Category | Agent Payments Protocol (AP2) | Universal Commerce Protocol (UCP) |
| --- | --- | --- |
| Reliability (16%) | 31 | 79 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 74 | 90 |
| Agent ergonomics (13%) | 51 | 82 |
| Security & auth (14%) | 84 | 67 |
| Payments & pricing (10%) | 60 | 50 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 9 | 70 |
| Transparency & trust (7%) | 58 | 47 |

| Fact (where they differ) | Agent Payments Protocol (AP2) | Universal Commerce Protocol (UCP) |
| --- | --- | --- |
| Vendor | Google (standardisation moved to the FIDO Alliance) | UCP Authors (Google, Shopify and co-developers) |
| Auth | OAuth or key | OAuth |
| Last release | 2026-04-28 | 2026-08-25 |
| Popularity | 3.2k stars | 3.5k stars |
| Agent reviews | 2/5 (2) | none |

Why the edge:
- Maintenance & community, Universal Commerce Protocol (UCP) +61: Agent Payments Protocol (AP2) 9 (Release v0.2.0 on 28 April 2026, 190 days before this check (0). No release or commit on main since 29 April; a release-please branch proposing 0.2.1 (29 April) is unmerged (0). Pull requests keep arriving (the newest, #391, on 31 October 2026) with nothing merged since 29 April, and the issue tracker couldn't be read on 4 November, so the 1 October count of 50 open issues and 69 open pull requests stands (3 of 25). The Python SDK isn't on PyPI per the README's git install, and no other language has one (3 of 15). `cryptography` is still pinned at 46.0.5 with Dependabot branches up to 48.0.1 unmerged, and CI is lint only (3 of 10).); 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) +48: Agent Payments Protocol (AP2) 31 (Protocol reading, split as reference implementations 30, live deployments 25, spec stability 25 and test vectors 20. A Python SDK for SD-JWT mandates, constraints and receipts, with sample roles in Python, Go and Android, installed from git because there is no PyPI package (18 of 30). Neither the v0.2 release post nor the docs name a production deployment, and a search on 4 November found none with a primary source (0 of 25). v0.2 on 28 April 2026 replaced the Cart and Intent Mandates with open and closed Checkout and Payment Mandates, the protocol is pre-1.0, and the core specification has moved to FIDO, which hasn't published one. The v0.1 page at /specification/ now answers 404, and the site's deployment branch dropped it on 28 April, so the 1 October reading of two live spec texts doesn't hold. Kept at 8 of 25, flagged. 15 unit-test files in the SDK (the 1 October note said nine), but CI runs only a linter, spellcheck, commit-title check and docs build on pull requests, and no conformance vectors are published (5 of 20).); 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.)
- Agent ergonomics, Universal Commerce Protocol (UCP) +31: Agent Payments Protocol (AP2) 51 (Protocol reading. An implementer has to hold seven documents and SD-JWT key-binding chains before a first purchase (12 of 25). Selective disclosure means the agent presents only the constraints a verifier needs (10 of 20). Rejection receipts tell the agent a mandate failed, without documented reason codes (10 of 20). The double-spend rule (no second open mandate until a rejection receipt arrives) and the binding of each Payment Mandate to one checkout hash make retries safe by design (14 of 20). One SDK, Python only, from git; the FAQ says an SDK and MCP server are being built (5 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.)
- Security & auth, Agent Payments Protocol (AP2) +17: Agent Payments Protocol (AP2) 84 (User-signed SD-JWT mandates bound to the agent's key through `cnf`, a short `exp` recommended, and each closed mandate bound to a merchant-signed checkout by hash. We found no way to revoke an open mandate before it expires (24 of 30). Human-present purchases need the user's signature on a Trusted Surface, and open mandates cap amount ranges, budgets, recurrences, merchants and items (20). The threat model assumes prompt injection can't be prevented, treats every LLM as a potential attacker and bounds the damage with constraint checks at verification (15). Signed Checkout and Payment Receipts go to the agent, credential provider and network, and the mandates are designed as dispute evidence (13 of 15). SECURITY.md routes reports to Google's g.co/vulnz with a five-working-day response and GitHub advisories; no security.txt on ap2-protocol.org (12 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.)
- Schema & documentation, Universal Commerce Protocol (UCP) +16: Agent Payments Protocol (AP2) 74 (JSON Schemas for the six mandate and receipt types plus Pydantic models; AP2 has no HTTP API of its own, so there is no OpenAPI file to expect (20 of 25). Markdown sources in the repository, and the MkDocs build publishes ap2-protocol.org/llms.txt with ten links and an llms-full.txt (10). Seven spec documents, 2,469 lines, set out roles, who verifies what, both modes and the dispute evidence (16 of 20). Typed constraints such as `payment.amount_range`, `payment.budget` and recurrence with `max_occurrences` (12 of 15). Decoded mandate and disclosure examples throughout, and receipts that accept or reject, but no table of error codes (10 of 15). Mandate schemas are versioned by a `vct` suffix, but CHANGELOG.md has two one-line entries, and v0.1 was taken down on 28 April with no notice on the site. Held at the 1 October value, flagged, since that note also counted a second live spec text the deployment branch shows was gone (6 of 15).); Universal Commerce Protocol (UCP) 90 (OpenAPI for each REST service, OpenRPC for the MCP and embedded bindings and JSON Schema 2020-12 throughout (25). ucp.dev serves llms.txt, and AGENT_IMPLEMENTER.md guides agents implementing the spec (10). The spec gives MUST and SHOULD rules with rationale for negotiation, signatures and permalinks (17). Typed schemas with required fields, namespaced extension types and version requirements (13). Examples validated in CI and an error code table with continue_url handling (13). Dated versions with release tags and release-note drafts generated from tags; no separate changelog page was read (12). 25 + 10 + 17 + 13 + 13 + 12 = 90.)
- Transparency & trust, Agent Payments Protocol (AP2) +11: Agent Payments Protocol (AP2) 58 (Apache-2.0, all source public (30). The spec has privacy rules (present only needed disclosures), but the site has no privacy policy or terms (10 of 30). v0.2 replaced the mandate types without a migration note we could find, and the v0.1 page was removed on 28 April with no notice (5 of 20). A spec with no runtime of its own; the samples call Gemini with the user's Google key, which the README says (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.)
