UCP for Retail
UCP is live for retail. The shopping capabilities (catalog search and lookup, cart, checkout, fulfillment, discount and order) are in the released spec, v2026-08-25, and 19,019 stores publish a valid UCP profile today.
An agent can search a store's catalog, build a cart, check out and follow the order, with the store staying merchant of record. Payments, identity, loyalty and store locations are shared with other verticals.
-
11 Jan 2026UCP announced
-
23 Jan 2026v2026-01-23
-
9 Apr 2026v2026-04-08
-
25 Aug 2026v2026-08-25 (current)
-
Dec 2026 – Jan 2027Next release (target)
01From search to order
How many verified stores declare each step. Declared is not the same as working: whether a purchase completes is what the observed agent runs on each store's status page show.
7 capabilities, one journey
dev.ucp.shopping.catalog.search18,713 · 98.4%dev.ucp.shopping.catalog.lookup18,689 · 98.3%dev.ucp.shopping.cart18,560 · 97.6%dev.ucp.shopping.checkout18,474 · 97.1%dev.ucp.shopping.fulfillment18,426 · 96.9%dev.ucp.shopping.discount10,960 · 57.6%dev.ucp.shopping.order10,948 · 57.6%02How a checkout works
A checkout moves through six statuses, the same six lodging uses. The platform makes the calls; the store sets the status and says what it needs next.
One session, step by step
{
"status": "incomplete",
"line_items": [{ "item": { "id": "…" }, "quantity": 1 }],
"totals": [{ "type": "total", "amount": 4200 }]
}
The platform opens a checkout. With the items the buyer chose. The store returns its own prices and totals, and messages saying what it still needs.
03What a checkout is made of
Select a part to see whether the spec requires it, who sets it, and what it means.
One in-flight purchase: the items, the buyer, the price and the payment, with a status that says what's needed next.
Required at the top level: id, line_items, status, currency, totals and links.
What is being bought: an item, a quantity and the store's price. Quantities can be in units, weights or volumes.
The store's answer is authoritative, including the unit it sells in.
Who is buying: name and contact details.
Identity linking, where a store supports it, lets the buyer use their store account.
Delivery or pickup, the destination and the option chosen.
An extension to checkout, declared by nearly every verified store.
What the purchase costs: subtotal, delivery, tax, discounts, and one total they add up to.
A platform may check that the parts add up to the total, and must not complete on its own if they don't.
The payment instrument, collected through a handler the store declares. The store never needs to handle raw card numbers.
Payment is shared with other verticals: terms, split payments and 3DS step-up.
What the store needs or wants to tell the buyer: errors, warnings and notices, each pointing at the field it concerns.
Error severity tells the platform whether it can fix the problem itself or must hand over to the buyer.
A link to finish on the store's own checkout.
Required whenever the status is requires_escalation.
The placed order's id and permalink, once completed.
Must not appear while the status is complete_in_progress.
04Buying by weight
Stores can sell by weight or volume, and the spec forbids silent conversion. Here an agent asks for fasteners in pounds; the store sells by the kilogram. This is the spec's own example.
The agent asks in pounds; the store sells in kilograms
Converting is allowed; converting silently is not. The line is restated in the store's own unit, and a quantity_unit_converted warning tells the agent what happened.
Or the store refuses, keeps the line as it was, and names its unit so the agent can resubmit. Either way the response is the store's own state, never an echo of what the agent asked for.
{
"status": "incomplete",
"line_items": [{ "quantity": 125,
"item": { "price": 1299,
"quantity_unit": { "unit": "KGM", "scale": 2 } } }],
"messages": [{ "type": "warning",
"code": "quantity_unit_converted",
"path": "$.line_items[0].quantity" }]
}{
"status": "incomplete",
"line_items": [{ "quantity": 150,
"item": { "price": 1299,
"quantity_unit": { "unit": "KGM", "scale": 2 } } }],
"messages": [{ "type": "error",
"code": "quantity_unit_mismatch",
"severity": "recoverable",
"path": "$.line_items[0].item.quantity_unit" }]
}05What's in the spec
Everything a retailer can build against today, and what is still under review.
| Area | Status | What it says |
|---|---|---|
| Catalog search and lookup | released | Search a store's live catalog and resolve products and variants. |
| Cart | released | Build and change a basket with the store's own prices. |
| Checkout | released | Turn a basket into an order, with fulfillment and discounts as extensions. |
| Order | released | Follow an order after purchase: status, fulfillment and adjustments. |
| Weights and measures | released | Sell by weight or volume, with no silent conversion between units. |
| Payments | released | Shared with other verticals: deferred and instalment terms, split payments, 3DS step-up. |
| Return policy | proposed | A structured return policy is proposed (#634) and not yet merged. |
| Questions to the store | proposed | A way for agents to ask the store free-form questions is proposed (#538). |
06What to do now
Publish a valid profile
Serve a conformant /.well-known/ucp on your origin so agents can discover you.
Make your catalog agent-readable
Variant mismatches are the #1 checkout failure mode — clean, resolvable variant data is essential.
Watch your latency
Agents abandon after ~2 seconds; the verified median is 156ms. Slow profiles lose carts.
07Platforms & demand surfaces
08Terms
The words this page uses, as the spec uses them.
- Checkout session
- An in-flight purchase with a status, from the first request until an order is placed or it is canceled.
- Line item
- One product in a cart or checkout, with a quantity and the store's price.
- Sale basis
- The unit a store sells an item in, such as each, kilogram or litre.
- Payment handler
- A payment method a store declares, which collects payment without the store handling raw card numbers.
- Merchant of record
- The business legally selling the goods; in UCP, always the store.
09FAQ
Is UCP live for Retail & Shopping?
Yes. Retail & Shopping is the original UCP vertical — the shopping capabilities (catalog, cart, checkout, fulfillment, discount, order) are stable in the current published spec and adopted across thousands of verified stores.
Which companies are involved in UCP for Retail & Shopping?
Named so far: Shopify, Wix, WooCommerce, BigCommerce, Magento, PrestaShop, Google Universal Cart.
What should I do now to prepare for agentic commerce in Retail & Shopping?
Get discoverable and machine-readable: publish a valid UCP profile and make sure an AI agent can actually parse and transact against your data. Being conformant before the demand wave is the whole game — run a free check at ucpchecker.com/check.
10Keep reading
Related reading
The State of Agentic Commerce — September 2026Google Universal Cart & UCPMCP vs UCP vs AP2Agentic Commerce OptimizationSources
UCP release v2026-08-25Other UCP verticals
UCP for Lodging
Draft capability merged · not yet releasedUCP's first lodging capability, dev.ucp.lodging.booking, is merged into the spec as a draft. It isn't in a release yet. Here's what it covers and what it still has to handle.
UCP for Travel
AnnouncedFlights, rail and travel distribution are agentic commerce's hardest vertical — perishable inventory and dynamically generated offers, not fixed SKUs.
UCP for Food Ordering
Technical Council formed · spec in progressUCP has a seated Food Technical Council and a phased roadmap that starts at checkout, not the menu — but no food namespace and no published schema. Here's what it still has to handle.
UCP for B2B
Community-debated · no official UCP B2B spec yetB2B isn't an officially-named UCP vertical, but it's the most-debated one. Where UCP actually fits B2B today — and the primitives the spec would have to add for the rest.
UCP for Services
Community-proposed · no official UCP services spec yetAppointments, classes, reservations and rentals sell time, not stock. UCP has no services namespace yet — but a Governing Council working group is being explored, and scheduling capabilities are already turning up in real UCP profiles.
Explore protocol data
Is your store agent-ready?
Whichever vertical you're in, the prerequisite is the same: a valid, machine-readable UCP endpoint an agent can actually transact against.
Get the agentic commerce digest every Monday
Real adoption data, ecosystem trends, new spec versions, and the stores that broke or recovered this week. Read by founders and engineers building the next generation of commerce.
