UCP is the highway, not the car. It defines integration standards; it doesn't sell goods for you. Treating it as a competitor to defend against is a misalignment—it's here to replace that pile of custom interfaces you write for every Agent.
In one sentence: UCP is an open-source commerce protocol led by Google—it doesn't sell goods for you; instead, it defines a universal language that lets any Agent discover, add to cart, check out, and handle post-sale for any merchant, collapsing the integration cost of the shopping Agent era from N×N to N+N.
dev.ucp.shopping) → Capabilities (checkout / orders / catalog, each independently versioned) → Extensions (using reverse domain names to extend, "own the domain, own the namespace"), deliberately mirroring TCP/IP's layering./.well-known/ucp; Agents fetch it and find the intersection—use whatever both sides support, and fall back to a human escalation state machine for unsupported features.CheckoutMandate + PaymentMandate (SD-JWT-VC verifiable credentials) to lock authorization to a specific cart hash, preventing token replay and amount tampering.UCP's real killer move isn't technical—it's "free". When the protocol itself costs nothing and leaves monetization to payments and ads, it isn't competing with ACP for a standard—it's replicating Android: make the standard too free to refuse, then tax the traffic gateways above the standard (AI Mode / Gemini). The integration cost merchants save is precisely the channel control they surrender.
Shopping is sprouting a new "user": not a human, but an Agent. It compares prices, adds to cart, places orders, and handles returns for you. The problem is—every Agent connecting to every merchant requires writing a custom integration.
Google calls this the "N×N integration bottleneck": Gemini needs to connect to 10,000 stores, ChatGPT also needs to connect to 10,000 stores, and each store has to adapt separately for each Agent—the number of connections explodes multiplicatively with the number of parties on both sides. This is a replay of the 2010s "every app has to write an interface for every bank."
Shopify's engineering team put it more bluntly in their retrospective post: the complexity of commerce is real—payment methods, discount rules, fulfillment combinations change constantly with cart contents, buyer region, and market conditions. "Monolithic protocols eventually collapse under complexity: too rigid to adapt, too slow to evolve."
UCP's answer is to standardize but not lock down this highway: define a universal language and functional primitives, collapsing integration from N×N to N+N—merchants implement once, and all compliant Agents can drive on. At the NRF conference on January 11, 2026, Sundar Pichai announced it as an open-source standard, with co-developers Shopify, Etsy, Wayfair, Target, and Walmart.
Monolithic protocols eventually collapse under complexity:
too rigid to adapt, too slow to evolve. — SHOPIFY ENGINEERING · ON WHY UCP IS LAYERED
UCP breaks commerce capabilities into three layers, each with clear responsibilities and the ability to evolve independently—this is its most fundamental difference from a "monolithic shopping API."
Functional groupings with versions and REST endpoints. For example, dev.ucp.shopping is the core shopping service, managing checkout sessions, line items, totals.
Core commerce building blocks, each independently versioned: checkout (create/manage transactions), discount (promotions), fulfillment (fulfillment), identity (identity), orders (post-sale).
Extend capabilities through composition (e.g., discount extends checkout). Naming uses reverse domain names—com.loyaltyprovider.points. No central approval needed; own the domain, own the namespace.
This layering is no accident. Shopify's retrospective explicitly benchmarks against TCP/IP's success: a stable lower layer with a pluggable upper layer allows new verticals to grow without breaking existing ones. This is also why UCP dares to claim it can scale to hotels and food delivery.
Merchants publish a JSON manifest at /.well-known/ucp: declaring which services, capabilities, payment handlers, REST endpoints, and OpenAPI schemas they support. Agents also bring their own capability profiles.
Then find the intersection: only capabilities both sides support are enabled; only extensions both understand take effect. When encountering a capability gap, the checkout state machine performs graceful degradation—incomplete → requires_escalation → ready_for_complete. For the escalation step, Shopify contributed the Embedded Checkout Protocol (ECP) (based on JSON-RPC 2.0), distilled from their own Checkout Kit, to securely hand state and credentials back to a human or the merchant's own checkout page.
UCP deliberately does not bind to a single transport. The same capability manifest can declare multiple invocation methods; Agents can choose any one to initiate a tool call:
So the correct mental model is:
Use UCP to discover the store and negotiate capabilities; use MCP (or A2A) to execute those tool calls.
When an Agent spends money on your behalf, the most dangerous link is authorization. UCP splits this into two halves.
The first half is inside UCP: payment is modeled as bidirectional dynamic negotiation. The merchant manifest declares which payment handlers it accepts (Shop Pay, Google Pay, and other payment services); the Agent manifest declares which payment instruments it holds (cards, wallets). Available handlers change per transaction—change the cart, change the buyer's region, change any variable, and the available payment methods can shift. The key point: the Agent never touches raw payment or identity data; credentials are tokenized by the credential provider.
The second half is handed to AP2 (Agent Payments Protocol)—UCP's trust and authorization layer. The official documentation puts the division of labor succinctly: UCP handles "what you're buying and from whom"; AP2 handles "who approved this purchase" and provides an audit trail. AP2 plugs into UCP's checkout flow as an extension.
The merchant first returns a checkoutSignature (detached JWT), containing the hash of the checkout state in the authorization token, signed by the merchant.
After user consent, the platform generates an SD-JWT-VC (selective disclosure verifiable credential) carrying the actual payment authorization. The payment processor independently verifies it.
The payment mandate is locked to the specific checkout hash, eliminating token replay and amount tampering. Both parties receive cryptographic proof of "what was quoted, what was agreed to."
The subtext of this design is: autonomous Agents can spend money on behalf of users within preset, verifiable boundaries—boundaries, authorization, and audit are all pinned down with verifiable credentials, rather than relying on "trusting that this Agent is well-behaved."
Many people treat UCP, MCP, A2A, and AP2 as competing standards—this is the biggest misreading. Google's developer guide on March 18 lays them out as complementary layers, each solving a different problem:
A complete B2B procurement chain is strung together exactly like this: MCP connects to the supplier database to fetch inventory → A2A delegates the quoting task to another Agent → UCP manages the entire ordering flow → AP2 authorizes payment. Google's recommendation is also measured: "Add protocols as needed; for most Agents, starting with MCP is enough."
The data confirms this: among 3,643+ verified merchants as of April 13, 2026, almost 100% declare MCP as the transport layer. UCP handles "discovering the store"; MCP handles "executing tool calls"—the two are partners, not rivals.
The battle over agentic commerce standards is essentially a clash between two governance philosophies. On the other side is OpenAI + Stripe's ACP (Agentic Commerce Protocol).
| Dimension | UCP | ACP |
|---|---|---|
| Governance | Google + Shopify | OpenAI + Stripe |
| Discovery | Merchants self-publish manifests (decentralized) | Submit product feeds to OpenAI |
| Payment | Any handler, negotiated per transaction | Stripe-exclusive SharedPaymentToken |
| Primary gateway | Google AI Mode · Gemini | ChatGPT |
| Cost | Protocol is free | OpenAI takes 4% + Stripe ≈2.9%+$0.30 |
Industry observers offer a pragmatic conclusion: don't pick just one—integrate both, just as retailers list on both Google Shopping and Amazon. Interestingly, the two protocols are converging: ACP's January 30 update introduced "capability negotiation" and a "payment handler framework," almost directly copying UCP's design patterns.
The protocol launch was just the starting line. By May 20, Google had already pushed UCP's capabilities and monetization forward together:
The endorsement list itself is the landscape: beyond the co-developers, Adyen, American Express, Best Buy, Flipkart, Macy's, Mastercard, Stripe, The Home Depot, Visa, and Zalando are all on board—payment networks, card networks, and major retailers are all represented.
UCP's appeal to merchants is real: eliminate the N×N integration cost. But there are no free highways—what merchants surrender is channel control.
eMarketer's Jeremy Goldman puts it directly: "When transactions happen in Google's environment, brands lose control over UX, product presentation, and post-sale interaction"—products degrade from a "brand experience" into "sorted commodities."
The same standardized highway is an efficiency tool for merchants,
a new traffic gateway tax for Google,
and fewer clicks of convenience for consumers—
three values superimposed on the same protocol, and that's where the tension hides.
The specific costs come in three layers:
This is precisely where UCP's "open source + free" strategy is most brilliant and most dangerous: the protocol is free so the standard becomes impossible to refuse; the real toll booth is set at the traffic gateway above the standard. This is the Android playbook, not Linux's.
UCP is the highway, not the car. It defines integration standards; it doesn't sell goods for you. Treating it as a competitor to defend against is a misalignment—it's here to replace that pile of custom interfaces you write for every Agent.
The protocol stack is layered; understand MCP first. MCP→A2A→UCP→AP2 each have their own roles. ≈100% of merchants use MCP as transport, so engineering-wise, get MCP connected first; UCP is the discovery and commerce semantics layer on top of it.
Integrate both standards; don't bet on one side. UCP and ACP are converging, and neither has winner-takes-all. Like listing on both Google Shopping and Amazon, covering the full distribution surface is the rational choice.
Do the math on channel control first. What you save in integration costs is exactly what you surrender in last touchpoints, customer data, and brand experience. Before integrating UCP, calculate this hidden toll.
First published 2026-06-02