UCP · THE CHECKOUT · STAGED · STRIPE TEST KEYS NOT PLACED

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

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.

GreenCore Solutions Corp.
A2A Cosmetics → a2a-cosmetics.ai
/api
THE PAID DOOR · X402 ON EVERY HOST
§1 · THE RAIL

What Universal Commerce Protocol (UCP) is

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 capability on it can really serve. Until GreenCore'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.

§2 · HOW AN AGENT PAYS HERE

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.
§3 · THE OFFERS

Two offers

  • One metered call on the cosmetics door — $0.01 · x402 — USDC on Base mainnet · the Coinbase price floor
  • A block of 100 calls on the cosmetics door — $1.00 · the card rails, test mode, once GreenCore's Stripe test keys are placed · card processors do not take a one-cent charge
  • Product — the cosmetics door: its statement at mcp.a2a-cosmetics.ai/health.json, read at the call, never copied.
  • Machine copy — /offers.json
§4 · THE RECEIPT CONTRACT

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 a2ac-x402-receipts-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. Artificial intelligence makes mistakes. A2A Cosmetics is an information source, not a recommendation.

  • Key — /x402/jwks.json · kid a2ac-x402-receipts-2026-09 · private half held by GreenCore Solutions Corp.
  • Register — /x402/settled.json (this host, with the four-host total beside it)
§5 · THE FOUR RAILS

The other three

  • agent-x402.ai — x402
  • agent-mpp.ai — Machine Payments Protocol (MPP)
  • agent-acp.ai — Agentic Commerce Protocol (ACP)
  • Every .ai host answers all four rails; each site explains the rail it is named after.