Validate your Universal Commerce Protocol manifest
Paste your /.well-known/ucp manifest JSON for instant client-side validation against the official UCP specification. Validates against all spec versions, runs entirely in your browser, no data ever leaves your device.
What We Validate
Required Fields
ucp- Protocol metadata objectucp.payment_handlers- Payment handler configurationsigning_keys- Public keys array (optional)
UCP Object Requirements
version- Date format YYYY-MM-DDservices- Service definitionscapabilities- Supported capabilities (optional)
Capability Requirements
name- Reverse-domain identifierversion- YYYY-MM-DD formatspec- Specification URLschema- JSON Schema URL
Format Rules
- Valid JSON syntax
- HTTPS required for endpoints
- Valid URL formats
- Version date format validation
Based on the UCP Specification. Browse all spec versions in the ecosystem. Want to audit the responses that endpoint returns — variants, options, availability, pricing? That's the UCP Catalog Validator.
Live Spec Versions
Version distribution across 17,308 verified merchants.
How to Validate Your UCP Manifest
Get your manifest
Fetch your UCP manifest from https://yourdomain.com/.well-known/ucp using curl, your browser, or your platform's UCP configuration dashboard. The manifest is a JSON file that declares your store's commerce capabilities to AI agents.
Paste and validate
Paste the JSON into the validator above and click Validate. Validation runs entirely client-side — your manifest data never leaves your browser. The tool checks against spec version rules matching your declared version.
Fix issues
Red items are spec violations that will cause agent failures — missing required fields, invalid version formats, or malformed structure. Yellow items are warnings that won't break agents but may limit discoverability.
Verify live
Once your manifest passes, deploy it and verify the live endpoint with the UCP Checker. The checker tests your actual HTTP response, robots.txt policies, response latency, and saves results for ecosystem tracking.
Common UCP Validation Errors and How to Fix Them
These are the most common errors and warnings we see across 21,264+ monitored domains. Each code links to the specific fix.
Fatal Errors (Validation Fails)
These prevent your store from being classified as "Verified" by agents and monitoring tools.
| Error Code | Meaning | Fix |
|---|---|---|
UCP_MISSING_ROOT |
No ucp object at the top level of the manifest |
Wrap your manifest content inside a {"ucp": { ... }} object. The ucp key is required. |
UCP_MISSING_VERSION |
The ucp.version field is missing |
Add "version": "2026-08-25" inside your ucp object. Use the spec version your implementation targets. |
UCP_INVALID_VERSION_FORMAT |
Version string doesn't match YYYY-MM-DD |
Use date format like "2026-08-25", not semver ("v1.0") or plain numbers. |
UCP_MISSING_SERVICES |
No ucp.services object declared |
Add a services block with at least one reverse-domain key (e.g. dev.ucp.shopping) containing transport, endpoint, and version. |
UCP_MISSING_PAYMENT_CONFIG |
No ucp.payment_handlers object declared |
Add a payment_handlers block with at least one handler entry including id, version, and processor configuration. |
UCP_RESPONSE_NOT_JSON |
Endpoint returned non-JSON content (HTML error page, empty body, or malformed JSON) | Ensure your /.well-known/ucp endpoint returns Content-Type: application/json with valid JSON. Check for soft 404s returning HTML with a 200 status. |
Warnings (Validation Passes)
These don't block verification but indicate opportunities to improve agent compatibility.
| Warning Code | Meaning | Recommendation |
|---|---|---|
UCP_MISSING_SIGNING_KEYS |
No signing keys for request/response verification | Add a keys array of JWK-format public keys at the root (sibling of ucp) — canonical since v2026-08-25, which replaced signing_keys. Common to omit for Shopify-managed integrations. |
UCP_UNKNOWN_VERSION |
Version string is valid but not a recognised spec release | Use a published version: 2026-01-11, 2026-01-23, 2026-04-08 or 2026-08-25. Unknown versions are validated against the latest rules. |
UCP_MISSING_CAPABILITIES |
No capabilities declared |
Add a capabilities block declaring what your store supports (checkout, cart, catalog, etc.). Optional per spec but improves agent discovery. |
UCP_SERVICE_MISSING_TRANSPORT |
Service entry has no transport field |
Add "transport": "mcp" (or rest, a2a, embedded) to each service. See supported transports. |
UCP_HANDLER_MISSING_SPEC |
Payment handler has no spec URL |
Add a spec URL pointing to the handler's specification. Recommended for discoverability; not required for v2026-04-08 business profiles. |
UCP_SERVICE_INVALID_KEY |
Service key isn't a valid reverse-domain identifier | Use reverse-domain format: dev.ucp.shopping, not shopping or UCP_Shopping. Must match ^[a-z][a-z0-9]*(\.[a-z][a-z0-9_]*)+$. |
Which AI Agents Use UCP Manifests?
Your UCP manifest is how AI shopping agents discover what your store sells, what payment methods you accept, and how to interact with your commerce APIs. These are the agents currently consuming UCP manifests:
Google AI Mode
Google's agentic commerce surface uses UCP manifests to enable shopping directly from search results. Stores without a valid manifest are invisible to AI Mode shopping.
ChatGPT / OpenAI
OpenAI's shopping agents use UCP for product discovery and checkout. GPTBot crawls /.well-known/ucp to index your store's capabilities.
Claude / Anthropic
Anthropic's Claude uses UCP via MCP transport for agentic commerce sessions. ClaudeBot indexes UCP manifests for store discovery.
Shopify Shop App
Shopify's native agent uses UCP internally for cross-store commerce. Shopify-hosted stores get UCP manifests automatically.
We track robots.txt policies for each AI bot across all monitored stores. Check your store's agent access on its status page.
UCP Validator vs. UCP Checker — Which Do I Need?
UCP Validator This tool
- Paste JSON, get instant results
- Runs client-side — data stays in your browser
- Best for: development, debugging, pre-deploy checks
- Checks: structure, fields, version rules, format
UCP Checker Go to Checker
- Enter a domain, fetches your live endpoint
- Tests real HTTP response + robots.txt policies
- Best for: production verification, monitoring, alerts
- Checks: everything the validator checks, plus latency, AI bot access, TLS, and runtime performance
Frequently Asked Questions
What is a UCP validator?
/.well-known/ucp) against the official specification. It verifies required fields like version, services, and payment_handlers are present and correctly formatted, so AI shopping agents like Google AI Mode, ChatGPT, and Claude can discover and transact with your store.Which UCP spec versions are supported?
2026-01-11, 2026-01-23, 2026-04-08 and 2026-08-25. Validation is version-aware — the correct ruleset is applied based on the version declared in your manifest. The current release left the manifest envelope unchanged and moved in the vocabulary instead: the payment constructs moved out of shopping/ and into the cross-vertical common/ group, and seven capabilities landed — 3DS payment authentication, split payments, payment terms, location search and lookup, loyalty, and shopping permalink.How do I fix UCP_MISSING_SERVICES?
services object inside your ucp block with at least one service entry. Each entry needs a reverse-domain key (e.g. dev.ucp.shopping), a transport type (rest, mcp, a2a, or embedded), and the appropriate endpoint or schema URLs for that transport.Do I need signing keys in my UCP manifest?
keys, a JWK Set (RFC 7517) at the manifest root; it replaced signing_keys, which sat at the root from v2026-04-08 and was nested inside the ucp object before that. Publishing keys also makes your profile a valid JWK Set a Web Bot Auth verifier can read. The validator accepts all three layouts and tells you which one it found.What's the difference between the Validator and the Checker?
Which AI agents use UCP manifests?
Can I validate programmatically?
/api/validator for programmatic validation, a CLI (npx ucp-check <domain>) that turns the verdict into an exit code for CI, and an MCP server at ucpchecker.com/mcp so AI agents can validate stores in real time during sessions. There's also a Chrome extension for instant validation while browsing.What happens if my manifest has warnings but no errors?
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.
