Loading…
Building the Universal Commerce Protocol
2023-10-18
- Source
- Shopify
- Published
- Added to Yomu
Summary
Universal Commerce Protocol (UCP) is an open standard co-developed by Shopify and Google to let AI agents discover merchant capabilities, negotiate what both sides support, and transact with merchants. It addresses commerce complexity arising from cart-, buyer-, and market-dependent payment rules, discount combinations, and fulfillment variations. UCP uses layered extensibility: a shopping service supplies transaction primitives, capabilities such as Checkout and Orders are independently versioned, and extensions add domain-specific schemas without changing the core. Profiles and reverse-domain namespaces support decentralized capability discovery, while checkout states and continue_url enable structured handoff when human input or unsupported capabilities are required. Payment handlers are negotiated dynamically per transaction, and the public protocol is presented as ready for merchants, agents, and providers to build against.
Context
Commerce involves diverse, context-dependent rules and options, including payment methods, discount combinations, fulfillment models, merchant-specific functionality, and transactions that may require human participation. A rigid, monolithic protocol would be difficult to adapt to this variety and ongoing evolution.
Approach / What changed
UCP separates commerce into a core shopping service, independently versioned capabilities, and composable extensions. Merchants and agents publish profiles, discover each other's capabilities, and negotiate their intersection. The protocol also defines checkout states, continue_url handoff, Embedded Checkout Protocol messaging, and dynamic payment-handler negotiation.
Takeaways
- UCP's core shopping service defines checkout sessions, line items, totals, messages, and status, while capabilities and extensions add independently versioned or domain-specific functionality.
- Merchants and agents advertise profiles, and negotiation computes their shared capabilities, handlers, and mutually understood extensions; reverse-domain naming lets organizations define namespaces without central approval.
- A checkout can move to requires_escalation with structured context and a continue_url, allowing embedded human handoff through ECP's JSON-RPC 2.0 channel when the agent cannot complete the transaction alone.