← Home 30Day/Pivot
Spoke 6 of 8 · AgentMall Pillar

UCP Explained — the open checkout protocol that lets AI agents actually buy.

The spec, the adoption numbers, the field reference, and the honest 18–32 hour implementation path. For solo founders deciding whether to build it now, defer it, or skip it.

Section 1 · Lede

What UCP actually is — and the one adoption fact that matters.

The Universal Commerce Protocol (UCP) is an open standard that gives AI agents a single wire format to discover products, build carts, and complete authenticated purchases across any merchant's backend — without custom per-platform integrations.

As of May 2026, Amazon, Meta, Microsoft, Salesforce, and Stripe joined the UCP Tech Council on April 24, 2026, giving the governing body 10 members spanning search, social, enterprise software, payments, and retail infrastructure (UCP Tech Council announcement, Ken Huang / Substack, April 28, 2026).

The prior AgentMall spokes gave your catalog a Schema.org layer (Spoke 4) and a REST API (Spoke 5). UCP is the final layer: without it, an agent can find your product and evaluate it — but it cannot buy it.

Section 2 · Why UCP Exists

The N-to-N problem, the gaps Schema.org and MCP can't fill, and the ACP parallel.

The N-to-N problem

Before UCP, every platform (AI agent, app, super-app) connecting to every merchant required a custom integration. UCP solves this by having merchants publish a machine-readable profile at /.well-known/ucp that any UCP-compatible platform can read and act on — no prior registration, no custom API key negotiation per partner. Shopify's engineering blog calls this a 1-to-many model: implement once, transact with any compliant agent.

What Schema.org, REST, and MCP can't do

Schema.org is passive and read-only — it has no mechanism for cart state, fulfillment negotiation, payment instrument exchange, or order confirmation. An agent reading Schema.org markup can answer "does this merchant sell blue running shoes?" but cannot answer "can I buy two pairs, select UPS Ground, and pay with a Google Pay token?"

A REST API with no UCP profile has no discoverable capability contract; each agent needs a custom connector. That's the exact N-to-N problem UCP was built to eliminate.

MCP (Model Context Protocol, by Anthropic) is a tool-discovery and invocation layer — it tells an LLM what tools exist, but it does not define checkout session structure, payment negotiation, or order state. MCP is actually one of four UCP transport bindings (alongside REST, A2A, and Embedded). The relationship: MCP handles tool invocation; UCP defines what the commerce tools actually do (Paz.ai MCP explainer).

ACP vs. UCP — the parallel standard

Insight

The Agentic Commerce Protocol (ACP), co-developed by Stripe and OpenAI and launched September 29, 2025, is a parallel standard targeting checkout specifically. ChatGPT uses ACP (not UCP) for Instant Checkout with Etsy and Shopify merchants. Walmart separately tested 200,000 products via ACP/ChatGPT. Stripe joined the UCP Tech Council in April 2026 while remaining an ACP co-developer.

The key distinction for builders: Google AI Mode and Gemini require UCP. ChatGPT requires ACP. These are different integration paths (Stripe / OpenAI ACP announcement).

Section 3 · The Spec

Governance, the discovery manifest, the capabilities registry, and the 8-step checkout flow.

Governance and versions

UCP was announced January 11, 2026. Co-developed by Google, Shopify, Etsy, Wayfair, Target, and Walmart. Open source under Apache 2.0. Governed by the UCP Tech Council. Current stable version: 2026-04-08 (ucp.dev spec overview).

VersionDateKey Changes
LaunchJan 11, 2026Checkout, Identity Linking, Order Management; single-item sessions only (Google blog)
2026-01-23Jan 23, 2026Stable spec; fulfillment and discount extensions added
March updateMar 19, 2026Cart capability (draft), Catalog capability (draft), Identity Linking stable release, Merchant Center onboarding announced (Google March blog)
2026-04-08Apr 8, 2026totals.type becomes open string; totals.amount can be negative; fee lines array added; full discovery → cart → checkout journey covered
Tech Council expansionApr 24, 2026Amazon, Meta, Microsoft, Salesforce, Stripe join; 10 members total (Ken Huang / Substack)

The discovery manifest

Every UCP merchant exposes a JSON profile at /.well-known/ucp. This is the entry point — the first thing any compliant agent fetches. Must be served over HTTPS with Cache-Control: public, max-age=60 minimum.

{
  "ucp": {
    "version": "2026-04-08",
    "services": {
      "dev.ucp.shopping": [
        {
          "version": "2026-04-08",
          "spec": "https://ucp.dev/2026-04-08/specification/overview/",
          "transport": "rest",
          "endpoint": "https://business.example.com/ucp/v1",
          "schema": "https://ucp.dev/2026-04-08/services/shopping/rest.openapi.json"
        },
        {
          "version": "2026-04-08",
          "spec": "https://ucp.dev/2026-04-08/specification/overview/",
          "transport": "mcp",
          "endpoint": "https://business.example.com/ucp/mcp",
          "schema": "https://ucp.dev/2026-04-08/services/shopping/mcp.openrpc.json"
        }
      ]
    },
    "capabilities": { "..." },
    "payment_handlers": { "..." }
  },
  "signing_keys": [
    {
      "kid": "key-1",
      "kty": "EC",
      "crv": "P-256",
      "x": "...",
      "y": "...",
      "use": "sig",
      "alg": "ES256"
    }
  ]
}
Note

Supported transport values: rest, mcp, a2a, embedded. UCP is transport-agnostic — you can implement it as a pure REST API with zero MCP dependency.

Capabilities registry

CapabilityNamespaceStatusFunction
Checkoutdev.ucp.shopping.checkoutStableSession creation, tax, payment, fulfillment
Cartdev.ucp.shopping.cartDraft (March 2026)Multi-item basket building, pre-purchase exploration
Catalog Searchdev.ucp.shopping.catalog.searchDraft (March 2026)Real-time product search, variants, inventory, pricing
Catalog Lookupdev.ucp.shopping.catalog.lookupDraft (March 2026)Single-product detail retrieval
Identity Linkingdev.ucp.common.identity_linkingStableOAuth 2.0 account linking, loyalty benefits
Orderdev.ucp.shopping.orderStableShipping/delivery/return webhook lifecycle
Fulfillmentdev.ucp.shopping.fulfillmentStable (extension)Shipping options, delivery windows, pickup
Discountdev.ucp.shopping.discountStable (extension)Promo codes, loyalty points during checkout

The checkout flow — 8 steps

1

Discovery

Agent fetches GET /.well-known/ucp. Receives the business profile declaring supported capabilities, transport bindings, payment handlers, and signing keys.

2

Capability Negotiation

The merchant computes the intersection of what it supports against what the agent's profile declares. The merchant (server) selects — the agent cannot push capabilities onto a merchant.

3

Create Checkout Session

Agent sends POST /checkout-sessions with line_items (required) and optionally buyer, context (city/state/zip), and payment. Merchant responds with initialized session including id, status, currency, totals, and payment_handlers.

4

Update Checkout Session

Agent sends PUT /checkout-sessions/{id} to apply shipping address, buyer information, or additional items. Merchant returns recalculated totals including final tax and shipping options.

5

Status Handling

Merchant returns one of six states: incomplete (agent can fix via API), requires_escalation (needs buyer input; merchant includes continue_url), ready_for_complete, complete_in_progress, completed, or canceled.

6

Payment Acquisition

Agent obtains a one-time credential token from a Payment Credential Provider (e.g., Google Pay, Shop Pay). The agent never handles raw card numbers. The credential object contains type and token (opaque to the agent).

7

Complete Checkout

Agent sends POST /checkout-sessions/{id}/complete with payment.instruments array containing the credential. Merchant responds with status: "completed" and an order object containing id and permalink_url.

8

Order Confirmation

Merchant pushes order lifecycle updates (shipped, delivered, returned) via webhooks. Google's webhook endpoint: https://shoppingdataintegration.googleapis.com/v1/webhooks/partners/{PARTNER_ID}/events/order.

Insight

When a session hits requires_escalation, the merchant includes a continue_url. The agent renders this URL in an embedded view — a bidirectional JSON-RPC 2.0 channel (the Embedded Checkout Protocol) is established. This is how complex flows (3DS, age verification, custom delivery scheduling) are handled without breaking the agentic experience (Shopify Engineering).

Endpoint reference

MethodPathPurpose
GET/.well-known/ucpCapability discovery and business profile
POST/checkout-sessionsCreate new checkout session
GET/checkout-sessions/{id}Retrieve session state
PUT/checkout-sessions/{id}Update session (line items, fulfillment, buyer)
POST/checkout-sessions/{id}/completeFinalize order with payment
POST/checkout-sessions/{id}/cancelCancel session
GET/orders/{id}Retrieve order status
POST/orders/{id}/cancelCancel order

Service Level Objectives

EndpointAvailabilityP50 LatencyP95 Latency
POST /checkout-sessions≥ 95%≤ 1s≤ 4s
PUT /checkout-sessions/{id}≥ 95%≤ 1s≤ 5s
POST /checkout-sessions/{id}/complete≥ 95%≤ 6s≤ 10s

Source: Google native checkout developer guide.

Section 4 · Adoption Tracker

Live vs. committed — the data centerpiece.

As of May 2026, Etsy and Wayfair are the two confirmed live merchants on Google AI Mode and Gemini. The six original co-developers (Google, Shopify, Etsy, Wayfair, Target, Walmart) shaped the spec. On April 24, 2026, Amazon, Meta, Microsoft, Salesforce, and Stripe joined the Tech Council. 30+ organizations have publicly endorsed UCP.

Critical

Live vs. committed — the distinction that matters. "Co-developed," "endorsed," and "Tech Council member" do not mean a merchant is live with UCP checkout. Only Etsy and Wayfair are confirmed live as of May 2026. Every other merchant in the table below is announced or committed — not yet transactable via UCP.

Merchant / Platform Role Status Announced Notes
EtsyCo-developerLiveJan 11, 2026Co-developed UCP; live on Google AI Mode and Gemini per ucphub.ai. Also supports ACP (ChatGPT Instant Checkout).
WayfairCo-developerLiveJan 12, 2026"Foundational partner that co-developed UCP" per Wayfair IR; live with checkout on AI Mode/Gemini; Wayfair remains merchant of record.
ShopifyCo-developer + PlatformComing soon (rolling out)Jan 11, 2026Co-developer; native shopping on Google surfaces "rolling out soon" per Shopify news. Admin-managed integration. Millions of merchants when live.
TargetCo-developerComing soonJan 11, 2026Listed as co-developer on ucp.dev homepage.
WalmartCo-developerComing soonJan 11, 2026Co-developer; separately tested 200,000 products via ACP/ChatGPT Instant Checkout.
Lowe'sMerchantLive (Business Agent)Jan 11, 2026Live on Google Business Agent starting Jan 12, 2026. Business Agent ≠ full UCP checkout.
Michael'sMerchantLive (Business Agent)Jan 11, 2026Live on Google Business Agent. Same caveat as Lowe's.
PoshmarkMerchantLive (Business Agent)Jan 11, 2026Live on Google Business Agent. Same caveat as Lowe's.
ReebokMerchantLive (Business Agent)Jan 11, 2026Live on Google Business Agent. Same caveat as Lowe's.
AmazonTech CouncilTech CouncilApr 24, 2026Joined Tech Council April 2026 (Ken Huang / Substack). No merchant go-live announcement found.
MetaTech CouncilTech CouncilApr 24, 2026Joined Tech Council April 2026. Social commerce surface integration status not yet confirmed.
MicrosoftTech CouncilTech CouncilApr 24, 2026Joined Tech Council April 2026. Shopify separately announced Microsoft Copilot Checkout (Jan 2026).
SalesforceTech Council + Platform upcomingEndorsed + platform upcomingMar 19, 2026 / Apr 24, 2026Will implement UCP on platform; retailers on Salesforce won't need direct UCP integration.
StripeTech Council + EndorserEndorsed + platform upcomingJan 11, 2026 / Apr 24, 2026UCP Tech Council member; also ACP co-developer (Stripe docs). UCP platform implementation "in the near future."
Commerce Inc.Platform upcomingEndorsed + platform upcomingMar 19, 2026Will implement UCP; same pass-through model as Salesforce (nohacks.co).
MastercardEndorserEndorsedJan 11, 2026Listed as endorser on Google announcement.
VisaEndorserEndorsedJan 11, 2026Listed as endorser.
American ExpressEndorserEndorsedJan 11, 2026Listed as endorser.
AdyenEndorserEndorsedJan 11, 2026Listed as endorser.
PayPalEndorserEndorsedJan 11, 2026Listed on ucp.dev; payment method "coming soon" per Google blog.
KlarnaEndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
AffirmEndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
BlockEndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
Checkout.comEndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
FiservEndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
WorldpayEndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
Best BuyMerchant / EndorserEndorsedJan 11, 2026Listed as endorser.
The Home DepotMerchant / EndorserEndorsedJan 11, 2026Listed as endorser.
Macy'sMerchant / EndorserEndorsedJan 11, 2026Listed as endorser.
KrogerMerchant / EndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
GapMerchant / EndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
SephoraMerchant / EndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
UltaMerchant / EndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
ChewyMerchant / EndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
CarrefourMerchant / EndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
FlipkartMerchant / EndorserEndorsedJan 11, 2026India-based; global expansion planned 2026.
ZalandoMerchant / EndorserEndorsedJan 11, 2026Listed as endorser (Europe).
ShopeeMerchant / EndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
Ant InternationalEndorserEndorsedJan 11, 2026Listed on ucp.dev homepage.
NVIDIA (Retail Blueprint)Reference implementationImplements UCP + ACPMar 13, 2026Reference blueprint implements both ACP and UCP; uses NVIDIA NeMo + MCP server (build.nvidia.com).
Section 5 · Agent Capability Matrix

What each agent surface can and cannot do — without UCP.

The purchase gap is not binary. Agents can discover and evaluate products at non-UCP merchants through existing feeds and web access. The hard stop is at purchase completion — specifically for Google's surfaces (AI Mode, Gemini), where only UCP-registered merchants can complete transactions. For OpenAI's surface (ChatGPT), ACP is the current requirement.

Agent / Platform Discover Evaluate Add to Cart Complete Purchase UCP Required? Notes
Google AI Mode Yes (Merchant Center feeds + UCP Catalog) Yes Yes (UCP Cart) Yes — UCP required Yes Only UCP-registered merchants with Google approval (Google developer guide).
Gemini App Yes (same feed/UCP) Yes Yes (UCP Cart) Yes — UCP required Yes Parity with AI Mode; in rollout phase.
ChatGPT (via ACP) Yes (ACP product feeds) Yes Yes (ACP) Yes — ACP required No (UCP not required; ACP used) Different protocol; Etsy and Shopify merchants supported via ACP (OpenAI ACP docs).
Claude (via MCP) Yes (if merchant has MCP server) Yes No native checkout No No (but no purchase path without additional integration) Can browse but not transact without UCP or ACP exposed as MCP tools.
OpenAI Agents SDK Yes (via ACP) Yes Yes (ACP) Yes (ACP) No (ACP path) No confirmed native UCP support as of May 2026.
LangChain Yes (tool use / web search) Yes No native standard No native standard No Framework-agnostic; purchase requires custom tooling.
LlamaIndex Yes (data connectors) Yes No native standard No native standard No Same as LangChain — purchase depends on custom tooling.
Section 6 · Required Field Reference

The exact field names, types, and what breaks without each one.

UCP uses exact field names. The most common implementation error is assuming the price format matches the Spoke 5 REST API. It doesn't — UCP has its own price field structure.

Critical

Price format in UCP is not the same as Spoke 5. The field is line_items[].item.price (not price_cents). Format: integer minor units. $100.00 = 10000. Do not assume 2 decimal places for all currencies. JPY uses 0 decimal places, USD uses 2, KWD (Kuwaiti Dinar) uses 3. Use ISO 4217 exponents.

Table A — Manifest fields (/.well-known/ucp)

FieldTypeFormatRequired?What Breaks Without It
ucpobjectRoot objectYesAgent cannot parse profile
ucp.versionstringYYYY-MM-DDYesVersion negotiation fails
ucp.servicesobjectMap of service name → transport arrayYesAgent doesn't know where to send requests
ucp.capabilitiesobjectMap of capability name → definition arrayYesNo capability negotiation possible
signing_keysarrayJWK EC P-256 (kty, crv, x, y, use, alg, kid)YesSignature verification fails; Google may reject
ucp.payment_handlersobjectMap of handler name → definitionNoNarrower payment options at session create
ucp.supported_versionsobjectMap of version string → profile URINoOlder agents can't find backwards-compatible profile

Table B — Checkout request fields (POST /checkout-sessions)

FieldTypeFormatRequired?What Breaks Without It
line_itemsarrayArray of Line Item objectsYesSession cannot be created
line_items[].idstringUnique line item IDYesMerchant cannot correlate items
line_items[].itemobjectItem objectYesNo product data
line_items[].item.idstringMust match product feed IDYesMerchant can't find SKU; session fails
line_items[].item.titlestringProduct titleYesDisplay breaks
line_items[].item.priceintegerMinor units (cents); 10000 = $100.00YesTotals calculation fails
line_items[].quantityintegerPositive integerYesOrder quantity unknown
line_items[].totalsarrayArray of Total objectsYesTotals display breaks
buyerobjectBuyer objectNoGuest checkout proceeds; identity linking unavailable
buyer.emailstringValid emailNoOrder confirmation email not sent
buyer.first_namestringNoPersonalization unavailable
buyer.last_namestringNoPersonalization unavailable
buyer.phone_numberstringE.164 formatNoSMS confirmation unavailable
contextobjectContext objectNoTaxes/shipping estimated without location
context.postal_codestringe.g. "94043"NoTax estimate less accurate
context.address_regionstringe.g. "California"NoState tax rules unknown
context.address_countrystringISO 3166-1 alpha-2/3 or full nameNoCurrency/VAT rules unknown
paymentobjectPayment configNoPayment handlers come from merchant response

Table C — Checkout response fields

FieldTypeFormatRequired?What Breaks Without It
idstringSession UUIDYesAgent can't make subsequent PUT/complete calls
statusstringEnum: incomplete, requires_escalation, ready_for_complete, complete_in_progress, completed, canceledYesAgent can't determine next action
currencystringISO 4217 (e.g. "USD")YesAgent can't display prices meaningfully
line_itemsarrayArray of Line Item Response objectsYesAgent can't verify order contents
totalsarrayArray of Total objectsYesAgent can't show price breakdown
totals[].typestringOpen string in v2026-04-08: subtotal, tax, fulfillment, discount, fee, totalYesAgent can't categorize amounts
totals[].amountintegerMinor units; can be negative for discountsYesPrice display broken
totals[].display_textstringe.g. "Shipping"NoGeneric label used
totals[].linesarraySub-items (fees only, v2026-04-08)NoFee itemization not shown
linksarrayArray of Link objects (privacy, TOS, refund policy)YesLegal compliance broken
ucpobjectProtocol metadataYesVersion negotiation state lost
messagesarrayArray of Message objectsNo (required when errors exist)Agent can't diagnose or surface errors
messages[].typestring"error" or "warning"Yes (when messages present)Google rejects non-conforming error responses
messages[].codestringEnum: missing, invalid, out_of_stock, payment_declined, requires_sign_in, requires_3ds, requires_identity_linking, or freeformYes (when type is error)Google can't auto-handle standard error codes
messages[].contentstringHuman-readable descriptionYes (when messages present)No message for user
messages[].severitystringEnum: recoverable, requires_buyer_input, requires_buyer_reviewYes (when type is error)Agent can't determine if it can self-correct
continue_urlstringHTTPS URLRequired when status: "requires_escalation"Handoff to human UI breaks; checkout stuck
expires_atstringRFC 3339 timestampNoDefault TTL is 6 hours
paymentobjectPayment config with handlersNoAgent can't select payment method
orderobjectOrder confirmationNo (present after completion)No order reference for tracking
order.idstringMerchant order IDYes (when order present)User can't track order
order.permalink_urlstringHTTPS URL to merchant order pageYes (when order present)User has no way to view order on merchant site
Section 7 · Minimum Viable Implementation

From "no UCP" to spec-compliant server in 18–32 hours.

For a solo founder with an existing product API, the path from "no UCP" to "spec-compliant UCP server" is an 18–32 hour project. The spec is Apache 2.0, reference implementations exist for Python (FastAPI) and Node.js, and there is a local conformance test suite.

Prerequisites
  • Active Google Merchant Center account
  • Products in Merchant Center feed (for Google surfaces)
  • Google Pay payment handler configured
  • HTTPS on your domain (TLS 1.3 minimum)

The 4 core endpoints

  1. GET /.well-known/ucp — returns your capability manifest JSON
  2. POST /checkout-sessions — creates session from line_items
  3. PUT /checkout-sessions/{id} — updates with buyer/shipping data
  4. POST /checkout-sessions/{id}/complete — finalizes with payment credential

Order webhooks are required before going live but not for initial testing.

Reference implementations

# Python (FastAPI)
cd samples/rest/python/server
pip install uv
uv run server

# Node.js
cd samples/rest/nodejs
npm install
npm run dev

# Python SDK
pip install ucp-sdk

Clone from github.com/Universal-Commerce-Protocol/samples.

Estimated hours

TaskEstimated HoursNotes
Read spec and review samples repo3–5hPython and Node.js reference implementations
Implement /.well-known/ucp manifest1–2hJSON file with capability declarations; no logic required
Implement POST /checkout-sessions3–5hMap line items to your internal SKU system; return totals
Implement PUT /checkout-sessions/{id}3–5hRecalculate tax/shipping on address update
Implement POST /checkout-sessions/{id}/complete2–4hVerify Google Pay credential, charge, create order
Implement order webhooks2–3hPush shipping/delivery events to Google endpoint
Set up Google Pay payment handler2–4hRequires Google Pay merchant account + tokenization config
Merchant Center UCP integration + waitlist1–2h + variable reviewApproval by Google Support required; timeline not published
Sandbox testing2–4hMerchant Center sandbox environment available
Total (development only)~18–32hFramework-agnostic; Python/Node fastest with sample code

Common implementation errors

ErrorDescriptionFix
Missing or malformed UCP-Agent header Required on every request Add UCP-Agent: profile="https://your-platform-profile.json" to all outgoing requests
Incorrect ES256 signature encoding Spec requires ECDSA fixed-width raw r||s, NOT ASN.1/DER format Use a compliant JWS library; validate with the conformance test suite
Not returning full object on PUT Spec mandates sending the entire resource on update, not a partial patch Return the complete checkout session object on every PUT response
Status machine violations Attempting to Complete before reaching ready_for_complete Check session status before calling /complete; handle incomplete and requires_escalation first
Missing Content-Digest header when signing Required when body is present and signing is active Compute SHA-256 of request body; include per RFC 9421
Currency decimal assumption Assuming 10000 = $100.00 for all currencies Use ISO 4217 exponents: JPY = 0, USD = 2, KWD = 3

Sandbox

No public cloud sandbox. Validation is done by running the conformance suite locally:

git clone https://github.com/Universal-Commerce-Protocol/conformance
# Configure to point at localhost:3000

The conformance suite covers: checkout lifecycle, payment credential handling, order creation, idempotency, webhooks, and input validation.

Section 8 · FAQ

Eight questions builders actually ask.

Is UCP the same as MCP?

No. MCP (by Anthropic) is a transport protocol for connecting AI models to external tools and data. UCP is a commerce standard that can use MCP as one of its transport bindings — alongside REST, A2A, and Embedded. You can implement UCP as a pure REST API with no MCP dependency. MCP handles tool invocation; UCP defines what the commerce tools do.

What is AP2 and why does it keep appearing alongside UCP?

AP2 (Agent Payments Protocol) is a cryptographic trust layer that works on top of UCP's checkout. It uses Verifiable Digital Credentials (VDCs) to cryptographically bind what the merchant offered to what the agent agreed to pay — preventing token replay attacks and price manipulation. When both parties support AP2, the checkout session becomes "Security Locked." Stripe is an endorser of the broader agentic commerce ecosystem that AP2 operates in.

Do I need Shopify to implement UCP?

No. Shopify is a co-developer of the spec, not a required platform. The spec is open source (Apache 2.0). You can implement it in any language, on any host, with no Shopify relationship. Reference implementations exist for Python and Node.js.

What is the difference between Cart and Checkout capabilities?

Cart is for pre-purchase exploration — the agent can collect items, see estimates, and save state without committing to a payment. Cart was added in the April 2026 (v2026-04-08) release and was not part of the January 2026 launch. Checkout handles the finalization path: tax, shipping, payment credential submission, and order creation.

If I only have a REST API (Spoke 5) but no UCP, what specifically breaks?

An agent using your Spoke 5 API can query products and check inventory. But it cannot: (1) create a standardized checkout session, (2) receive machine-readable tax and total calculations, (3) apply discount codes via protocol, (4) submit payment credentials in a spec-compliant way, (5) receive order confirmations and tracking via webhook. From Google AI Mode's perspective, your store is not transactable.

Can I implement only Checkout without Catalog or Cart?

Yes. UCP is composable. You declare only the capabilities you support in your /.well-known/ucp profile. A minimal implementation only needs the discovery endpoint and the five checkout-session endpoints. Platforms that discover your profile will work with whatever capabilities you've declared.

Does isitagentready.com officially validate UCP compliance?

No. isitagentready.com is a Cloudflare initiative (not an official UCP tool) that scores sites across multiple protocols including UCP, MCP, x402, ACP, and others. The official UCP conformance test is at github.com/Universal-Commerce-Protocol/conformance and runs locally against your server.

What changed between the January 2026 launch and the April 2026 spec?

The January 2026 spec covered Checkout sessions, Identity Linking, and Order webhooks — single-item sessions only. The April 8, 2026 release added Cart capability, Catalog search/lookup, request/response signing (RFC 9421), multi-parent schema support, discount extension for cart, embedded checkout enhancements, and a catalog intent field for personalization. Cart was not in the original spec.

Section 9 · The Window

The decision: build, defer, or skip.

The spec shipped January 2026. The GitHub repo has 2,966 stars. Cart operations were only added in April 2026. The conformance test suite is still new. The six original co-developers — Shopify, Etsy, Wayfair, Target, Walmart, and Google — are the largest online retailers. When Google AI Mode routes a shopping agent to merchants, UCP compliance is the binary that determines whether the agent can checkout or just browse. The tooling is already there: a Python SDK (pip install ucp-sdk), reference FastAPI and Node.js servers, and a local conformance test suite. For a solo founder with an existing product API, this is an 18–32 hour project. See the full AgentMall 30-Day Roadmap for the surrounding spokes.

More AgentMall Spokes Dropping

Get notified when the
next one drops.

New spokes and roadmaps go live every few weeks. Drop your email and we'll let you know — no pitch, no sequence, just the update.