Merchants keep asking which protocol to bet on, as if it were VHS versus Betamax. It isn't. UCP and ACP solve different halves of the same transaction, and the platforms behind them are not waiting for a winner.
Discovery versus checkout
UCP is how an agent platform finds you: a standard surface your storefront publishes describing catalog, capabilities, pricing, and freshness. ACP is how the agent then pays you: checkout sessions, delegated payment tokens, order webhooks.
Implement only UCP and agents can browse but not buy. Implement only ACP and agents can buy — if they somehow already know you exist. The revenue is in the pair.
The smallest path to both
Start from your existing catalog. Publish a UCP surface from it (an adapter, not a rewrite), then stand up an ACP checkout that points at the same inventory. Shared product IDs are the only hard requirement; everything else is plumbing you can buy rather than build.
GET /.well-known/ucp-catalog
→ { products: [...], capabilities: ["checkout", "returns"] }
POST /checkout_sessions (ACP)
→ references the same product IDs UCP already publishedYou will implement both. The only real decision is which one you build first.
If you'd rather not build the plumbing yourself, that's what the products are: the protocol plumbing, delegated payments, webhooks, and test suites — ready to point at your stack.
Golam Mostafa builds ACP, UCP, and MCP infrastructure at saify.dev. Get every deep-dive and every product with All-Access.