# ucp

## What is UCP?

**UCP (Universal Commerce Protocol)** is an open commerce transaction standard for AI agents from **Google**, developed in collaboration with Shopify, Etsy, Wayfair, Target, Walmart, and 20+ endorsers (including Visa, Mastercard, and Stripe). It covers the full journey: discovery → cart → checkout → order management.

## Why do you need UCP?

When an AI agent receives a task like "order delivery," it needs a standard way to complete the entire commercial scenario autonomously. UCP is broader than [x402](/glossary/x402) or [MPP](/glossary/mpp) (which handle only payment) — it standardizes the full cycle:

| Stage | What the agent does |
|-------|---------------------|
| **Discovery** | Finds the product/service through a catalog |
| **Cart** | Builds the cart, checks availability |
| **Checkout** | Places the order and payment |
| **Order management** | Tracks status, handles returns |

The protocol supports REST and JSON-RPC transports and works with agent stacks AP2/A2A/MCP. It powers checkout in Google AI Mode and Gemini. Endorsers include Shopify, Etsy, Walmart, Visa, Mastercard, and Stripe.

## How do you implement UCP?

Declare UCP support in [`ai-agent.json`](/glossary/ai-agent-json):

```json
{
  "payments": {
    "ucp": "https://api.example.com/ucp"
  }
}
```

Or via a Link header:

```http
Link: <https://api.example.com/ucp>; rel="ucp-endpoint"
```

Full integration involves implementing UCP endpoints for each stage (discovery, cart, checkout, order). Documentation: `developers.google.com/merchant/ucp`.

## How do we check UCP?

The UCP check in the scanner is **informational** (does not affect the main score). The scanner checks for protocol declaration in two ways:

1. GET `/.well-known/ai-agent.json` → `payments.ucp` field
2. HEAD `/` → Link header with `rel="ucp-endpoint"`

The actual commercial flow is not tested. If a declaration is found → `pass`, if absent → `fail`.

[← All glossary terms](/en/glossary)
