| hide |
|
|
|---|---|---|
| title | Universal Commerce Protocol | |
| description | The common language for platforms, agents and businesses. | |
| image | assets/banner.png |
The common language for platforms, agents and businesses.
UCP defines building blocks for agentic commerce—from discovering and buying to post purchase experiences—allowing the ecosystem to interoperate through one standard, without custom builds.
<div class="promo-card">
<h3>Learn</h3>
<p>Protocol overview, core concepts, and design principles</p>
<a href="latest/specification/overview/" class="promo-button">
Read the docs
</a>
</div>
<div class="promo-card">
<h3>Implement</h3>
<p>GitHub repo, technical spec, SDKs, and reference implementations</p>
<a href="https://github.com/Universal-Commerce-Protocol/ucp"
class="promo-button" target="_blank">
View on GitHub
</a>
</div>
<p>
UCP was built by the industry, for the industry to solve for fragmented commerce journeys that lead to abandoned carts and frustrated shoppers, and enable agentic commerce.
</p>
<div class="partners-logo-row">
<img src="assets/partner/codeveloped/Google.svg" alt="Google" class="partners-logo-img" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span class="partners-logo-fallback">Google</span>
<img src="assets/partner/codeveloped/Shopify.svg" alt="Shopify" class="partners-logo-img" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span class="partners-logo-fallback">Shopify</span>
<img src="assets/partner/codeveloped/Etsy.svg" alt="Etsy" class="partners-logo-img" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span class="partners-logo-fallback">Etsy</span>
</div>
<div class="partners-logo-row">
<img src="assets/partner/codeveloped/Wayfair.svg" alt="Wayfair" class="partners-logo-img" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span class="partners-logo-fallback">Wayfair</span>
<img src="assets/partner/codeveloped/Target.svg" alt="Target" class="partners-logo-img" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span class="partners-logo-fallback">Target</span>
<img src="assets/partner/codeveloped/Walmart.svg" alt="Walmart" class="partners-logo-img" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span class="partners-logo-fallback">Walmart</span>
</div>
Agentic commerce demands interoperability. UCP is built on industry standards — REST and JSON-RPC transports; Agent Payments Protocol (AP2), Agent2Agent (A2A), and Model Context Protocol (MCP) support built-in — so different systems can work together without custom integration.
<div class="feature-item">
<div class="feature-item-icon">
<img src="assets/Icon=Extensible.svg" alt="Scalable" width="72">
</div>
<div>
<h3>Scalable and universal</h3>
<p>
Surface-agnostic design that can scale to support any commerce entity (from small businesses to enterprise scale) and all modalities (chat, visual commerce, voice, etc).
</p>
</div>
</div>
<div class="feature-item">
<div class="feature-item-icon">
<img src="assets/Icon=Merchant_at_the_Center.svg" alt="Merchants" width="72">
</div>
<div>
<h3>Businesses at the center</h3>
<p>
Built to facilitate commerce, ensuring retailers retain control of their business rules and remain the Merchant of Record with full ownership of the customer relationship.
</p>
</div>
</div>
<div class="feature-item">
<div class="feature-item-icon">
<img src="assets/Icon=Open_Source.svg" alt="Simple" width="72">
</div>
<div>
<h3>Open and extensible</h3>
<p>
Open and extensible by design, enabling development of community-driven capabilities and extensions across verticals.
</p>
</div>
</div>
<div class="feature-item">
<div class="feature-item-icon">
<img src="assets/Icon=Secure_and_Private.svg" alt="Secure" width="72">
</div>
<div>
<h3>Secure and private</h3>
<p>
Built on proven security standards for account linking (OAuth 2.0) and secure payment (AP2) via payment mandates and verifiable credentials.
</p>
</div>
</div>
<div class="feature-item">
<div class="feature-item-icon">
<img src="assets/Icon=Frictionless_Payments.svg" alt="Frictionless" width="72">
</div>
<div>
<h3>Frictionless payments</h3>
<p>
Open wallet ecosystem with interoperability between providers to ensure buyers can pay with their preferred payment methods.
</p>
</div>
</div>
UCP is designed to facilitate the entire commerce lifecycle, from initial product discovery and search to final sale and post-purchase support. The protocol's initial launch focuses on three core capabilities: Checkout, Identity Linking, and Order Management.
<div class="carousel-content">
<div id="tab-checkout" class="tab-pane active">
<div class="pane-text">
<div class="icon-placeholder">
<img src="assets/updated-icon.svg" alt="UCP Icon">
</div>
<div class="pane-eyebrow">SEE IT IN ACTION</div>
<h3>Checkout</h3>
<p>Support complex cart logic, dynamic pricing, tax calculations, and more across millions of businesses through unified checkout sessions.</p>
<a href="latest/specification/checkout-rest/" class="learn-more-btn">Learn more</a>
</div>
<div class="pane-visuals">
<div class="image-container">
<img src="assets/checkout.png" alt="Example checkout screen with address details" class="phone-mockup" onerror="this.src='https://placehold.co/260x500/EEE/31343C?text=Checkout+UI'">
</div>
<div class="code-block-placeholder">
{
"ucp": { ... },
"id": "chk_123456789",
"status": "ready_for_complete",
"currency": "USD",
"buyer": {
"email": "e.beckett@example.com",
"first_name": "Elisa",
"last_name": "Beckett"
},
"line_items": [
{
"id": "li_1",
"item": {
"id": "item_123",
"title": "Monos Carry-On Pro suitcase",
"price": 26550
},
"quantity": 1,
...
}
],
"totals": [ ... ],
"links": [ ... ],
"payment": { ... },
"fulfillment": {
"methods": [
{
"id": "method_1",
"type": "shipping",
"line_item_ids": ["li_1"],
"selected_destination_id": "dest_1",
"destinations": [
{
"id": "dest_1",
"first_name": "Elisa",
"last_name": "Beckett",
"street_address": "1600 Amphitheatre Pkwy",
"address_locality": "Mountain View",
"address_region": "CA",
"postal_code": "94043",
"address_country": "US"
}
],
"groups": [
{
"id": "group_1",
"line_item_ids": ["li_1"],
"selected_option_id": "free-shipping",
"options": [
{
"id": "free-shipping",
"title": "Free Shipping",
"totals": [ {"type": "total", "amount": 0} ]
}
]
}
]
}
]
}
} </div>
</div>
</div>
<div id="tab-identity" class="tab-pane">
<div class="pane-text">
<div class="icon-placeholder">
<img src="assets/updated-icon.svg" alt="Universal Commerce Protocol icon">
</div>
<div class="pane-eyebrow">SEE IT IN ACTION</div>
<h3>Identity Linking</h3>
<p>OAuth 2.0 standard enables agents to maintain secure, authorized relationships without sharing credentials.</p>
<a href="latest/specification/identity-linking/" class="learn-more-btn">Learn more</a>
</div>
<div class="pane-visuals">
<div class="image-container">
<img src="assets/identity.png" alt="Example user interface for identity linking" class="phone-mockup" onerror="this.src='https://placehold.co/260x500/EEE/31343C?text=Identity+UI'">
</div>
<div class="code-block-placeholder">
Sample of /.well-known/oauth-authorization-server
{
"issuer": "https://example.com",
"authorization_endpoint": "https://example.com/oauth2/authorize",
"token_endpoint": "https://example.com/oauth2/token",
"revocation_endpoint": "https://example.com/oauth2/revoke",
"scopes_supported": [
"ucp:scopes:checkout_session",
],
"response_types_supported": [
"code"
],
"grant_types_supported": [
"authorization_code",
"refresh_token"
],
"token_endpoint_auth_methods_supported": [
"client_secret_basic"
],
"service_documentation": "https://example.com/docs/oauth2"
} </div>
</div>
</div>
<div id="tab-order" class="tab-pane">
<div class="pane-text">
<div class="icon-placeholder">
<img src="assets/updated-icon.svg" alt="UCP Icon">
</div>
<div class="pane-eyebrow">SEE IT IN ACTION</div>
<h3>Order</h3>
<p>From purchase confirmation to delivery. Real-time webhooks power status updates, shipment tracking, and return processing across every channel.</p>
<a href="latest/specification/order/" class="learn-more-btn">Learn more</a>
</div>
<div class="pane-visuals">
<div class="image-container">
<img src="assets/order.png" alt="Example user interface showing order confirmation details" class="phone-mockup" onerror="this.src='https://placehold.co/260x500/EEE/31343C?text=Order+UI'">
</div>
<div class="code-block-placeholder">
{
"ucp": { ... },
"id": "order_123456789",
"checkouts": [{ "id": "chk_123456789", "created_at": "..." }],
"permalink_url": ...,
"line_items": [ ... ],
"fulfillment": {
"expectations": [
{
"id": "exp_1",
"line_items": [{ "id": "li_1", "quantity": 1 }],
"method_type": "shipping",
"destination": {
"first_name": "Elisa",
"last_name": "Beckett",
"street_address": "1600 Amphitheatre Pkwy",
"address_locality": "Mountain View",
"address_region": "CA",
"postal_code": "94043",
"address_country": "US"
},
"description": "Arrives in 2-3 business days",
"fulfillable_on": "now"
}
...
],
"events": [
{
"id": "evt_1",
"occurred_at": "2026-01-11T10:30:00Z",
"type": "delivered",
"line_items": [{ "id": "li_1", "quantity": 1 }],
"tracking_number": "123456789",
"tracking_url": "https://fedex.com/track/123456789",
"description": "Delivered to front door"
}
]
},
"adjustments": [
{
"id": "adj_1",
"type": "refund",
"occurred_at": "2026-01-12T14:30:00Z",
"status": "completed",
"line_items": [{ "id": "li_1", "quantity": -1 }],
"totals": [{ "type": "total", "amount": -26550 }],
"description": "Defective item"
}
],
"totals": [ ... ]
} </div>
</div>
</div>
</div>
<div class="two-column-promo-item">
<div class="two-column-promo-item-icon-wrapper">
<img src="assets/native_checkout.svg" alt="Native Checkout feature icon" width="96" class="two-column-promo-item-icon">
</div>
<h3>Power native checkout</h3>
<p>
Integrate and negotiate directly with a seller's checkout API to power native UI and workflows for your platform.
</p>
<a href="latest/specification/checkout-rest/" class="promo-button">See how it works</a>
</div>
<div class="two-column-promo-item">
<div class="two-column-promo-item-icon-wrapper">
<img src="assets/embedded_checkout.svg" alt="Embedded Option feature icon" width="96" class="two-column-promo-item-icon">
</div>
<h3>Embed business checkout</h3>
<p>
Embed and render business checkout UI to support complex checkout flows, with advanced capabilities like bidirectional communication, and payment and shipping address delegation.
</p>
<a href="latest/specification/embedded-checkout/" class="promo-button">Learn more</a>
</div>
<h2>Designed for the entire commerce ecosystem</h2>
<div class="lifecycle-container-row">
<div class="lifecycle-container-item">
<div class="lifecycle-container-item-img-wrapper">
<img src="assets/Content=Developers.svg" alt="Content illustration for Developers" class="lifecycle-container-item-img">
</div>
<h3>For Developers</h3>
<p>
Build the future of commerce on an open foundation. Join our community in evolving an open-source standard designed for the next generation of digital commerce.
</p>
<a href="latest/specification/overview/" class="lifecycle-container-item-link">View the technical spec</a>
</div>
<div class="lifecycle-container-item">
<div class="lifecycle-container-item-img-wrapper">
<img src="assets/Content=Retailers.svg" alt="Content illustration for Businesses" class="lifecycle-container-item-img">
</div>
<h3>For Businesses</h3>
<p>
UCP empowers retailers to meet customers wherever they are—AI assistants, shopping agents, embedded experiences—without rebuilding your checkout for each. You remain the Merchant of Record and your business logic stays intact.
</p>
<a href="https://developers.google.com/merchant/ucp/" target="_blank" class="lifecycle-container-item-link">Integrate with UCP</a>
</div>
</div>
<div class="lifecycle-container-row">
<div class="lifecycle-container-item">
<div class="lifecycle-container-item-img-wrapper">
<img src="assets/Content=AI_Platforms.svg" alt="Content illustration for AI Platforms" class="lifecycle-container-item-img">
</div>
<h3>For AI Platforms</h3>
<p>
Simplify business onboarding with standardized APIs and provide your audience with an integrated shopping experience. Compatible with MCP, A2A, and existing agent frameworks.
</p>
<a href="documentation/core-concepts/" class="lifecycle-container-item-link">Learn more about UCP core concepts</a>
</div>
<div class="lifecycle-container-item">
<div class="lifecycle-container-item-img-wrapper">
<img src="assets/Content=Payment_Providers.svg" alt="Content illustration for Payment Providers" class="lifecycle-container-item-img">
</div>
<h3>For Payment Providers</h3>
<p>
Universal payments that are provable—every authorization backed by cryptographic proof of user consent. Open, modular payment handler design enables open interoperability and choice of payment methods.
</p>
<a href="documentation/ucp-and-ap2/" class="lifecycle-container-item-link">Learn more about UCP and AP2</a>
</div>
</div>
<div class="partner-track">
<div class="partner-logo">
<img src="assets/partner/endorsed/Adyen.svg" alt="Adyen" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Adyen</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Affirm.svg" alt="Affirm" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'" >
<span>Affirm</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Amex.svg" alt="Amex" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Amex</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Ant International.svg" alt="Ant International" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Ant International</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Best Buy.svg" alt="Best Buy" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Best Buy</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Block.svg" alt="Block" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Block</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Carrefour.svg" alt="Carrefour" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Carrefour</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/CheckoutCom.svg" alt="Checkout.com" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Chewy</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Chewy.svg" alt="Chewy" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Chewy</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Commerce.svg" alt="Commerce" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Commerce</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Fiserv.svg" alt="Fiserv" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Fiserv</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Flipkart.svg" alt="Flipkart partner company logo" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Flipkart</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Gap.svg" alt="Gap" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Gap</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Klarna.svg" alt="Klarna" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Klarna</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Kroger.svg" alt="Kroger" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Kroger</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Lowes.svg" alt="Lowe's" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Lowe's</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Macys.svg" alt="Macy's" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Macy's</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Mastercard.svg" alt="Mastercard" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Mastercard</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Paypal.svg" alt="Paypal" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Paypal</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Salesforce.svg" alt="Salesforce" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Salesforce</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Sephora.svg" alt="Sephora" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Sephora</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Shopee.svg" alt="Shopee" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Shopee</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Splitit.svg" alt="Splitit" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Splitit</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Stripe.svg" alt="Stripe" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Stripe</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Home Depot.svg" alt="The Home Depot" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>The Home Depot</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Ulta.svg" alt="Ulta" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Ulta</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Visa.svg" alt="Visa" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Visa</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Worldpay.svg" alt="Worldpay" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Worldpay</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Zalando.svg" alt="Zalando" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Zalando</span>
</div>
<!-- Duplicated the partner logos to provide a seamless infinite scroll in the carousel-->
<div class="partner-logo">
<img src="assets/partner/endorsed/Adyen.svg" alt="Adyen" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Adyen</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Affirm.svg" alt="Affirm" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'" >
<span>Affirm</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Amex.svg" alt="Amex" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Amex</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Ant International.svg" alt="Ant International" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Ant International</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Best Buy.svg" alt="Best Buy" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Best Buy</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Block.svg" alt="Block" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Block</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Carrefour.svg" alt="Carrefour" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Carrefour</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/CheckoutCom.svg" alt="Checkout.com" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Chewy</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Chewy.svg" alt="Chewy" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Chewy</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Commerce.svg" alt="Commerce" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Commerce</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Fiserv.svg" alt="Fiserv" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Fiserv</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Flipkart.svg" alt="Flipkart" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Flipkart</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Gap.svg" alt="Gap" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Gap</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Klarna.svg" alt="Klarna" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Klarna</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Kroger.svg" alt="Kroger" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Kroger</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Lowes.svg" alt="Lowe's" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Lowe's</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Macys.svg" alt="Macy's" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Macy's</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Mastercard.svg" alt="Mastercard" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Mastercard</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Paypal.svg" alt="Paypal" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Paypal</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Salesforce.svg" alt="Salesforce" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Salesforce</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Sephora.svg" alt="Sephora" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Sephora</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Shopee.svg" alt="Shopee" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Shopee</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Splitit.svg" alt="Splitit" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Splitit</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Stripe.svg" alt="Stripe" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Stripe</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Home Depot.svg" alt="The Home Depot" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>The Home Depot</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Ulta.svg" alt="Ulta" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Ulta</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Visa.svg" alt="Visa" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Visa</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Worldpay.svg" alt="Worldpay" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Worldpay</span>
</div>
<div class="partner-logo">
<img src="assets/partner/endorsed/Zalando.svg" alt="Zalando" onerror="this.style.display='none'; this.nextElementSibling.style.display='block'">
<span>Zalando</span>
</div>
</div>
<div class="get-started-container-intro">
<h2>Get started today</h2>
<p>
UCP is an open standard designed to let AI agents, apps, businesses, and payment providers interact seamlessly without needing custom, one-off integrations for every connection. We actively seek your feedback and contributions to help build the future of commerce.
</p>
<p>
The complete technical specification, documentation, and reference implementations are hosted in our public GitHub repository.
</p>
</div>
<div class="get-started-container-steps">
<div class="get-started-container-step">
<div class="get-started-container-step-icon-wrapper">
<img src="assets/Icon=Download.svg" alt="Download icon for code samples" class="get-started-container-step-icon">
</div>
<h3><a href="https://github.com/Universal-Commerce-Protocol/samples" target="_blank">Download</a></h3>
<p>Download and run our code samples</p>
</div>
<div class="get-started-container-step">
<div class="get-started-container-step-icon-wrapper">
<img src="assets/Icon=Experiment.svg" alt="Experiment" class="get-started-container-step-icon">
</div>
<h3><a href="latest/specification/playground/" target="_blank">Experiment</a></h3>
<p>Experiment with the protocol and its different agent roles</p>
</div>
<div class="get-started-container-step">
<div class="get-started-container-step-icon-wrapper">
<img src="assets/Icon=Contribute.svg" alt="Contribute" class="get-started-container-step-icon">
</div>
<h3><a href="https://github.com/Universal-Commerce-Protocol/.github/blob/main/CONTRIBUTING.md" target="_blank">Contribute</a></h3>
<p>Contribute your feedback and code to the public repository</p>
</div>
</div>
<div class="get-started-container-repo-link">
<a href="https://github.com/Universal-Commerce-Protocol/ucp" target="_blank" class="promo-button">
<svg height="24" width="24" viewBox="0 0 16 16" version="1.1" fill="currentColor">
<path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path>
</svg>
Visit the GitHub repository
</a>
</div>