← back

Universal Commerce Protocol

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/