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 |
|---|---|---|---|---|
| 924 | Domain Working Group (DWG) Charter: Mapping Agentic Donations to UCP | – | proposal | filed 9 Oct |
| 729 | Standardize consumer-facing fulfillment event types | – | proposal | filed 14 Aug |
| 922 | Local Services councilA Domain Tech Council for scheduling and bookings, starting from the Universal Scheduling Protocol (USP), which the Governing Council calls an initial sketch. | – | approved | filed 9 Oct |
| 947 | B2B Procurement councilA Domain Tech Council for procurement. | – | approved | filed 14 Oct |
| 682 | Domain Working Group (DWG) Charter: Bulk Product Discovery | – | approved | filed 4 Aug |
| 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 |
| 858 | A type for each kind of stayWhether property and accommodation_type get a type field (hotel room, apartment, campsite) so rules can differ by kind. | Lodging | proposal | filed 24 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 |
| 742 | Optional payer identity on the payment instrument (taxpayer document) — required by Pix/boleto and Latin American tax rules | – | proposal | filed 18 Aug |
| 1060 | Pack content and net/drained weight for Shopping catalog items | – | proposal | filed 8 Nov |
| 1047 | Account status for signed-in buyersTwo codes, account_pending and account_ineligible, for a buyer whose business account is pending or ineligible, filed as input to the charter's buyer eligibility. | – | proposal | filed 5 Nov |
| 949 | Checkout never requires ready_for_complete, and the two REST samples disagree on it | Shopping | proposal | filed 14 Oct |
| 348 | Orders lack modification support after placement | Payments | proposal | filed 9 Apr |
| 969 | Caller-dependent catalog pricing states for price-on-request | – | proposal | filed 17 Oct |
| 905 | Define the UCP Checkout JWT so AP2 checkout-payment binding is computable | Payments | proposal | filed 7 Oct |
| 1039 | Add company to postal addresses | – | proposal | filed 4 Nov |
| 1038 | Core-concepts architecture diagram labels conflict with Platform/Business terminology | – | proposal | filed 4 Nov |
| 953 | Traveler identity fieldsStandard names for date of birth, nationality, country of residence and gender on guest and booker. | Lodging | proposal | filed 15 Oct |
| 1037 | Permalink for a service start: booking/* field paths, no hold on load, and permalinks for booking-only businesses | – | proposal | filed 4 Nov |
| 1034 | Services availability: merchant-curated starts and a point check instead of the full grid | – | proposal | filed 4 Nov |
| 1036 | Services staff choice: "anyone available" as one slot, how firm the choice is, and what happens when the staff member drops out | – | proposal | filed 4 Nov |
| 1035 | Couples and small parties - one slot, one resource per guest, per-guest level, pair-only services | – | proposal | filed 4 Nov |
Showing the 25 with the latest activity of 125. 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.
