The state of UCP
Who publishes a UCP profile across the web, read every month, and how well the stores we check follow the spec, read every day.
Every month we read about 4 million ecommerce sites with measurable shopper traffic, the same sites each month, not only the stores we check. About 3.7 million were live ecommerce sites, and the shares below are of those. A UCP profile counts when the site serves it publicly at /.well-known/ucp and it passes the official validator; a profile behind a login or a bot wall can't be counted.
UCP by traffic rank
Every ecommerce site we read in each traffic band, by what we found. The figure on the right is the band's share of live ecommerce sites with a valid public UCP profile. The biggest sites turn automated visitors away most, so the top bands' figures are the least certain
Capabilities declared
Of the about 1.2 million sites with a valid public UCP profile; a site can declare several
Spec adoption
Every capability in the 2026-08-25 release, and the share of the about 1.2 million sites with a valid public UCP profile that declare it; a site can declare several
Every site read, by result
What a request for the UCP profile found, as shares of every ecommerce site read (about 4 million). Rows marked out of the live count are left out of the about 3.7 million live ecommerce sites; the headline 31.8% is of those live sites
| Valid UCP profile | 1.2 million | 29.3% |
| No UCP profile | 2.5 million | 62.5% |
| Unreachable (DNS, certificate, server error, timeout) out of the live count | 98,000 | 2.5% |
| Turns automated visitors away out of the live count | 160,000 | 4.1% |
| Not live: closed, password, forwards, not a store out of the live count | 41,000 | 1% |
| Profile fails validation | 23,000 | 0.6% |
UCP by platform
Live ecommerce sites on each platform; publish and valid are shares of them (publish = serves a UCP profile, valid = the profile passes)
27 of the 82 platforms we identified serve a UCP profile on at least one site; on 22, at least one passes the official validator.
| Platform | Live sites | Publish | Valid | |
|---|---|---|---|---|
| 1 | WooCommerce | 880,000 | under 0.1% | under 0.1% |
| 2 | Shopify | 720,000 | 100% | 100% |
| 3 | Wix | 400,000 | 99.6% | 98.7% |
| 4 | Squarespace | 230,000 | under 0.1% | under 0.1% |
| 5 | PrestaShop | 59,000 | 0.1% | under 0.1% |
| 6 | 1C-Bitrix | 49,000 | under 0.1% | under 0.1% |
| 7 | Tiendanube | 47,000 | under 0.1% | under 0.1% |
| Platform | Live sites | Publish | Valid | |
|---|---|---|---|---|
| 8 | OpenCart | 45,000 | under 0.1% | under 0.1% |
| 9 | Square Online | 30,000 | none | none |
| 10 | Magento | 27,000 | 0.8% | 0.5% |
| 11 | Cafe24 | 18,000 | none | none |
| 12 | BigCommerce | 16,000 | 96.9% | 96.9% |
| 13 | Shoptet | 15,000 | over 99.9% | over 99.9% |
| – | Platform not identified | 1,030,000 | 0.5% | 0.2% |
HTTP answers at /.well-known/ucp
Of the about 3.7 million live ecommerce sites
Release declared
Of the about 1.2 million sites with a valid public UCP profile
CDN in front of the store
Of the about 3.7 million live ecommerce sites, behind each CDN
Bot management in front of the store
Of the about 3.7 million live ecommerce sites: what an agent meets before the profile
The stores UCP Checker checks every day: how well UCP agents can use what they publish. Not the whole market; the wider web covers that.
What we found at /.well-known/ucp
Of the stores we check
Which release
Of the stores we check with a valid profile
What the score says
Of the stores we check that we could score
What profiles declare
Share of valid profiles; a profile can declare several
AI crawlers disallowed in robots.txt
Stores we check whose robots.txt disallows each crawler
Transports declared
Of the stores we check with a valid profile; a profile can declare several
What else an agent can read
Stores with a valid profile that also serve each
MCP tools listed
Stores that declare MCP, listing each tool the spec names
Accounts and signing
Of the stores we check with a valid profile
Rules passed least often
Share passing each UCP Checker rule, of the stores it applies to; security rules are never shown
Found and usable
Each bubble is the share of stores with a valid profile at that point: across, how many of five things an agent can find (llms.txt, WebMCP, sitemap, Open Graph, Organization schema); up, how many capabilities the profile declares
The five things: llms.txt, WebMCP, a sitemap, Open Graph tags and Organization schema. Hover or tap a bubble for what it means.
Every open proposal and recent merge in the spec repo, by area and stage; the Area and Stage filters carry the counts.
| # | Change | Area | Stage | Date |
|---|---|---|---|---|
| 890 | Add purchase options extension and subscription policy | Payments | merged · planned for 2026-12-08 | 10 Nov |
| 897 | Food checkout, fulfillment and tipsThe council's first capability: dev.ucp.food.checkout, with dev.ucp.food.fulfillment and dev.ucp.food.tip. Final approval goes through the Governing Council. | Payments | needs TC review | filed 3 Oct |
| 857 | Payment Terms extension may introduce an edge case where payment can be {} on complete | Payments | proposal | filed 24 Sep |
| 1050 | Domain Working Group (DWG) Charter: Card Network Tokenization | Payments | proposal | filed 5 Nov |
| 630 | Expanding Well-Known Signals for Agent-Originated Commerce | Payments | on the TC agenda | filed 23 Jul |
| 816 | Define checkout payment finality and order reporting | Payments | open | filed 9 Sep |
| 957 | Pay by invoiceA standard instrument for invoice or bank transfer, with no charge at booking. | Payments | proposal | filed 15 Oct |
| 778 | Generic payment render artifact Action for in-session out-of-band payments | Payments | proposal | filed 27 Aug |
| 1049 | Domain Working Group (DWG) Charter: Buy Now, Pay Later (BNPL) | Payments | proposal | filed 5 Nov |
| 584 | Add payment instruments to the order capability | Payments | on the TC agenda | filed 13 Jul |
| 348 | Orders lack modification support after placement | Payments | proposal | filed 9 Apr |
| 792 | Carry token issuance context through checkout | Payments | needs TC review | filed 1 Sep |
| 905 | Define the UCP Checkout JWT so AP2 checkout-payment binding is computable | Payments | proposal | filed 7 Oct |
| 956 | SEPA Direct DebitA standard payment instrument for bank debit, including the mandate. | Payments | proposal | filed 15 Oct |
| 1025 | Cart/checkout authoritative total can be negative and still pass schema validation | Payments | proposal | filed 31 Oct |
| 994 | Define AP2 Mandates behavior for fully deferred checkout without payment instruments | Payments | proposal | filed 26 Oct |
| 691 | Add price_treatment to the price type | Payments | needs TC review | filed 6 Aug |
| 908 | Document empty payment object on complete for deferred terms | Payments | open | filed 7 Oct |
| 596 | Add 2 more well-known values (stable user ID & location) to signals for abuse prevention | Payments | on the TC agenda | filed 16 Jul |
| 916 | CP verifies payment mandate and issue payment token (PSP… | Payments | open | filed 8 Oct |
| 698 | Bind signed REST responses to their request (RFC 9421 §2.4) | Payments | proposal | filed 8 Aug |
| 540 | Mandate-evaluation extension for AP2 TTL at admission (resolves #512) | Payments | needs TC review | filed 23 Jun |
| 641 | Out-of-session payment collection — Actions on Order + per-instrument collection_status | Payments | proposal | filed 27 Jul |
| 955 | Local currency at the propertyShow charges paid at the hotel in its own currency, beside the converted amount. | Payments | proposal | filed 15 Oct |
| 837 | Add optional cause to Adjustment, recording what went wrong | Payments | open | filed 18 Sep |
Showing the 25 with the latest activity of 51. All in the spec repo ›
The wider web is our monthly market read of ecommerce sites with measurable shopper traffic; the stores we check are checked every day. Each chart says what its shares are of. Methodology → · Citing and reuse: quote any figure with credit to UCP Checker and a link to the page and month; anything more needs our permission.
