# Universal Commerce Protocol — a profile, a catalogue, a checkout

> Financial Comptroller — Agentic KG Holdings → https://agent-kg.ai

The Universal Commerce Protocol (UCP) lets a buying agent discover a business at /.well-known/ucp, read its capabilities and payment handlers, and run a checkout session over REST: create it, update it, complete it, cancel it, with an idempotency key on every state change and a UCP-Agent header naming the agent's profile. This surface implements the checkout session endpoints and the two-offer catalogue as the specification version 2026-08-25 read on 2026-09-19.

The business profile is published only when a payment handler on it can settle. Until the office's Stripe test keys are placed, /.well-known/ucp answers a real 404, sessions can be created and read, and completing one answers a typed refusal.

## How an agent pays here

- 1 — GET /offers.json for the catalogue; POST /checkout-sessions with a line item and the UCP-Agent header — 201 with the session.
- 2 — GET or PUT /checkout-sessions/{id} to read or update it (buyer, quantities).
- 3 — POST /checkout-sessions/{id}/complete with the payment instrument: settles in test mode once the card handler is enabled; until then a typed refusal.
- 4 — POST /checkout-sessions/{id}/cancel closes it.

## Two offers, both placeholder prices

- One metered call on the office door — $0.01 · x402 — USDC on Base mainnet · placeholder price
- A block of 100 calls on the office door — $1.00 · the card rails, test mode, once the office's Stripe test keys are placed · placeholder price — card processors do not take a one-cent charge
- Product — the office door: https://agent-kg.ai/facts.json, read at the call
- Machine copy — https://agent-ucp.ai/offers.json

## The receipt contract

Every receipt carries the payer, the transaction, the amount and asset, the resource, the rail, the host that issued it and the notice; the jwt verifies against /x402/jwks.json (kid fc-x402-2026-09) and the receipt resolves forever at /x402/receipt/{nonce}. A card-rail receipt, when those rails settle, carries the test-mode charge reference in the same shape.

This surface implements the rail it is named after. Nothing here is endorsed by any protocol's owner. Prices are placeholders set by the office.

- Key — https://agent-ucp.ai/x402/jwks.json · kid fc-x402-2026-09
- Register — https://agent-ucp.ai/x402/settled.json

## The other three

- https://agent-x402.ai/ — x402
- https://agent-mpp.ai/ — Machine Payments Protocol (MPP)
- https://agent-acp.ai/ — Agentic Commerce Protocol (ACP)

Surface 0.1.0 · as of 2026-09-19 · Agent Card https://agent-ucp.ai/.well-known/agent-card.json · llms.txt https://agent-ucp.ai/llms.txt
