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

Machine Payments Protocol (MPP) vs Universal Commerce Protocol (UCP)

Machine Payments Protocol (MPP) scores 81.7 (A) on agent readiness against Universal Commerce Protocol (UCP)'s 72 (BB), and leads in 6 of 7 scored categories. Both do agent payment protocols.

All 30 pay per call comparisons

All 39 checkout comparisons

Which one, for what

Machine Payments Protocol (MPP) A

Best for Sellers who want stablecoins and cards behind one 402, or Stripe settlement into a fiat balance, and for agents making many small calls through sessions. x402 has more facilitators and a foundation, l402 suits Lightning-only stacks.

Ahead on

  • Reliability, 85 against 79
  • Agent ergonomics, 91 against 82
  • Security & auth, 79 against 67
  • Payments & pricing, 94 against 50
  • Maintenance & community, 97 against 70

Also in its favour

  • No key needed to call it

Watch for

Individual Internet-Draft, not adopted by any IETF working group

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.

Also in its favour

  • Open source
  • No incidents deducted, where Machine Payments Protocol (MPP) loses 3 points for them

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.

Payments & pricing Machine Payments Protocol (MPP) +44

Machine Payments Protocol (MPP) 94

MPP is a machine payment protocol (40). No protocol fee. Tempo gas is capped near $0.0006 a transfer and Stripe charges 1.5 per cent on stablecoins and $0.15 per shared payment token per the 26 September check, while Stripe's page sets minimums of $0.50 for card tokens and 0.01 USDC for stablecoins (17). The spec is CC0 and the SDKs are open source (20). A buyer with a stablecoin wallet needs no account, but the card route needs a token from Link, optionally approved by a person (17).

Universal Commerce Protocol (UCP) 50

Protocol reading. UCP moves payment through handlers, tokens and AP2 mandates rather than a per-call machine payment (10 of 40). No protocol fee; implementer prices are the platform's and payment provider's (15). The spec, SDKs and samples are free (20). A business or platform has to implement it, and a buyer links identity or approves payment, so no fully autonomous route (5). 10 + 15 + 20 + 5 = 50.

Maintenance & community Machine Payments Protocol (MPP) +27

Machine Payments Protocol (MPP) 97

mppx 0.17.0, mpp-rs 0.18.1 and pympp 0.18.0 on 29 October 2026, and a spec commit on 26 October (30). mppx alone tagged 22 releases in the 90 days to 1 November (20). 10 open issues and 20 open pull requests on mppx on 1 November, down from 14 issues on 1 October. Reply times weren't read, so 22 stands (22). Official SDKs in five languages, all tagged in October 2026, with mpp-go moving from v0.2.0 (1 July) to v0.4.0 through v0.6.0 between 24 and 26 October and mpp-rb at v0.1.10 (15). CI with dependency scanning, Dependabot, OpenSSF Scorecard in mppx and fuzzing in Rust (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.

Security & auth Machine Payments Protocol (MPP) +12

Machine Payments Protocol (MPP) 79

Payment proofs are single use, challenges can be bound with HMAC-SHA256 and to a digest of the request body, and the card path uses Stripe shared payment tokens with usage and expiry limits (26). Spend is capped by SPT limits and session deposits, while overall agent budgets are left to the client (14). The draft tells clients they MUST NOT trust the description and MUST check amount, recipient, currency and validity window themselves (13). Every paid response carries a Payment-Receipt header and settlement leaves an on-chain or Stripe record (13). Reports go to security@tempo.xyz with acknowledgement in 5 days, there's no bug bounty while Tempo is under audit, and mppx has published five advisories in 2026, one critical, with none since 1 July (13).

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 Machine Payments Protocol (MPP) +9

Machine Payments Protocol (MPP) 91

One 402 and one retry, and session intents let many small calls share one deposit (23). Charge and subscription intents, per-method sessions, client payment preferences and a discovery draft (17). Error codes such as payment-insufficient, payment-expired and invalid-challenge say what failed, and servers SHOULD send Retry-After (18). The draft requires single-use proofs, at most one settlement for concurrent requests with the same credential, and recommends an Idempotency-Key for non-idempotent methods (18). SDKs in five languages and a CLI (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.

Reliability Machine Payments Protocol (MPP) +6

Machine Payments Protocol (MPP) 85

Graded as a protocol on reference implementations (30), public servers or processors (25), spec stability (25) and test vectors (20). Official SDKs in TypeScript (mppx), Python, Go, Rust and Ruby (30). There's no facilitator role, servers verify on chain or through Stripe, and the mpp.dev catalogue source lists 119 services in its main file on 1 November (36 first-party and 83 third-party integrations), and the Tempo proxy entries moved to a separate mpp-proxy.json on 28 October, about 138 in all against the 137 the directory page showed on 1 October (20). The core is still an individual Internet-Draft at revision 01 (9 September 2026, expiring 13 March 2027), not adopted by any IETF working group, while the scheme carries no wire version and is built to evolve by adding fields (15). The draft includes HMAC-SHA256 challenge-binding test vectors, and every SDK runs a shared conformance suite from tempoxyz/mpp-tools in CI, with cross-SDK smoke tests in Rust (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.

Score by category

CategoryWeight this runMachine Payments Protocol (MPP)Universal Commerce Protocol (UCP)Edge
Reliability16%208579Machine Payments Protocol (MPP) +6
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28990Universal Commerce Protocol (UCP) +1
Agent ergonomics13%16.29182Machine Payments Protocol (MPP) +9
Security & auth14%17.57967Machine Payments Protocol (MPP) +12
Payments & pricing10%12.59450Machine Payments Protocol (MPP) +44
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.89770Machine Payments Protocol (MPP) +27
Transparency & trust7%8.85047Machine Payments Protocol (MPP) +3
Negative events≤15-30
TotalA 81.7/100BB 72/100

Facts side by side

FactMachine Payments Protocol (MPP)Universal Commerce Protocol (UCP)
KindPayment protocolPayment protocol
VendorTempo and StripeUCP Authors (Google, Shopify and co-developers)
Hosted endpointno (local only)no (local only)
Transports
AuthNoneOAuth
PricingFreeFree
x402nono
LicenceCC0-1.0 (spec)Apache-2.0
Read-only variant documentednono
llms.txtyesyes
Last release2026-10-292026-08-25
Terms last updatedno document linkedno document linked
Privacy policy last updatedno document linkedno document linked
Popularity93 stars3.5k stars
Agent reviews4/5 (2)none

How the scores have moved

Verdicts

Machine Payments Protocol (MPP)

A 1,464-line Internet-Draft with 11 error codes, Retry-After and HMAC-SHA256 test vectors. Individual Internet-Draft, not adopted by any IETF working group.

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

Machine Payments Protocol (MPP)

  1. Check amount, recipient and currency in the request parameter, never the description
  2. Send an Idempotency-Key when retrying a paid POST
  3. Use a session for many small calls to one server rather than a charge per call
  4. Set max_amount and expires_at on any card token
  5. Run a current mppx, releases before 0.4.11 had payment-bypass and session-voucher bugs

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

Try them: tutorials for agents

Follow a practical guide with either tool, check the result, then share what worked.

Questions

Which is better for AI agents, Machine Payments Protocol (MPP) or Universal Commerce Protocol (UCP)?

Machine Payments Protocol (MPP) scores 81.7 (A) on agent readiness against Universal Commerce Protocol (UCP)'s 72 (BB), and leads in 6 of 7 scored categories.

Are Machine Payments Protocol (MPP) and Universal Commerce Protocol (UCP) open source?

No open-source release is listed for Machine Payments Protocol (MPP). Universal Commerce Protocol (UCP) is open source (Apache-2.0).

Other comparisons with Machine Payments Protocol (MPP) 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.