UCP implementation varies by platform. Shopify has native support. Other platforms use the UCP Proxy or custom adapters. Here is how to set up UCP on each major platform.
Shopify merchants get UCP out of the box. No code required. Shopify's Agentic Storefronts feature manages your presence across AI platforms.
In your Shopify Admin, go to Settings > Agentic Storefronts. Enable the surfaces you want to sell on:
Shopify automatically generates your /.well-known/ucp profile. Verify it:
curl -s https://your-store.myshopify.com/.well-known/ucp | jq .ucp.version
Install Shopify's UCP CLI to test your store's UCP integration:
# Install the UCP CLI
npm install -g @shopify/ucp-cli
# Search your catalog
ucp catalog search "wireless headphones" --business https://your-store.com
# Test a checkout flow
ucp checkout create --business https://your-store.com \
--item item_123 --quantity 1
Shopify handles the protocol implementation, payment handlers, and order management. You just enable the surfaces and your products are discoverable by AI agents.
WooCommerce does not have native UCP support. Use Shopify's open-source UCP Proxy as a translation layer.
git clone https://github.com/Shopify/ucp-proxy.git
cd ucp-proxy
cp .env.example .env
Edit .env with your WooCommerce store details:
PLATFORM=woocommerce
WOOCOMMERCE_URL=https://your-store.com
WOOCOMMERCE_KEY=ck_your_consumer_key
WOOCOMMERCE_SECRET=cs_your_consumer_secret
PAYMENT_HANDLER=stripe
STRIPE_SECRET_KEY=sk_live_xxx
npm install
npm start
# Proxy running on port 8080
The proxy serves the UCP profile. Point your domain's /.well-known/ucp to the proxy:
# nginx
location = /.well-known/ucp {
proxy_pass http://127.0.0.1:8080/.well-known/ucp;
proxy_set_header Host $host;
}
location /api/ucp/ {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
}
The proxy is stateless (session tokens encoded in checkout IDs, no server-side storage), per-tenant (one instance per merchant, scales to zero when idle), and multi-transport (same logic exposed via REST and MCP).
Magento has no built-in UCP support. The community module angeo/module-ucp generates a spec-compliant UCP profile. Currently in beta - handles the discovery layer only.
composer require angeo/module-ucp
php bin/magento module:enable Angeo_Ucp
php bin/magento setup:upgrade
The module generates ECDSA P-256 signing keys for your UCP profile:
php bin/magento ucp:keys:generate
# Keys stored in var/ucp/keys/
curl -s https://your-store.com/.well-known/ucp | jq .ucp.version
Version 0.1.x only handles discovery. Catalog and checkout endpoints are planned for subsequent releases. For full UCP support, consider the UCP Proxy with a Magento adapter.
Use the UCP Proxy with the Wix adapter. Requires OAuth setup and browser handoff flow configuration.
git clone https://github.com/Shopify/ucp-proxy.git
cd ucp-proxy
cp .env.example .env
Configure for Wix:
PLATFORM=wix
WIX_API_URL=https://www.wixapis.com
WIX_API_KEY=your_wix_api_key
WIX_ACCOUNT_ID=your_account_id
Wix requires a browser handoff flow for checkout. The proxy returns a continue_url that redirects to Wix's native checkout page. Make sure your agent handles this escalation correctly.
Use the UCP Proxy with a custom adapter against the BigCommerce Stores API.
In BigCommerce Admin, go to Advanced Settings > API Accounts. Create an account with:
PLATFORM=custom
CUSTOM_ADAPTER_PATH=./adapters/bigcommerce.js
BIGCOMMERCE_STORE_HASH=your_hash
BIGCOMMERCE_ACCESS_TOKEN=your_token
BIGCOMMERCE_CLIENT_ID=your_client_id
If you run a custom platform, implement UCP directly using the OpenAPI schemas as your contract.
# Clone the UCP repo
git clone https://github.com/Universal-Commerce-Protocol/ucp.git
# Key files:
# specification/overview.md - The spec
# schemas/shopping/checkout.json - Checkout schema
# services/shopping/rest.openapi.json - REST OpenAPI
At minimum, implement these REST endpoints:
GET /.well-known/ucp - Discovery profileGET /catalog - Product searchGET /products/{id} - Product detailPOST /carts - Create cartPUT /carts/{id} - Update cartPOST /checkout-sessions - Create checkoutPUT /checkout-sessions/{id} - Update checkoutPOST /checkout-sessions/{id}/complete - Complete checkoutGET /orders/{id} - Order statusUse the official JSON Schemas to validate your request/response payloads:
const Ajv = require("ajv");
const checkoutSchema = require("./schemas/shopping/checkout.json");
const ajv = new Ajv();
const validate = ajv.compile(checkoutSchema);
if (!validate(checkoutResponse)) {
console.error(validate.errors);
}
If you are building an AI agent that shops via UCP, gateway.fast provides OpenAI-compatible access to the fastest agentic models (DeepSeek, GLM, MiMo UltraSpeed) at cost + 10%. Drop-in replacement for your existing OpenAI client.