Under the Hood: Universal Commerce Protocol (UCP)- Google Developers Blog
Key Points
- 1The Universal Commerce Protocol (UCP) is an open-source standard co-developed by Google and over 20 industry partners to establish a common language and functional primitives for agentic commerce, connecting consumer surfaces, businesses, and payment providers.
- 2UCP streamlines commerce by standardizing the entire journey from discovery to order management, allowing agents to dynamically discover business capabilities like checkout and discounts via a secure, unified integration that resolves N x N complexity.
- 3Businesses integrate with UCP to showcase products across AI platforms like Google Search and Gemini, retaining control as the Merchant of Record, while the protocol fosters an extensible, community-driven ecosystem with verifiable and flexible payment options.
The Universal Commerce Protocol (UCP) is an open-source standard developed by Google in collaboration with major industry leaders (e.g., Shopify, Etsy, Target, Walmart) and endorsed by over 20 global partners (e.g., Adyen, Mastercard, Stripe). Its primary objective is to power the next generation of agentic commerce by establishing a common language and functional primitives for seamless commerce journeys between consumer surfaces, businesses, and payment providers.
UCP addresses the prevalent "N x N integration bottleneck" in traditional e-commerce infrastructure, where businesses must build bespoke integrations for every consumer surface. It solves this by standardizing the entire commerce journey—from discovery and consideration to purchase and order management—through a single, secure abstraction layer. This methodology involves:
- Unified Integration: Collapsing complex N x N integrations into a singular integration point for various consumer surfaces (e.g., AI Mode in Google Search, Gemini app).
- Shared Language: Standardizing discovery mechanisms, capability schemas, and transport bindings to ensure cross-platform interoperability and end-to-end support for the commerce lifecycle.
- Extensible Architecture: Built with flexible capabilities and an extensions framework, allowing for scalability as new agentic experiences emerge and facilitating expansion into new verticals.
- Security-First Approach: Employing tokenized payments and verifiable credentials to ensure secure communication between agents and business backends, with every authorization backed by cryptographic proof of user consent.
The core methodology of UCP revolves around defined "services" and "capabilities" exposed by businesses. Businesses publish these in a standard JSON manifest located at /.well-known/ucp. This allows agents to dynamically discover features, endpoints, and payment configurations without hard-coded integrations. Key technical components include:
- Services: High-level commerce functionalities (e.g.,
dev.ucp.shopping). Each service can specify a version, aspecURL, and transport-specific bindings (e.g.,restbinding withschemaandendpoint). - Capabilities: Core commerce building blocks within services (e.g.,
dev.ucp.shopping.checkout,dev.ucp.shopping.discount,dev.ucp.shopping.fulfillment). Capabilities can define schemas and mayextendother capabilities (e.g.,discountextendscheckout). - Payment Architecture: UCP separates payment *instruments* (what consumers use to pay) from *payment handlers* (payment processors). The
/.well-known/ucpmanifest includes apayment.handlersarray, detailing supported handlers with theirid,name,version,spec,config_schema,instrument_schemas, and specificconfigobjects (e.g., Google Pay'smerchant_info,allowed_payment_methods). This modular design enables open interoperability and choice. - Transports: UCP supports multiple communication transports, including dedicated APIs, Agent2Agent (A2A), and the Model Context Protocol (MCP), providing flexibility for how agents and businesses interact.
A practical workflow demonstrates this methodology:
- Business Server Setup: A business (e.g., a flower shop) sets up a server (e.g., Python-based, from
python-sdkandsamples) and populates a product database (e.g., SQLite viaimport_csv.py). - Capability Discovery: An agent initiates a
GETrequest to . The server responds with a JSON object detailing availableucpservices and capabilities, as well aspayment.handlers. This dynamic discovery allows the agent to understand what actions it can perform and with which payment methods. - Checkout Invocation: To create a checkout session, the agent sends a
POSTrequest to . The request body includesline_items(productid,quantity),buyerdetails,currency, andpayment.handlers(derived from the discovery step). Key HTTP headers likeUCP-Agent,request-signature,idempotency-key, andrequest-idare used for context and transaction management. The server responds with a uniqueidfor the checkout session, details ofline_items,buyer,status(e.g.,ready_for_complete),currency, andtotals. - Applying Discounts: To modify an existing checkout, the agent sends a
PUTrequest to . The request body includes thecheckout_idand adiscountsobject containingcodes(e.g.,10OFF). The server processes the discount and updates the checkout session'stotalsto reflect the reduced amount, providing details of theapplieddiscounts (e.g.,amount,title,allocations).
Google provides the first reference implementation of UCP, powering direct purchases within its conversational experiences (e.g., AI Mode in Search, Gemini) and leveraging existing Google Pay and Google Wallet integrations. UCP is designed to be neutral and vendor-agnostic, fostering an open-source, community-driven development model for the future of agentic commerce.