UCP Checker
UCP Validator

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 object
  • ucp.payment_handlers - Payment handler configuration
  • signing_keys - Public keys array (optional)

UCP Object Requirements

  • version - Date format YYYY-MM-DD
  • services - Service definitions
  • capabilities - Supported capabilities (optional)

Capability Requirements

  • name - Reverse-domain identifier
  • version - YYYY-MM-DD format
  • spec - Specification URL
  • schema - JSON Schema URL

Format Rules

  • Valid JSON syntax
  • HTTPS required for endpoints
  • Valid URL formats
  • Version date format validation

Live Spec Versions

Version distribution across 17,308 verified merchants.

How to Validate Your UCP Manifest

1

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.

2

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.

3

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.

4

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,268+ 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 CodeMeaningFix
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 CodeMeaningRecommendation
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?
A UCP validator checks your Universal Commerce Protocol manifest (hosted at /.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?
The validator supports all published spec versions: 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?
Add a 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?
They are optional but recommended — they let agents cryptographically verify that checkout responses came from you. The field has moved twice. As of v2026-08-25 the canonical field is 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?
The Validator (this page) is a client-side tool where you paste manifest JSON and get instant structural feedback. The Checker fetches your live endpoint, validates the response, checks robots.txt policies, measures latency, detects your capabilities and payment handlers, and stores the result for ongoing monitoring. Use the Validator during development; use the Checker for production.
Which AI agents use UCP manifests?
UCP manifests are consumed by AI shopping agents from Google (AI Mode, Gemini), OpenAI (ChatGPT shopping), Anthropic (Claude), and platform agents like Shopify's Shop app. Any agent that supports the Model Context Protocol (MCP) or REST transport can discover and interact with a UCP-enabled store. We track agent access policies across all monitored domains.
Can I validate programmatically?
Yes. UCPChecker provides a public API at /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?
Your store will still be classified as Verified. Warnings indicate optional improvements — missing signing keys, absent capabilities declarations, or recommended fields. Agents can still discover and transact with your store. Fix warnings to improve discoverability and compatibility across more agent types.
Weekly UCP Report

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.

Free forever No spam Unsubscribe anytime

View a sample report →

Weekly UCP Report
Issue #50 · Sep 14, 2026
+664
new verified stores
Verified rate
Latest spec
Cart capability