Every business defines their own tools and APIs, and agents will have to do different things to accomplish the same primitive tasks like checkout, payments etc.
UCP creates a standard way for AI agents ot commerce systems to discover, search, checkout and pay
The protocol defines 2 types of participants -
- Platforms - Consumes a profile provided by the business, could be a user or agent
- Businesses - Provides the profile
Profile location - In the web root directory of the business /.well-known/ucp
Services - A category of things the business can do
eg. Shopping, Lodging (Planned), Food (Planned)
Capabilities - List of specific actions that can be added to a service
eg. checkout, payments, discounts, fulfillment etc.
Extensions - Custom functionalities not part of the core UCP protocol
eg. Loyalty programs
Protocol metadata
"services": {
"dev.ucp.shopping": [
{
"version": "2026-04-08",
"spec": "https://ucp.dev/2026-04-08/specification/overview",
"transport": "rest",
"schema": "https://ucp.dev/2026-04-08/services/shopping/rest.openapi.json",
"endpoint": "https://business.example.com/ucp/v1"
}
]
} - version - Specify the version of UCP being used
- spec - Documentation to the ucp protocol to understand how it works and behaves
- transport - Type of protocol used for connecting the platform to the business eg. REST which means use GET POST PATCH DELETE
- schema - Defines the exact payload structure, machine readable api contract used to construct request & response
- endpoint - The business url where requests are sent
Complete Journey
- Breakdown user intent by agent “Create a checkout containing 2 pairs of shoes”
- Create a checkout - Operation/Action (Protocol metadata provides context)
- 2 pairs of shoes - Business data
- Merchant has defined profile at https://shop.com/.well-known/ucp
- Agent can request GET /.well-known/ucp
- Merchant authenticates and authorizes the agent
- Merchant returns the UCP profile that defines services & capabilities
- Agent reads the schema to see what does the checkout request look like
- Agent performs checkout operation
- Agent sends the request to the endpoint using the defined transport protocol
Request example -
POST https://business.example.com/ucp/v1/checkout
Content-Type: application/json {
"items": [
{
"product_id": "shoe-123",
"quantity": 2
}
]
} Response example -
POST https://business.example.com/ucp/v1/checkout {
"checkout": {
"id": "chk_123",
"status": "incomplete",
"items": [...],
"total": 180.00
}
} Documentation - https://ucp.dev/