{
  "slug": "universal-commerce-protocol",
  "title": "Universal Commerce Protocol (UCP): Discovery, Capabilities and Checkout for Agents",
  "description": "UCP is an open, Apache-2.0 standard for commerce interoperability between platforms and businesses: the /.well-known/ucp profile, capability naming, transport bindings, payment handlers, and how it relates to ACP, AP2, MCP and A2A.",
  "category": "Guide",
  "tags": [
    "ucp",
    "agentic-commerce",
    "protocols",
    "checkout",
    "agents",
    "ap2"
  ],
  "updated": "2026-10-15",
  "premium": false,
  "rights": {
    "access": "free",
    "license": "https://changegamer.ai/license.xml",
    "pricing": "https://changegamer.ai/api/pricing.json",
    "payment": "https://changegamer.ai/api/payment.json"
  },
  "canonical": "https://changegamer.ai/resources/universal-commerce-protocol",
  "markdown": "https://changegamer.ai/resources/universal-commerce-protocol.md",
  "outline": [
    {
      "depth": 2,
      "text": "Key facts",
      "anchor": "key-facts"
    },
    {
      "depth": 2,
      "text": "How does discovery and naming work?",
      "anchor": "how-does-discovery-and-naming-work"
    },
    {
      "depth": 2,
      "text": "How does checkout and payment work?",
      "anchor": "how-does-checkout-and-payment-work"
    },
    {
      "depth": 2,
      "text": "How does it relate to other protocols?",
      "anchor": "how-does-it-relate-to-other-protocols"
    },
    {
      "depth": 2,
      "text": "Sources",
      "anchor": "sources"
    }
  ],
  "related": [
    {
      "slug": "a2a-protocol",
      "title": "A2A Protocol (Agent2Agent): Agent Card, Operations, Task States, Bindings",
      "description": "Wire-level reference for the A2A (Agent2Agent) protocol v1.0: the Agent Card at /.well-known/agent-card.json, the 11 operations, the 8 task states, three protocol bindings, security schemes, version negotiation, and what changed from v0.3.",
      "url": "https://changegamer.ai/resources/a2a-protocol"
    },
    {
      "slug": "a2ui-protocol",
      "title": "A2UI: Google's Declarative Agent-to-UI Protocol (vs AG-UI, MCP Apps)",
      "description": "What A2UI is: the open, Apache-2.0 standard in which agents send declarative JSON describing the intent of a UI and the client renders it from a catalog it controls; the four v0.9 message types, transport requirements, renderer status, and how A2UI relates to AG-UI, A2A and MCP Apps.",
      "url": "https://changegamer.ai/resources/a2ui-protocol"
    },
    {
      "slug": "building-mcp-servers",
      "title": "Building an MCP Server",
      "description": "Implementation guide for MCP servers: architecture roles, the three server primitives, stdio vs Streamable HTTP transports, official SDKs, server lifecycle, remote-server concerns, testing with MCP Inspector, and publishing to the official registry.",
      "url": "https://changegamer.ai/resources/building-mcp-servers"
    },
    {
      "slug": "erc-8004-trustless-agents",
      "title": "ERC-8004 Trustless Agents: Identity, Reputation and Validation Registries",
      "description": "ERC-8004 Trustless Agents is a Draft Ethereum standard for discovering agents across organisations through three registries (identity, reputation, validation); what it specifies, what it cannot prove, and where it sits next to MCP, A2A and Web Bot Auth.",
      "url": "https://changegamer.ai/resources/erc-8004-trustless-agents"
    }
  ],
  "furtherReading": [
    {
      "slug": "acp-vs-ap2-vs-x402",
      "title": "ACP vs. AP2 vs. x402: Which Agent Payment Rail Should You Implement?",
      "description": "A decision framework for choosing between ACP, AP2, and x402 (plus the self-hosted 402 gate) — sorted by who your buyer actually is, what you are selling, and what is live versus waitlisted as of July 2026.",
      "url": "https://changegamer.ai/articles/acp-vs-ap2-vs-x402"
    },
    {
      "slug": "agent-checkout-vs-human-checkout",
      "title": "Agent Checkout vs. Human Checkout: Why Your Payment Flow Fails Machine Buyers",
      "description": "Why checkout built for a person watching a screen is unusable by an AI agent, and what a checkout flow that actually completes for a machine buyer looks like — 402 + API key versus native x402.",
      "url": "https://changegamer.ai/articles/agent-checkout-vs-human-checkout"
    }
  ],
  "body": "The Universal Commerce Protocol (UCP) is an open standard for interoperability between commerce entities, so agent platforms can run catalog, cart and checkout flows against businesses through one profile format. Decision rule: if you build a shopping agent or a merchant endpoint, read the business profile at `/.well-known/ucp` first; it tells you which services, capabilities, transports and payment handlers exist.\n\n## Key facts\n\n- Core capabilities listed on ucp.dev: Catalog, Cart, Checkout, Identity Linking, Order.\n- Transports: REST and JSON-RPC, with MCP and A2A support. The `transport` enum is `rest`, `mcp`, `a2a`, `embedded`.\n- Licence: Apache 2.0. Repository: https://github.com/Universal-Commerce-Protocol/ucp\n- ucp.dev lists Google, Shopify, Etsy, Amazon and others under \"Co-developed by industry leaders\"; the copyright line credits \"UCP Authors\".\n\n## How does discovery and naming work?\n\n- Businesses publish a profile at `/.well-known/ucp`. Platforms publish theirs at the URI sent in the `UCP-Agent` header.\n- Both profile types must carry `ucp.version`, `ucp.services` and `ucp.payment_handlers`; the registries must be present even when empty.\n- A service defines the API surface for a vertical; a capability is a feature within a service; an extension is an optional module that augments a capability via `extends`.\n- Capability names are `{reverse-domain}.{service}.{capability}`, e.g. `dev.ucp.shopping.checkout`. `dev.ucp.*` is reserved for the UCP governing body.\n- Entity versions are `YYYY-MM-DD` dates (e.g. `2026-08-25`); protocol version selection is separate from capability negotiation. Amounts are minor units (cents).\n\n## How does checkout and payment work?\n\n- The checkout capability exposes `create_checkout`, `update_checkout`, `complete_checkout`.\n- Payment handlers are advertised in the `payment_handlers` registry (fields include `id`, `version`, `spec`, `schema`, `available_instruments`, `config`); a business can order them with `map_order` as a non-binding preference.\n- For autonomous-agent scenarios UCP supports the Agent Payments Protocol (AP2) through the optional `dev.ucp.common.payment.ap2_mandate` extension: payment mandates and verifiable credentials, with cryptographic proof of user consent. Businesses stay Merchant of Record.\n\n## How does it relate to other protocols?\n\nUCP is a commerce-semantics layer that can ride on MCP or A2A transports (see /resources/mcp-vs-a2a, /resources/a2a-protocol) and supports AP2 through an optional mandates extension. The Agentic Commerce Protocol and AP2 are compared in /resources/agentic-payment-protocols. Caveat: versions are dated (YYYY-MM-DD); pin to a dated release rather than `latest` and check ucp.dev before depending on field names.\n\nSee also: /resources/agentic-payment-protocols, /resources/selling-to-agents, /resources/agent-wallets-x402\n\n## Sources\n\n- UCP home, fetched 2026-10-15: https://ucp.dev\n- UCP specification overview, fetched 2026-10-15: https://ucp.dev/latest/specification/overview/\n- Repository, fetched 2026-10-15: https://github.com/Universal-Commerce-Protocol/ucp",
  "sources": []
}