Extensions
Extensions provide optional functionality that augments core capabilities. Businesses can choose which extensions to implement based on their needs.
What are Extensions?
Unlike core capabilities which are mandatory, extensions are optional features that businesses can implement to enhance their UCP integration. Extensions allow for specialized functionality without bloating the core protocol.
Platforms and agents should gracefully handle cases where extensions are not available, falling back to alternative flows when needed.
Available Extensions
Fulfillment
dev.ucp.shopping.fulfillmentComprehensive shipping, pickup, and delivery management for physical goods.
Key Features
- Multiple fulfillment method support
- Shipping rate calculation
- Pickup location management
- Delivery time estimation
- Carrier integration
Discount
dev.ucp.shopping.discountPromotional codes, automatic discounts, and dynamic pricing support.
Key Features
- Promotional code validation
- Automatic discount application
- Tiered pricing support
- Bundle discounts
- Time-limited offers
AP2 Mandates
dev.ucp.common.ap2_mandateCryptographic authorization proofs for autonomous agent transactions.
Key Features
- Cryptographic mandate signing
- Spending limit enforcement
- Time-bound authorizations
- Revocation support
- Audit trail generation
Buyer Consent
dev.ucp.common.buyer_consentPrivacy compliance management for GDPR, CCPA, and other regulations.
Key Features
- Consent collection flows
- Preference management
- Data retention policies
- Right to erasure support
- Audit logging
Extension Declaration
Businesses declare their supported extensions in their profile alongside capabilities:
{
"capabilities": [
"dev.ucp.shopping.checkout",
"dev.ucp.shopping.order"
],
"extensions": [
"dev.ucp.shopping.fulfillment",
"dev.ucp.shopping.discount"
]
}Extension Discovery
Platforms can check for extension support before using extension-specific features:
// Check if fulfillment extension is supported
const profile = await fetch('/.well-known/ucp/business_profile.json');
const data = await profile.json();
if (data.extensions.includes('dev.ucp.shopping.fulfillment')) {
// Use fulfillment features
const methods = await getFulfillmentMethods(sessionId);
}Next Steps
Learn about each extension in detail:
- Fulfillment Extension - Shipping and delivery
- Discount Extension - Promotions and pricing
- AP2 Mandates - Agent authorization
- Buyer Consent - Privacy compliance
Ready to Get Started?
Join the waitlist for early access to UCPStore and start building with UCP.
Join Waitlist