Skip to content

Latest commit

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AXP - Agentic Experience Protocol

The Agentic Experience Protocol (AXP) extends UCP to enable rich product experiences in agentic commerce interfaces. AXP is based on A2A (Agent-to-Agent), ACP (Agent Communication Protocol), and UCP (Universal Commerce Protocol) standards.

AXP uses the same security protocols and patterns as UCP, ensuring seamless integration and consistent security posture across both protocols.

Overview

AXP addresses three core requirements for modern agentic commerce:

  1. Product Data - Structured product information supporting complex types (variants, configurators, events, subscriptions)
  2. Quality Data - Trust signals including reviews, returns, intent information, and merchant reputation
  3. Experience Embedding - Sandboxed live experiences from merchants (3D viewers, configurators, AR)

Protocol Version

Current version: 2026-01-13

UCP Compatibility

AXP is designed to work as an addon within UCP or as a standalone protocol:

Deployment Options

ModeDiscovery EndpointDescription
UCP Addon/.well-known/ucpAXP capabilities included in UCP profile
Standalone/.well-known/axpIndependent AXP discovery
BothBoth endpointsMaximum compatibility

UCP Addon Example

{
"ucp": {
"version": "2026-01-11",
"capabilities": [
{"name": "dev.ucp.shopping.checkout", "version": "2026-01-11", ...}
]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
{"name": "dev.axp.product_data", "version": "2026-01-13", ...}
]
},
"signing_keys": [...]
}

UCP Item Compatibility

AXP products can be directly used in UCP checkout sessions:

# Get UCP-compatible item from AXP product
GET /api/axp/products/{id}/ucp-item
# Use in UCP checkout
POST /api/ucp/checkout-sessions
{
"line_items": [{
"item": { /* UCP item from AXP */ },
"quantity": 1
}]
}

Discovery

AXP profiles are discoverable at /.well-known/axp (standalone) or within /.well-known/ucp (addon mode).

# Standalone discovery
curl https://merchant.example.com/.well-known/axp
# UCP addon discovery
curl https://merchant.example.com/.well-known/ucp

Capabilities

Product Data Capabilities

CapabilityDescription
dev.axp.product_dataBase product data access
dev.axp.product_data.variantsVariant product support
dev.axp.product_data.configuratorComplex product configurators
dev.axp.product_data.eventsEvent/ticket products
dev.axp.product_data.subscriptionsSubscription products
dev.axp.product_data.bundlesProduct bundles

Quality Data Capabilities

CapabilityDescription
dev.axp.quality_dataBase quality signals
dev.axp.quality_data.reviewsProduct reviews and ratings
dev.axp.quality_data.returnsReturn statistics and reasons
dev.axp.quality_data.intentPurchase intent signals
dev.axp.quality_data.trustMerchant and product trust

Experience Embedding Capabilities

CapabilityDescription
dev.axp.experience_embeddingBase experience embedding
dev.axp.experience_embedding.viewer_3d3D product viewers
dev.axp.experience_embedding.configuratorVisual configurators
dev.axp.experience_embedding.arAugmented reality experiences
dev.axp.experience_embedding.videoInteractive video
dev.axp.experience_embedding.customCustom merchant experiences

Transports

AXP supports multiple transport protocols:

  • REST API - OpenAPI 3.1 specification (services/openapi.json)
  • MCP - Model Context Protocol for AI agents (services/openrpc.json)
  • A2A - Agent-to-Agent protocol
  • GraphQL - Query language support
  • WebSocket - Real-time updates

Schema Structure

product-protocol/
├── schemas/
│ ├── axp.json # Core protocol metadata (references UCP)
│ ├── capability.json # Capability definitions (extends UCP capabilities)
│ ├── security.json # Security schemas (UCP-compatible)
│ ├── product.json # Product schema
│ ├── quality_data.json # Quality data schema
│ ├── experience.json # Experience embedding schema
│ └── types/
│ ├── availability.json
│ ├── price.json
│ ├── variants.json
│ ├── configurator.json
│ ├── event.json
│ ├── subscription.json
│ ├── bundle.json
│ ├── digital.json
│ ├── reviews.json
│ ├── returns.json
│ ├── intent_signals.json
│ ├── merchant_trust.json
│ ├── product_trust.json
│ ├── social_proof.json
│ ├── sandbox_policy.json
│ ├── experience_entry_point.json
│ └── experience_interaction.json
├── discovery/
│ ├── profile_schema.json # Discovery profile schema
│ └── unified_profile_example.json # Example UCP+AXP unified profile
└── services/
├── service_schema.json # Service definition schema
├── openapi.json # REST API specification
└── openrpc.json # MCP/RPC specification

Product Types

AXP supports these product types:

TypeDescription
simpleBasic product with no variants
variantProduct with predefined variants (size, color)
configurableBuild-to-order with configurator
bundleProduct bundle/kit
eventEvent, ticket, workshop
subscriptionRecurring subscription
digitalDigital download/license
serviceService offering

Experience Embedding

Sandbox Security

Embedded experiences run in secure sandboxes with configurable policies:

{
"sandbox_policy": {
"isolation_level": "standard",
"permissions": {
"allow_scripts": true,
"allow_same_origin": false,
"allow_popups": false
},
"content_security_policy": {
"default_src": ["'self'"],
"script_src": ["'self'", "https://cdn.merchant.com"],
"connect_src": ["'self'", "https://api.merchant.com"]
},
"resource_limits": {
"max_memory_mb": 128,
"execution_timeout_ms": 30000
}
}
}

Entry Point Types

TypeDescription
iframeSandboxed iframe loading
web_componentCustom Element with Shadow DOM
scriptJavaScript module loading
wasmWebAssembly module

Interaction Model

Experiences communicate with the host via structured events:

Inbound Events (host → experience):

  • product_data_update - Product information changed
  • variant_selected - User selected a variant
  • locale_changed - Language/locale changed

Outbound Events (experience → host):

  • ready - Experience loaded and ready
  • configuration_changed - User modified configuration
  • add_to_cart_request - Request to add item to cart
  • view_changed - 3D view angle changed
  • ar_launch_request - Request to launch AR mode

Quality Data

Review Aggregates

{
"reviews": {
"aggregate": {
"rating": 4.3,
"count": 1247,
"rating_distribution": {
"5": 782,
"4": 312,
"3": 98,
"2": 34,
"1": 21
},
"recommendation_percentage": 94,
"verified_purchase_count": 1089
},
"aspect_ratings": [
{"aspect": "quality", "rating": 4.5},
{"aspect": "value", "rating": 4.1},
{"aspect": "durability", "rating": 4.4}
]
}
}

Return Analysis

{
"returns": {
"return_rate": {
"percentage": 8.2,
"category_comparison": "below_average",
"trend": "improving"
},
"return_reasons": [
{"reason": "wrong_size", "percentage": 45},
{"reason": "not_as_described", "percentage": 18},
{"reason": "changed_mind", "percentage": 22}
],
"size_fit_analysis": {
"fit_indicator": "runs_small",
"size_recommendation": "Order one size up"
}
}
}

Merchant Trust

{
"merchant_trust": {
"trust_score": {
"score": 94,
"tier": "gold"
},
"verification": {
"business_verified": true,
"address_verified": true
},
"performance_metrics": {
"on_time_delivery_rate": 97.3,
"resolution_rate": 99.1,
"response_time_hours": 2.4
}
}
}

API Usage

REST API

# Get product with quality data
curl https://merchant.example.com/api/axp/products/SKU123?include_quality=true
# Get product reviews
curl https://merchant.example.com/api/axp/products/SKU123/reviews?sort=helpful&limit=10
# Get configurator definition
curl https://merchant.example.com/api/axp/products/SKU123/configurator
# Calculate configuration price
curl -X POST https://merchant.example.com/api/axp/products/SKU123/configurator \
-H "Content-Type: application/json" \
-d '{"selections": {"color": "blue", "size": "medium", "engraving": "JD"}}'# Get experience definition
curl https://merchant.example.com/api/axp/experiences/EXP456

MCP (Model Context Protocol)

{
"jsonrpc": "2.0",
"method": "axp.getProduct",
"params": {
"product_id": "SKU123",
"include_quality": true,
"include_experiences": true
},
"id": 1
}
{
"jsonrpc": "2.0",
"method": "axp.calculateConfiguration",
"params": {
"product_id": "SKU123",
"selections": {
"color": "blue",
"size": "medium",
"engraving": "JD"
}
},
"id": 2
}

Integration with UCP

AXP extends UCP capabilities:

  • AXP products can be used in UCP checkout sessions
  • AXP quality data informs purchase decisions in agentic flows
  • AXP experiences can be embedded in UCP-enabled platforms
{
"ucp": {
"version": "2026-01-11",
"capabilities": ["dev.ucp.shopping.checkout"]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
"dev.axp.product_data",
"dev.axp.product_data.variants",
"dev.axp.quality_data",
"dev.axp.quality_data.reviews",
"dev.axp.experience_embedding",
"dev.axp.experience_embedding.viewer_3d"
]
}
}

Security

AXP implements the same security protocols as UCP to ensure consistent security and easy integration.

Cryptographic Standards

ComponentStandardDescription
Signing AlgorithmES256ECDSA with P-256 curve and SHA-256
Key FormatJWKJSON Web Key (RFC 7517)
Request SignaturesDetached JWSRFC 7797 detached signatures
TokensJWTStandard JSON Web Tokens

Signing Keys

AXP uses the same signing_keys format as UCP in discovery profiles:

{
"signing_keys": [
{
"kid": "merchant-key-2026-01",
"kty": "EC",
"crv": "P-256",
"x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",
"y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0",
"use": "sig",
"alg": "ES256"
}
]
}

When AXP is used as a UCP addon, the same signing keys are shared between both protocols.

Request/Response Signatures

AXP uses the same detached JWS format as UCP:

Format: base64url(header)..base64url(signature)
Header: {"alg":"ES256","typ":"JWT","kid":"key-id"}

HTTP Headers:

  • Request-Signature - Signs request body (same as UCP)
  • Response-Signature - Signs response body
  • Content-Signature - Signs experience content for integrity
  • AXP-Agent - Agent identification (same format as UCP-Agent)

Experience Content Signing

For embedded experiences, optional content signing ensures integrity:

{
"experience_signature": {
"signature": "eyJhbGciOiJFUzI1NiJ9..signature",
"content_hash": "sha256-base64url-hash",
"signed_at": "2026-01-13T12:00:00Z",
"kid": "merchant-key-2026-01"
}
}

Experience Sandboxing

  • All embedded experiences run in isolated contexts
  • Network access restricted to whitelisted domains
  • No access to parent window or cookies
  • Resource limits enforced (memory, CPU, network)
  • CSP headers strictly applied

Security Schema

See schemas/security.json for full security type definitions.

Data Privacy

  • Quality data aggregated to protect individual privacy
  • PII handling configurable per experience
  • Audit logging available for compliance

Flow Diagrams

Detailed flow diagrams for AXP integration into UCP flows can be found in docs/flow-diagrams.md:

  • Scenario 1: Product Discovery with Quality Data
  • Scenario 2: Configurable Product with Embedded Experience
  • Scenario 3: Checkout Flow with AXP-Enriched Products
  • Scenario 4: Event/Ticket Booking with Time Selection
  • Scenario 5: Subscription with Personalization
  • Scenario 6: Trust-Based Purchase Decision
  • Scenario 7: Complete E2E Flow

License

Apache License 2.0

About

AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - agentic-commerce-lab/AXP-protocol: AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products. · GitHub
Skip to content

Latest commit

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AXP - Agentic Experience Protocol

The Agentic Experience Protocol (AXP) extends UCP to enable rich product experiences in agentic commerce interfaces. AXP is based on A2A (Agent-to-Agent), ACP (Agent Communication Protocol), and UCP (Universal Commerce Protocol) standards.

AXP uses the same security protocols and patterns as UCP, ensuring seamless integration and consistent security posture across both protocols.

Overview

AXP addresses three core requirements for modern agentic commerce:

  1. Product Data - Structured product information supporting complex types (variants, configurators, events, subscriptions)
  2. Quality Data - Trust signals including reviews, returns, intent information, and merchant reputation
  3. Experience Embedding - Sandboxed live experiences from merchants (3D viewers, configurators, AR)

Protocol Version

Current version: 2026-01-13

UCP Compatibility

AXP is designed to work as an addon within UCP or as a standalone protocol:

Deployment Options

ModeDiscovery EndpointDescription
UCP Addon/.well-known/ucpAXP capabilities included in UCP profile
Standalone/.well-known/axpIndependent AXP discovery
BothBoth endpointsMaximum compatibility

UCP Addon Example

{
"ucp": {
"version": "2026-01-11",
"capabilities": [
{"name": "dev.ucp.shopping.checkout", "version": "2026-01-11", ...}
]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
{"name": "dev.axp.product_data", "version": "2026-01-13", ...}
]
},
"signing_keys": [...]
}

UCP Item Compatibility

AXP products can be directly used in UCP checkout sessions:

# Get UCP-compatible item from AXP product
GET /api/axp/products/{id}/ucp-item
# Use in UCP checkout
POST /api/ucp/checkout-sessions
{
"line_items": [{
"item": { /* UCP item from AXP */ },
"quantity": 1
}]
}

Discovery

AXP profiles are discoverable at /.well-known/axp (standalone) or within /.well-known/ucp (addon mode).

# Standalone discovery
curl https://merchant.example.com/.well-known/axp
# UCP addon discovery
curl https://merchant.example.com/.well-known/ucp

Capabilities

Product Data Capabilities

CapabilityDescription
dev.axp.product_dataBase product data access
dev.axp.product_data.variantsVariant product support
dev.axp.product_data.configuratorComplex product configurators
dev.axp.product_data.eventsEvent/ticket products
dev.axp.product_data.subscriptionsSubscription products
dev.axp.product_data.bundlesProduct bundles

Quality Data Capabilities

CapabilityDescription
dev.axp.quality_dataBase quality signals
dev.axp.quality_data.reviewsProduct reviews and ratings
dev.axp.quality_data.returnsReturn statistics and reasons
dev.axp.quality_data.intentPurchase intent signals
dev.axp.quality_data.trustMerchant and product trust

Experience Embedding Capabilities

CapabilityDescription
dev.axp.experience_embeddingBase experience embedding
dev.axp.experience_embedding.viewer_3d3D product viewers
dev.axp.experience_embedding.configuratorVisual configurators
dev.axp.experience_embedding.arAugmented reality experiences
dev.axp.experience_embedding.videoInteractive video
dev.axp.experience_embedding.customCustom merchant experiences

Transports

AXP supports multiple transport protocols:

  • REST API - OpenAPI 3.1 specification (services/openapi.json)
  • MCP - Model Context Protocol for AI agents (services/openrpc.json)
  • A2A - Agent-to-Agent protocol
  • GraphQL - Query language support
  • WebSocket - Real-time updates

Schema Structure

product-protocol/
├── schemas/
│ ├── axp.json # Core protocol metadata (references UCP)
│ ├── capability.json # Capability definitions (extends UCP capabilities)
│ ├── security.json # Security schemas (UCP-compatible)
│ ├── product.json # Product schema
│ ├── quality_data.json # Quality data schema
│ ├── experience.json # Experience embedding schema
│ └── types/
│ ├── availability.json
│ ├── price.json
│ ├── variants.json
│ ├── configurator.json
│ ├── event.json
│ ├── subscription.json
│ ├── bundle.json
│ ├── digital.json
│ ├── reviews.json
│ ├── returns.json
│ ├── intent_signals.json
│ ├── merchant_trust.json
│ ├── product_trust.json
│ ├── social_proof.json
│ ├── sandbox_policy.json
│ ├── experience_entry_point.json
│ └── experience_interaction.json
├── discovery/
│ ├── profile_schema.json # Discovery profile schema
│ └── unified_profile_example.json # Example UCP+AXP unified profile
└── services/
├── service_schema.json # Service definition schema
├── openapi.json # REST API specification
└── openrpc.json # MCP/RPC specification

Product Types

AXP supports these product types:

TypeDescription
simpleBasic product with no variants
variantProduct with predefined variants (size, color)
configurableBuild-to-order with configurator
bundleProduct bundle/kit
eventEvent, ticket, workshop
subscriptionRecurring subscription
digitalDigital download/license
serviceService offering

Experience Embedding

Sandbox Security

Embedded experiences run in secure sandboxes with configurable policies:

{
"sandbox_policy": {
"isolation_level": "standard",
"permissions": {
"allow_scripts": true,
"allow_same_origin": false,
"allow_popups": false
},
"content_security_policy": {
"default_src": ["'self'"],
"script_src": ["'self'", "https://cdn.merchant.com"],
"connect_src": ["'self'", "https://api.merchant.com"]
},
"resource_limits": {
"max_memory_mb": 128,
"execution_timeout_ms": 30000
}
}
}

Entry Point Types

TypeDescription
iframeSandboxed iframe loading
web_componentCustom Element with Shadow DOM
scriptJavaScript module loading
wasmWebAssembly module

Interaction Model

Experiences communicate with the host via structured events:

Inbound Events (host → experience):

  • product_data_update - Product information changed
  • variant_selected - User selected a variant
  • locale_changed - Language/locale changed

Outbound Events (experience → host):

  • ready - Experience loaded and ready
  • configuration_changed - User modified configuration
  • add_to_cart_request - Request to add item to cart
  • view_changed - 3D view angle changed
  • ar_launch_request - Request to launch AR mode

Quality Data

Review Aggregates

{
"reviews": {
"aggregate": {
"rating": 4.3,
"count": 1247,
"rating_distribution": {
"5": 782,
"4": 312,
"3": 98,
"2": 34,
"1": 21
},
"recommendation_percentage": 94,
"verified_purchase_count": 1089
},
"aspect_ratings": [
{"aspect": "quality", "rating": 4.5},
{"aspect": "value", "rating": 4.1},
{"aspect": "durability", "rating": 4.4}
]
}
}

Return Analysis

{
"returns": {
"return_rate": {
"percentage": 8.2,
"category_comparison": "below_average",
"trend": "improving"
},
"return_reasons": [
{"reason": "wrong_size", "percentage": 45},
{"reason": "not_as_described", "percentage": 18},
{"reason": "changed_mind", "percentage": 22}
],
"size_fit_analysis": {
"fit_indicator": "runs_small",
"size_recommendation": "Order one size up"
}
}
}

Merchant Trust

{
"merchant_trust": {
"trust_score": {
"score": 94,
"tier": "gold"
},
"verification": {
"business_verified": true,
"address_verified": true
},
"performance_metrics": {
"on_time_delivery_rate": 97.3,
"resolution_rate": 99.1,
"response_time_hours": 2.4
}
}
}

API Usage

REST API

# Get product with quality data
curl https://merchant.example.com/api/axp/products/SKU123?include_quality=true
# Get product reviews
curl https://merchant.example.com/api/axp/products/SKU123/reviews?sort=helpful&limit=10
# Get configurator definition
curl https://merchant.example.com/api/axp/products/SKU123/configurator
# Calculate configuration price
curl -X POST https://merchant.example.com/api/axp/products/SKU123/configurator \
-H "Content-Type: application/json" \
-d '{"selections": {"color": "blue", "size": "medium", "engraving": "JD"}}'# Get experience definition
curl https://merchant.example.com/api/axp/experiences/EXP456

MCP (Model Context Protocol)

{
"jsonrpc": "2.0",
"method": "axp.getProduct",
"params": {
"product_id": "SKU123",
"include_quality": true,
"include_experiences": true
},
"id": 1
}
{
"jsonrpc": "2.0",
"method": "axp.calculateConfiguration",
"params": {
"product_id": "SKU123",
"selections": {
"color": "blue",
"size": "medium",
"engraving": "JD"
}
},
"id": 2
}

Integration with UCP

AXP extends UCP capabilities:

  • AXP products can be used in UCP checkout sessions
  • AXP quality data informs purchase decisions in agentic flows
  • AXP experiences can be embedded in UCP-enabled platforms
{
"ucp": {
"version": "2026-01-11",
"capabilities": ["dev.ucp.shopping.checkout"]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
"dev.axp.product_data",
"dev.axp.product_data.variants",
"dev.axp.quality_data",
"dev.axp.quality_data.reviews",
"dev.axp.experience_embedding",
"dev.axp.experience_embedding.viewer_3d"
]
}
}

Security

AXP implements the same security protocols as UCP to ensure consistent security and easy integration.

Cryptographic Standards

ComponentStandardDescription
Signing AlgorithmES256ECDSA with P-256 curve and SHA-256
Key FormatJWKJSON Web Key (RFC 7517)
Request SignaturesDetached JWSRFC 7797 detached signatures
TokensJWTStandard JSON Web Tokens

Signing Keys

AXP uses the same signing_keys format as UCP in discovery profiles:

{
"signing_keys": [
{
"kid": "merchant-key-2026-01",
"kty": "EC",
"crv": "P-256",
"x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",
"y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0",
"use": "sig",
"alg": "ES256"
}
]
}

When AXP is used as a UCP addon, the same signing keys are shared between both protocols.

Request/Response Signatures

AXP uses the same detached JWS format as UCP:

Format: base64url(header)..base64url(signature)
Header: {"alg":"ES256","typ":"JWT","kid":"key-id"}

HTTP Headers:

  • Request-Signature - Signs request body (same as UCP)
  • Response-Signature - Signs response body
  • Content-Signature - Signs experience content for integrity
  • AXP-Agent - Agent identification (same format as UCP-Agent)

Experience Content Signing

For embedded experiences, optional content signing ensures integrity:

{
"experience_signature": {
"signature": "eyJhbGciOiJFUzI1NiJ9..signature",
"content_hash": "sha256-base64url-hash",
"signed_at": "2026-01-13T12:00:00Z",
"kid": "merchant-key-2026-01"
}
}

Experience Sandboxing

  • All embedded experiences run in isolated contexts
  • Network access restricted to whitelisted domains
  • No access to parent window or cookies
  • Resource limits enforced (memory, CPU, network)
  • CSP headers strictly applied

Security Schema

See schemas/security.json for full security type definitions.

Data Privacy

  • Quality data aggregated to protect individual privacy
  • PII handling configurable per experience
  • Audit logging available for compliance

Flow Diagrams

Detailed flow diagrams for AXP integration into UCP flows can be found in docs/flow-diagrams.md:

  • Scenario 1: Product Discovery with Quality Data
  • Scenario 2: Configurable Product with Embedded Experience
  • Scenario 3: Checkout Flow with AXP-Enriched Products
  • Scenario 4: Event/Ticket Booking with Time Selection
  • Scenario 5: Subscription with Personalization
  • Scenario 6: Trust-Based Purchase Decision
  • Scenario 7: Complete E2E Flow

License

Apache License 2.0

About

AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - agentic-commerce-lab/AXP-protocol: AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products. · GitHub
Skip to content

Latest commit

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AXP - Agentic Experience Protocol

The Agentic Experience Protocol (AXP) extends UCP to enable rich product experiences in agentic commerce interfaces. AXP is based on A2A (Agent-to-Agent), ACP (Agent Communication Protocol), and UCP (Universal Commerce Protocol) standards.

AXP uses the same security protocols and patterns as UCP, ensuring seamless integration and consistent security posture across both protocols.

Overview

AXP addresses three core requirements for modern agentic commerce:

  1. Product Data - Structured product information supporting complex types (variants, configurators, events, subscriptions)
  2. Quality Data - Trust signals including reviews, returns, intent information, and merchant reputation
  3. Experience Embedding - Sandboxed live experiences from merchants (3D viewers, configurators, AR)

Protocol Version

Current version: 2026-01-13

UCP Compatibility

AXP is designed to work as an addon within UCP or as a standalone protocol:

Deployment Options

ModeDiscovery EndpointDescription
UCP Addon/.well-known/ucpAXP capabilities included in UCP profile
Standalone/.well-known/axpIndependent AXP discovery
BothBoth endpointsMaximum compatibility

UCP Addon Example

{
"ucp": {
"version": "2026-01-11",
"capabilities": [
{"name": "dev.ucp.shopping.checkout", "version": "2026-01-11", ...}
]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
{"name": "dev.axp.product_data", "version": "2026-01-13", ...}
]
},
"signing_keys": [...]
}

UCP Item Compatibility

AXP products can be directly used in UCP checkout sessions:

# Get UCP-compatible item from AXP product
GET /api/axp/products/{id}/ucp-item
# Use in UCP checkout
POST /api/ucp/checkout-sessions
{
"line_items": [{
"item": { /* UCP item from AXP */ },
"quantity": 1
}]
}

Discovery

AXP profiles are discoverable at /.well-known/axp (standalone) or within /.well-known/ucp (addon mode).

# Standalone discovery
curl https://merchant.example.com/.well-known/axp
# UCP addon discovery
curl https://merchant.example.com/.well-known/ucp

Capabilities

Product Data Capabilities

CapabilityDescription
dev.axp.product_dataBase product data access
dev.axp.product_data.variantsVariant product support
dev.axp.product_data.configuratorComplex product configurators
dev.axp.product_data.eventsEvent/ticket products
dev.axp.product_data.subscriptionsSubscription products
dev.axp.product_data.bundlesProduct bundles

Quality Data Capabilities

CapabilityDescription
dev.axp.quality_dataBase quality signals
dev.axp.quality_data.reviewsProduct reviews and ratings
dev.axp.quality_data.returnsReturn statistics and reasons
dev.axp.quality_data.intentPurchase intent signals
dev.axp.quality_data.trustMerchant and product trust

Experience Embedding Capabilities

CapabilityDescription
dev.axp.experience_embeddingBase experience embedding
dev.axp.experience_embedding.viewer_3d3D product viewers
dev.axp.experience_embedding.configuratorVisual configurators
dev.axp.experience_embedding.arAugmented reality experiences
dev.axp.experience_embedding.videoInteractive video
dev.axp.experience_embedding.customCustom merchant experiences

Transports

AXP supports multiple transport protocols:

  • REST API - OpenAPI 3.1 specification (services/openapi.json)
  • MCP - Model Context Protocol for AI agents (services/openrpc.json)
  • A2A - Agent-to-Agent protocol
  • GraphQL - Query language support
  • WebSocket - Real-time updates

Schema Structure

product-protocol/
├── schemas/
│ ├── axp.json # Core protocol metadata (references UCP)
│ ├── capability.json # Capability definitions (extends UCP capabilities)
│ ├── security.json # Security schemas (UCP-compatible)
│ ├── product.json # Product schema
│ ├── quality_data.json # Quality data schema
│ ├── experience.json # Experience embedding schema
│ └── types/
│ ├── availability.json
│ ├── price.json
│ ├── variants.json
│ ├── configurator.json
│ ├── event.json
│ ├── subscription.json
│ ├── bundle.json
│ ├── digital.json
│ ├── reviews.json
│ ├── returns.json
│ ├── intent_signals.json
│ ├── merchant_trust.json
│ ├── product_trust.json
│ ├── social_proof.json
│ ├── sandbox_policy.json
│ ├── experience_entry_point.json
│ └── experience_interaction.json
├── discovery/
│ ├── profile_schema.json # Discovery profile schema
│ └── unified_profile_example.json # Example UCP+AXP unified profile
└── services/
├── service_schema.json # Service definition schema
├── openapi.json # REST API specification
└── openrpc.json # MCP/RPC specification

Product Types

AXP supports these product types:

TypeDescription
simpleBasic product with no variants
variantProduct with predefined variants (size, color)
configurableBuild-to-order with configurator
bundleProduct bundle/kit
eventEvent, ticket, workshop
subscriptionRecurring subscription
digitalDigital download/license
serviceService offering

Experience Embedding

Sandbox Security

Embedded experiences run in secure sandboxes with configurable policies:

{
"sandbox_policy": {
"isolation_level": "standard",
"permissions": {
"allow_scripts": true,
"allow_same_origin": false,
"allow_popups": false
},
"content_security_policy": {
"default_src": ["'self'"],
"script_src": ["'self'", "https://cdn.merchant.com"],
"connect_src": ["'self'", "https://api.merchant.com"]
},
"resource_limits": {
"max_memory_mb": 128,
"execution_timeout_ms": 30000
}
}
}

Entry Point Types

TypeDescription
iframeSandboxed iframe loading
web_componentCustom Element with Shadow DOM
scriptJavaScript module loading
wasmWebAssembly module

Interaction Model

Experiences communicate with the host via structured events:

Inbound Events (host → experience):

  • product_data_update - Product information changed
  • variant_selected - User selected a variant
  • locale_changed - Language/locale changed

Outbound Events (experience → host):

  • ready - Experience loaded and ready
  • configuration_changed - User modified configuration
  • add_to_cart_request - Request to add item to cart
  • view_changed - 3D view angle changed
  • ar_launch_request - Request to launch AR mode

Quality Data

Review Aggregates

{
"reviews": {
"aggregate": {
"rating": 4.3,
"count": 1247,
"rating_distribution": {
"5": 782,
"4": 312,
"3": 98,
"2": 34,
"1": 21
},
"recommendation_percentage": 94,
"verified_purchase_count": 1089
},
"aspect_ratings": [
{"aspect": "quality", "rating": 4.5},
{"aspect": "value", "rating": 4.1},
{"aspect": "durability", "rating": 4.4}
]
}
}

Return Analysis

{
"returns": {
"return_rate": {
"percentage": 8.2,
"category_comparison": "below_average",
"trend": "improving"
},
"return_reasons": [
{"reason": "wrong_size", "percentage": 45},
{"reason": "not_as_described", "percentage": 18},
{"reason": "changed_mind", "percentage": 22}
],
"size_fit_analysis": {
"fit_indicator": "runs_small",
"size_recommendation": "Order one size up"
}
}
}

Merchant Trust

{
"merchant_trust": {
"trust_score": {
"score": 94,
"tier": "gold"
},
"verification": {
"business_verified": true,
"address_verified": true
},
"performance_metrics": {
"on_time_delivery_rate": 97.3,
"resolution_rate": 99.1,
"response_time_hours": 2.4
}
}
}

API Usage

REST API

# Get product with quality data
curl https://merchant.example.com/api/axp/products/SKU123?include_quality=true
# Get product reviews
curl https://merchant.example.com/api/axp/products/SKU123/reviews?sort=helpful&limit=10
# Get configurator definition
curl https://merchant.example.com/api/axp/products/SKU123/configurator
# Calculate configuration price
curl -X POST https://merchant.example.com/api/axp/products/SKU123/configurator \
-H "Content-Type: application/json" \
-d '{"selections": {"color": "blue", "size": "medium", "engraving": "JD"}}'# Get experience definition
curl https://merchant.example.com/api/axp/experiences/EXP456

MCP (Model Context Protocol)

{
"jsonrpc": "2.0",
"method": "axp.getProduct",
"params": {
"product_id": "SKU123",
"include_quality": true,
"include_experiences": true
},
"id": 1
}
{
"jsonrpc": "2.0",
"method": "axp.calculateConfiguration",
"params": {
"product_id": "SKU123",
"selections": {
"color": "blue",
"size": "medium",
"engraving": "JD"
}
},
"id": 2
}

Integration with UCP

AXP extends UCP capabilities:

  • AXP products can be used in UCP checkout sessions
  • AXP quality data informs purchase decisions in agentic flows
  • AXP experiences can be embedded in UCP-enabled platforms
{
"ucp": {
"version": "2026-01-11",
"capabilities": ["dev.ucp.shopping.checkout"]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
"dev.axp.product_data",
"dev.axp.product_data.variants",
"dev.axp.quality_data",
"dev.axp.quality_data.reviews",
"dev.axp.experience_embedding",
"dev.axp.experience_embedding.viewer_3d"
]
}
}

Security

AXP implements the same security protocols as UCP to ensure consistent security and easy integration.

Cryptographic Standards

ComponentStandardDescription
Signing AlgorithmES256ECDSA with P-256 curve and SHA-256
Key FormatJWKJSON Web Key (RFC 7517)
Request SignaturesDetached JWSRFC 7797 detached signatures
TokensJWTStandard JSON Web Tokens

Signing Keys

AXP uses the same signing_keys format as UCP in discovery profiles:

{
"signing_keys": [
{
"kid": "merchant-key-2026-01",
"kty": "EC",
"crv": "P-256",
"x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",
"y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0",
"use": "sig",
"alg": "ES256"
}
]
}

When AXP is used as a UCP addon, the same signing keys are shared between both protocols.

Request/Response Signatures

AXP uses the same detached JWS format as UCP:

Format: base64url(header)..base64url(signature)
Header: {"alg":"ES256","typ":"JWT","kid":"key-id"}

HTTP Headers:

  • Request-Signature - Signs request body (same as UCP)
  • Response-Signature - Signs response body
  • Content-Signature - Signs experience content for integrity
  • AXP-Agent - Agent identification (same format as UCP-Agent)

Experience Content Signing

For embedded experiences, optional content signing ensures integrity:

{
"experience_signature": {
"signature": "eyJhbGciOiJFUzI1NiJ9..signature",
"content_hash": "sha256-base64url-hash",
"signed_at": "2026-01-13T12:00:00Z",
"kid": "merchant-key-2026-01"
}
}

Experience Sandboxing

  • All embedded experiences run in isolated contexts
  • Network access restricted to whitelisted domains
  • No access to parent window or cookies
  • Resource limits enforced (memory, CPU, network)
  • CSP headers strictly applied

Security Schema

See schemas/security.json for full security type definitions.

Data Privacy

  • Quality data aggregated to protect individual privacy
  • PII handling configurable per experience
  • Audit logging available for compliance

Flow Diagrams

Detailed flow diagrams for AXP integration into UCP flows can be found in docs/flow-diagrams.md:

  • Scenario 1: Product Discovery with Quality Data
  • Scenario 2: Configurable Product with Embedded Experience
  • Scenario 3: Checkout Flow with AXP-Enriched Products
  • Scenario 4: Event/Ticket Booking with Time Selection
  • Scenario 5: Subscription with Personalization
  • Scenario 6: Trust-Based Purchase Decision
  • Scenario 7: Complete E2E Flow

License

Apache License 2.0

About

AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - agentic-commerce-lab/AXP-protocol: AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products. · GitHub
Skip to content

Latest commit

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AXP - Agentic Experience Protocol

The Agentic Experience Protocol (AXP) extends UCP to enable rich product experiences in agentic commerce interfaces. AXP is based on A2A (Agent-to-Agent), ACP (Agent Communication Protocol), and UCP (Universal Commerce Protocol) standards.

AXP uses the same security protocols and patterns as UCP, ensuring seamless integration and consistent security posture across both protocols.

Overview

AXP addresses three core requirements for modern agentic commerce:

  1. Product Data - Structured product information supporting complex types (variants, configurators, events, subscriptions)
  2. Quality Data - Trust signals including reviews, returns, intent information, and merchant reputation
  3. Experience Embedding - Sandboxed live experiences from merchants (3D viewers, configurators, AR)

Protocol Version

Current version: 2026-01-13

UCP Compatibility

AXP is designed to work as an addon within UCP or as a standalone protocol:

Deployment Options

ModeDiscovery EndpointDescription
UCP Addon/.well-known/ucpAXP capabilities included in UCP profile
Standalone/.well-known/axpIndependent AXP discovery
BothBoth endpointsMaximum compatibility

UCP Addon Example

{
"ucp": {
"version": "2026-01-11",
"capabilities": [
{"name": "dev.ucp.shopping.checkout", "version": "2026-01-11", ...}
]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
{"name": "dev.axp.product_data", "version": "2026-01-13", ...}
]
},
"signing_keys": [...]
}

UCP Item Compatibility

AXP products can be directly used in UCP checkout sessions:

# Get UCP-compatible item from AXP product
GET /api/axp/products/{id}/ucp-item
# Use in UCP checkout
POST /api/ucp/checkout-sessions
{
"line_items": [{
"item": { /* UCP item from AXP */ },
"quantity": 1
}]
}

Discovery

AXP profiles are discoverable at /.well-known/axp (standalone) or within /.well-known/ucp (addon mode).

# Standalone discovery
curl https://merchant.example.com/.well-known/axp
# UCP addon discovery
curl https://merchant.example.com/.well-known/ucp

Capabilities

Product Data Capabilities

CapabilityDescription
dev.axp.product_dataBase product data access
dev.axp.product_data.variantsVariant product support
dev.axp.product_data.configuratorComplex product configurators
dev.axp.product_data.eventsEvent/ticket products
dev.axp.product_data.subscriptionsSubscription products
dev.axp.product_data.bundlesProduct bundles

Quality Data Capabilities

CapabilityDescription
dev.axp.quality_dataBase quality signals
dev.axp.quality_data.reviewsProduct reviews and ratings
dev.axp.quality_data.returnsReturn statistics and reasons
dev.axp.quality_data.intentPurchase intent signals
dev.axp.quality_data.trustMerchant and product trust

Experience Embedding Capabilities

CapabilityDescription
dev.axp.experience_embeddingBase experience embedding
dev.axp.experience_embedding.viewer_3d3D product viewers
dev.axp.experience_embedding.configuratorVisual configurators
dev.axp.experience_embedding.arAugmented reality experiences
dev.axp.experience_embedding.videoInteractive video
dev.axp.experience_embedding.customCustom merchant experiences

Transports

AXP supports multiple transport protocols:

  • REST API - OpenAPI 3.1 specification (services/openapi.json)
  • MCP - Model Context Protocol for AI agents (services/openrpc.json)
  • A2A - Agent-to-Agent protocol
  • GraphQL - Query language support
  • WebSocket - Real-time updates

Schema Structure

product-protocol/
├── schemas/
│ ├── axp.json # Core protocol metadata (references UCP)
│ ├── capability.json # Capability definitions (extends UCP capabilities)
│ ├── security.json # Security schemas (UCP-compatible)
│ ├── product.json # Product schema
│ ├── quality_data.json # Quality data schema
│ ├── experience.json # Experience embedding schema
│ └── types/
│ ├── availability.json
│ ├── price.json
│ ├── variants.json
│ ├── configurator.json
│ ├── event.json
│ ├── subscription.json
│ ├── bundle.json
│ ├── digital.json
│ ├── reviews.json
│ ├── returns.json
│ ├── intent_signals.json
│ ├── merchant_trust.json
│ ├── product_trust.json
│ ├── social_proof.json
│ ├── sandbox_policy.json
│ ├── experience_entry_point.json
│ └── experience_interaction.json
├── discovery/
│ ├── profile_schema.json # Discovery profile schema
│ └── unified_profile_example.json # Example UCP+AXP unified profile
└── services/
├── service_schema.json # Service definition schema
├── openapi.json # REST API specification
└── openrpc.json # MCP/RPC specification

Product Types

AXP supports these product types:

TypeDescription
simpleBasic product with no variants
variantProduct with predefined variants (size, color)
configurableBuild-to-order with configurator
bundleProduct bundle/kit
eventEvent, ticket, workshop
subscriptionRecurring subscription
digitalDigital download/license
serviceService offering

Experience Embedding

Sandbox Security

Embedded experiences run in secure sandboxes with configurable policies:

{
"sandbox_policy": {
"isolation_level": "standard",
"permissions": {
"allow_scripts": true,
"allow_same_origin": false,
"allow_popups": false
},
"content_security_policy": {
"default_src": ["'self'"],
"script_src": ["'self'", "https://cdn.merchant.com"],
"connect_src": ["'self'", "https://api.merchant.com"]
},
"resource_limits": {
"max_memory_mb": 128,
"execution_timeout_ms": 30000
}
}
}

Entry Point Types

TypeDescription
iframeSandboxed iframe loading
web_componentCustom Element with Shadow DOM
scriptJavaScript module loading
wasmWebAssembly module

Interaction Model

Experiences communicate with the host via structured events:

Inbound Events (host → experience):

  • product_data_update - Product information changed
  • variant_selected - User selected a variant
  • locale_changed - Language/locale changed

Outbound Events (experience → host):

  • ready - Experience loaded and ready
  • configuration_changed - User modified configuration
  • add_to_cart_request - Request to add item to cart
  • view_changed - 3D view angle changed
  • ar_launch_request - Request to launch AR mode

Quality Data

Review Aggregates

{
"reviews": {
"aggregate": {
"rating": 4.3,
"count": 1247,
"rating_distribution": {
"5": 782,
"4": 312,
"3": 98,
"2": 34,
"1": 21
},
"recommendation_percentage": 94,
"verified_purchase_count": 1089
},
"aspect_ratings": [
{"aspect": "quality", "rating": 4.5},
{"aspect": "value", "rating": 4.1},
{"aspect": "durability", "rating": 4.4}
]
}
}

Return Analysis

{
"returns": {
"return_rate": {
"percentage": 8.2,
"category_comparison": "below_average",
"trend": "improving"
},
"return_reasons": [
{"reason": "wrong_size", "percentage": 45},
{"reason": "not_as_described", "percentage": 18},
{"reason": "changed_mind", "percentage": 22}
],
"size_fit_analysis": {
"fit_indicator": "runs_small",
"size_recommendation": "Order one size up"
}
}
}

Merchant Trust

{
"merchant_trust": {
"trust_score": {
"score": 94,
"tier": "gold"
},
"verification": {
"business_verified": true,
"address_verified": true
},
"performance_metrics": {
"on_time_delivery_rate": 97.3,
"resolution_rate": 99.1,
"response_time_hours": 2.4
}
}
}

API Usage

REST API

# Get product with quality data
curl https://merchant.example.com/api/axp/products/SKU123?include_quality=true
# Get product reviews
curl https://merchant.example.com/api/axp/products/SKU123/reviews?sort=helpful&limit=10
# Get configurator definition
curl https://merchant.example.com/api/axp/products/SKU123/configurator
# Calculate configuration price
curl -X POST https://merchant.example.com/api/axp/products/SKU123/configurator \
-H "Content-Type: application/json" \
-d '{"selections": {"color": "blue", "size": "medium", "engraving": "JD"}}'# Get experience definition
curl https://merchant.example.com/api/axp/experiences/EXP456

MCP (Model Context Protocol)

{
"jsonrpc": "2.0",
"method": "axp.getProduct",
"params": {
"product_id": "SKU123",
"include_quality": true,
"include_experiences": true
},
"id": 1
}
{
"jsonrpc": "2.0",
"method": "axp.calculateConfiguration",
"params": {
"product_id": "SKU123",
"selections": {
"color": "blue",
"size": "medium",
"engraving": "JD"
}
},
"id": 2
}

Integration with UCP

AXP extends UCP capabilities:

  • AXP products can be used in UCP checkout sessions
  • AXP quality data informs purchase decisions in agentic flows
  • AXP experiences can be embedded in UCP-enabled platforms
{
"ucp": {
"version": "2026-01-11",
"capabilities": ["dev.ucp.shopping.checkout"]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
"dev.axp.product_data",
"dev.axp.product_data.variants",
"dev.axp.quality_data",
"dev.axp.quality_data.reviews",
"dev.axp.experience_embedding",
"dev.axp.experience_embedding.viewer_3d"
]
}
}

Security

AXP implements the same security protocols as UCP to ensure consistent security and easy integration.

Cryptographic Standards

ComponentStandardDescription
Signing AlgorithmES256ECDSA with P-256 curve and SHA-256
Key FormatJWKJSON Web Key (RFC 7517)
Request SignaturesDetached JWSRFC 7797 detached signatures
TokensJWTStandard JSON Web Tokens

Signing Keys

AXP uses the same signing_keys format as UCP in discovery profiles:

{
"signing_keys": [
{
"kid": "merchant-key-2026-01",
"kty": "EC",
"crv": "P-256",
"x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",
"y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0",
"use": "sig",
"alg": "ES256"
}
]
}

When AXP is used as a UCP addon, the same signing keys are shared between both protocols.

Request/Response Signatures

AXP uses the same detached JWS format as UCP:

Format: base64url(header)..base64url(signature)
Header: {"alg":"ES256","typ":"JWT","kid":"key-id"}

HTTP Headers:

  • Request-Signature - Signs request body (same as UCP)
  • Response-Signature - Signs response body
  • Content-Signature - Signs experience content for integrity
  • AXP-Agent - Agent identification (same format as UCP-Agent)

Experience Content Signing

For embedded experiences, optional content signing ensures integrity:

{
"experience_signature": {
"signature": "eyJhbGciOiJFUzI1NiJ9..signature",
"content_hash": "sha256-base64url-hash",
"signed_at": "2026-01-13T12:00:00Z",
"kid": "merchant-key-2026-01"
}
}

Experience Sandboxing

  • All embedded experiences run in isolated contexts
  • Network access restricted to whitelisted domains
  • No access to parent window or cookies
  • Resource limits enforced (memory, CPU, network)
  • CSP headers strictly applied

Security Schema

See schemas/security.json for full security type definitions.

Data Privacy

  • Quality data aggregated to protect individual privacy
  • PII handling configurable per experience
  • Audit logging available for compliance

Flow Diagrams

Detailed flow diagrams for AXP integration into UCP flows can be found in docs/flow-diagrams.md:

  • Scenario 1: Product Discovery with Quality Data
  • Scenario 2: Configurable Product with Embedded Experience
  • Scenario 3: Checkout Flow with AXP-Enriched Products
  • Scenario 4: Event/Ticket Booking with Time Selection
  • Scenario 5: Subscription with Personalization
  • Scenario 6: Trust-Based Purchase Decision
  • Scenario 7: Complete E2E Flow

License

Apache License 2.0

About

AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - agentic-commerce-lab/AXP-protocol: AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products. · GitHub
Skip to content

Latest commit

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AXP - Agentic Experience Protocol

The Agentic Experience Protocol (AXP) extends UCP to enable rich product experiences in agentic commerce interfaces. AXP is based on A2A (Agent-to-Agent), ACP (Agent Communication Protocol), and UCP (Universal Commerce Protocol) standards.

AXP uses the same security protocols and patterns as UCP, ensuring seamless integration and consistent security posture across both protocols.

Overview

AXP addresses three core requirements for modern agentic commerce:

  1. Product Data - Structured product information supporting complex types (variants, configurators, events, subscriptions)
  2. Quality Data - Trust signals including reviews, returns, intent information, and merchant reputation
  3. Experience Embedding - Sandboxed live experiences from merchants (3D viewers, configurators, AR)

Protocol Version

Current version: 2026-01-13

UCP Compatibility

AXP is designed to work as an addon within UCP or as a standalone protocol:

Deployment Options

ModeDiscovery EndpointDescription
UCP Addon/.well-known/ucpAXP capabilities included in UCP profile
Standalone/.well-known/axpIndependent AXP discovery
BothBoth endpointsMaximum compatibility

UCP Addon Example

{
"ucp": {
"version": "2026-01-11",
"capabilities": [
{"name": "dev.ucp.shopping.checkout", "version": "2026-01-11", ...}
]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
{"name": "dev.axp.product_data", "version": "2026-01-13", ...}
]
},
"signing_keys": [...]
}

UCP Item Compatibility

AXP products can be directly used in UCP checkout sessions:

# Get UCP-compatible item from AXP product
GET /api/axp/products/{id}/ucp-item
# Use in UCP checkout
POST /api/ucp/checkout-sessions
{
"line_items": [{
"item": { /* UCP item from AXP */ },
"quantity": 1
}]
}

Discovery

AXP profiles are discoverable at /.well-known/axp (standalone) or within /.well-known/ucp (addon mode).

# Standalone discovery
curl https://merchant.example.com/.well-known/axp
# UCP addon discovery
curl https://merchant.example.com/.well-known/ucp

Capabilities

Product Data Capabilities

CapabilityDescription
dev.axp.product_dataBase product data access
dev.axp.product_data.variantsVariant product support
dev.axp.product_data.configuratorComplex product configurators
dev.axp.product_data.eventsEvent/ticket products
dev.axp.product_data.subscriptionsSubscription products
dev.axp.product_data.bundlesProduct bundles

Quality Data Capabilities

CapabilityDescription
dev.axp.quality_dataBase quality signals
dev.axp.quality_data.reviewsProduct reviews and ratings
dev.axp.quality_data.returnsReturn statistics and reasons
dev.axp.quality_data.intentPurchase intent signals
dev.axp.quality_data.trustMerchant and product trust

Experience Embedding Capabilities

CapabilityDescription
dev.axp.experience_embeddingBase experience embedding
dev.axp.experience_embedding.viewer_3d3D product viewers
dev.axp.experience_embedding.configuratorVisual configurators
dev.axp.experience_embedding.arAugmented reality experiences
dev.axp.experience_embedding.videoInteractive video
dev.axp.experience_embedding.customCustom merchant experiences

Transports

AXP supports multiple transport protocols:

  • REST API - OpenAPI 3.1 specification (services/openapi.json)
  • MCP - Model Context Protocol for AI agents (services/openrpc.json)
  • A2A - Agent-to-Agent protocol
  • GraphQL - Query language support
  • WebSocket - Real-time updates

Schema Structure

product-protocol/
├── schemas/
│ ├── axp.json # Core protocol metadata (references UCP)
│ ├── capability.json # Capability definitions (extends UCP capabilities)
│ ├── security.json # Security schemas (UCP-compatible)
│ ├── product.json # Product schema
│ ├── quality_data.json # Quality data schema
│ ├── experience.json # Experience embedding schema
│ └── types/
│ ├── availability.json
│ ├── price.json
│ ├── variants.json
│ ├── configurator.json
│ ├── event.json
│ ├── subscription.json
│ ├── bundle.json
│ ├── digital.json
│ ├── reviews.json
│ ├── returns.json
│ ├── intent_signals.json
│ ├── merchant_trust.json
│ ├── product_trust.json
│ ├── social_proof.json
│ ├── sandbox_policy.json
│ ├── experience_entry_point.json
│ └── experience_interaction.json
├── discovery/
│ ├── profile_schema.json # Discovery profile schema
│ └── unified_profile_example.json # Example UCP+AXP unified profile
└── services/
├── service_schema.json # Service definition schema
├── openapi.json # REST API specification
└── openrpc.json # MCP/RPC specification

Product Types

AXP supports these product types:

TypeDescription
simpleBasic product with no variants
variantProduct with predefined variants (size, color)
configurableBuild-to-order with configurator
bundleProduct bundle/kit
eventEvent, ticket, workshop
subscriptionRecurring subscription
digitalDigital download/license
serviceService offering

Experience Embedding

Sandbox Security

Embedded experiences run in secure sandboxes with configurable policies:

{
"sandbox_policy": {
"isolation_level": "standard",
"permissions": {
"allow_scripts": true,
"allow_same_origin": false,
"allow_popups": false
},
"content_security_policy": {
"default_src": ["'self'"],
"script_src": ["'self'", "https://cdn.merchant.com"],
"connect_src": ["'self'", "https://api.merchant.com"]
},
"resource_limits": {
"max_memory_mb": 128,
"execution_timeout_ms": 30000
}
}
}

Entry Point Types

TypeDescription
iframeSandboxed iframe loading
web_componentCustom Element with Shadow DOM
scriptJavaScript module loading
wasmWebAssembly module

Interaction Model

Experiences communicate with the host via structured events:

Inbound Events (host → experience):

  • product_data_update - Product information changed
  • variant_selected - User selected a variant
  • locale_changed - Language/locale changed

Outbound Events (experience → host):

  • ready - Experience loaded and ready
  • configuration_changed - User modified configuration
  • add_to_cart_request - Request to add item to cart
  • view_changed - 3D view angle changed
  • ar_launch_request - Request to launch AR mode

Quality Data

Review Aggregates

{
"reviews": {
"aggregate": {
"rating": 4.3,
"count": 1247,
"rating_distribution": {
"5": 782,
"4": 312,
"3": 98,
"2": 34,
"1": 21
},
"recommendation_percentage": 94,
"verified_purchase_count": 1089
},
"aspect_ratings": [
{"aspect": "quality", "rating": 4.5},
{"aspect": "value", "rating": 4.1},
{"aspect": "durability", "rating": 4.4}
]
}
}

Return Analysis

{
"returns": {
"return_rate": {
"percentage": 8.2,
"category_comparison": "below_average",
"trend": "improving"
},
"return_reasons": [
{"reason": "wrong_size", "percentage": 45},
{"reason": "not_as_described", "percentage": 18},
{"reason": "changed_mind", "percentage": 22}
],
"size_fit_analysis": {
"fit_indicator": "runs_small",
"size_recommendation": "Order one size up"
}
}
}

Merchant Trust

{
"merchant_trust": {
"trust_score": {
"score": 94,
"tier": "gold"
},
"verification": {
"business_verified": true,
"address_verified": true
},
"performance_metrics": {
"on_time_delivery_rate": 97.3,
"resolution_rate": 99.1,
"response_time_hours": 2.4
}
}
}

API Usage

REST API

# Get product with quality data
curl https://merchant.example.com/api/axp/products/SKU123?include_quality=true
# Get product reviews
curl https://merchant.example.com/api/axp/products/SKU123/reviews?sort=helpful&limit=10
# Get configurator definition
curl https://merchant.example.com/api/axp/products/SKU123/configurator
# Calculate configuration price
curl -X POST https://merchant.example.com/api/axp/products/SKU123/configurator \
-H "Content-Type: application/json" \
-d '{"selections": {"color": "blue", "size": "medium", "engraving": "JD"}}'# Get experience definition
curl https://merchant.example.com/api/axp/experiences/EXP456

MCP (Model Context Protocol)

{
"jsonrpc": "2.0",
"method": "axp.getProduct",
"params": {
"product_id": "SKU123",
"include_quality": true,
"include_experiences": true
},
"id": 1
}
{
"jsonrpc": "2.0",
"method": "axp.calculateConfiguration",
"params": {
"product_id": "SKU123",
"selections": {
"color": "blue",
"size": "medium",
"engraving": "JD"
}
},
"id": 2
}

Integration with UCP

AXP extends UCP capabilities:

  • AXP products can be used in UCP checkout sessions
  • AXP quality data informs purchase decisions in agentic flows
  • AXP experiences can be embedded in UCP-enabled platforms
{
"ucp": {
"version": "2026-01-11",
"capabilities": ["dev.ucp.shopping.checkout"]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
"dev.axp.product_data",
"dev.axp.product_data.variants",
"dev.axp.quality_data",
"dev.axp.quality_data.reviews",
"dev.axp.experience_embedding",
"dev.axp.experience_embedding.viewer_3d"
]
}
}

Security

AXP implements the same security protocols as UCP to ensure consistent security and easy integration.

Cryptographic Standards

ComponentStandardDescription
Signing AlgorithmES256ECDSA with P-256 curve and SHA-256
Key FormatJWKJSON Web Key (RFC 7517)
Request SignaturesDetached JWSRFC 7797 detached signatures
TokensJWTStandard JSON Web Tokens

Signing Keys

AXP uses the same signing_keys format as UCP in discovery profiles:

{
"signing_keys": [
{
"kid": "merchant-key-2026-01",
"kty": "EC",
"crv": "P-256",
"x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",
"y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0",
"use": "sig",
"alg": "ES256"
}
]
}

When AXP is used as a UCP addon, the same signing keys are shared between both protocols.

Request/Response Signatures

AXP uses the same detached JWS format as UCP:

Format: base64url(header)..base64url(signature)
Header: {"alg":"ES256","typ":"JWT","kid":"key-id"}

HTTP Headers:

  • Request-Signature - Signs request body (same as UCP)
  • Response-Signature - Signs response body
  • Content-Signature - Signs experience content for integrity
  • AXP-Agent - Agent identification (same format as UCP-Agent)

Experience Content Signing

For embedded experiences, optional content signing ensures integrity:

{
"experience_signature": {
"signature": "eyJhbGciOiJFUzI1NiJ9..signature",
"content_hash": "sha256-base64url-hash",
"signed_at": "2026-01-13T12:00:00Z",
"kid": "merchant-key-2026-01"
}
}

Experience Sandboxing

  • All embedded experiences run in isolated contexts
  • Network access restricted to whitelisted domains
  • No access to parent window or cookies
  • Resource limits enforced (memory, CPU, network)
  • CSP headers strictly applied

Security Schema

See schemas/security.json for full security type definitions.

Data Privacy

  • Quality data aggregated to protect individual privacy
  • PII handling configurable per experience
  • Audit logging available for compliance

Flow Diagrams

Detailed flow diagrams for AXP integration into UCP flows can be found in docs/flow-diagrams.md:

  • Scenario 1: Product Discovery with Quality Data
  • Scenario 2: Configurable Product with Embedded Experience
  • Scenario 3: Checkout Flow with AXP-Enriched Products
  • Scenario 4: Event/Ticket Booking with Time Selection
  • Scenario 5: Subscription with Personalization
  • Scenario 6: Trust-Based Purchase Decision
  • Scenario 7: Complete E2E Flow

License

Apache License 2.0

About

AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - agentic-commerce-lab/AXP-protocol: AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products. · GitHub
Skip to content

Latest commit

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AXP - Agentic Experience Protocol

The Agentic Experience Protocol (AXP) extends UCP to enable rich product experiences in agentic commerce interfaces. AXP is based on A2A (Agent-to-Agent), ACP (Agent Communication Protocol), and UCP (Universal Commerce Protocol) standards.

AXP uses the same security protocols and patterns as UCP, ensuring seamless integration and consistent security posture across both protocols.

Overview

AXP addresses three core requirements for modern agentic commerce:

  1. Product Data - Structured product information supporting complex types (variants, configurators, events, subscriptions)
  2. Quality Data - Trust signals including reviews, returns, intent information, and merchant reputation
  3. Experience Embedding - Sandboxed live experiences from merchants (3D viewers, configurators, AR)

Protocol Version

Current version: 2026-01-13

UCP Compatibility

AXP is designed to work as an addon within UCP or as a standalone protocol:

Deployment Options

ModeDiscovery EndpointDescription
UCP Addon/.well-known/ucpAXP capabilities included in UCP profile
Standalone/.well-known/axpIndependent AXP discovery
BothBoth endpointsMaximum compatibility

UCP Addon Example

{
"ucp": {
"version": "2026-01-11",
"capabilities": [
{"name": "dev.ucp.shopping.checkout", "version": "2026-01-11", ...}
]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
{"name": "dev.axp.product_data", "version": "2026-01-13", ...}
]
},
"signing_keys": [...]
}

UCP Item Compatibility

AXP products can be directly used in UCP checkout sessions:

# Get UCP-compatible item from AXP product
GET /api/axp/products/{id}/ucp-item
# Use in UCP checkout
POST /api/ucp/checkout-sessions
{
"line_items": [{
"item": { /* UCP item from AXP */ },
"quantity": 1
}]
}

Discovery

AXP profiles are discoverable at /.well-known/axp (standalone) or within /.well-known/ucp (addon mode).

# Standalone discovery
curl https://merchant.example.com/.well-known/axp
# UCP addon discovery
curl https://merchant.example.com/.well-known/ucp

Capabilities

Product Data Capabilities

CapabilityDescription
dev.axp.product_dataBase product data access
dev.axp.product_data.variantsVariant product support
dev.axp.product_data.configuratorComplex product configurators
dev.axp.product_data.eventsEvent/ticket products
dev.axp.product_data.subscriptionsSubscription products
dev.axp.product_data.bundlesProduct bundles

Quality Data Capabilities

CapabilityDescription
dev.axp.quality_dataBase quality signals
dev.axp.quality_data.reviewsProduct reviews and ratings
dev.axp.quality_data.returnsReturn statistics and reasons
dev.axp.quality_data.intentPurchase intent signals
dev.axp.quality_data.trustMerchant and product trust

Experience Embedding Capabilities

CapabilityDescription
dev.axp.experience_embeddingBase experience embedding
dev.axp.experience_embedding.viewer_3d3D product viewers
dev.axp.experience_embedding.configuratorVisual configurators
dev.axp.experience_embedding.arAugmented reality experiences
dev.axp.experience_embedding.videoInteractive video
dev.axp.experience_embedding.customCustom merchant experiences

Transports

AXP supports multiple transport protocols:

  • REST API - OpenAPI 3.1 specification (services/openapi.json)
  • MCP - Model Context Protocol for AI agents (services/openrpc.json)
  • A2A - Agent-to-Agent protocol
  • GraphQL - Query language support
  • WebSocket - Real-time updates

Schema Structure

product-protocol/
├── schemas/
│ ├── axp.json # Core protocol metadata (references UCP)
│ ├── capability.json # Capability definitions (extends UCP capabilities)
│ ├── security.json # Security schemas (UCP-compatible)
│ ├── product.json # Product schema
│ ├── quality_data.json # Quality data schema
│ ├── experience.json # Experience embedding schema
│ └── types/
│ ├── availability.json
│ ├── price.json
│ ├── variants.json
│ ├── configurator.json
│ ├── event.json
│ ├── subscription.json
│ ├── bundle.json
│ ├── digital.json
│ ├── reviews.json
│ ├── returns.json
│ ├── intent_signals.json
│ ├── merchant_trust.json
│ ├── product_trust.json
│ ├── social_proof.json
│ ├── sandbox_policy.json
│ ├── experience_entry_point.json
│ └── experience_interaction.json
├── discovery/
│ ├── profile_schema.json # Discovery profile schema
│ └── unified_profile_example.json # Example UCP+AXP unified profile
└── services/
├── service_schema.json # Service definition schema
├── openapi.json # REST API specification
└── openrpc.json # MCP/RPC specification

Product Types

AXP supports these product types:

TypeDescription
simpleBasic product with no variants
variantProduct with predefined variants (size, color)
configurableBuild-to-order with configurator
bundleProduct bundle/kit
eventEvent, ticket, workshop
subscriptionRecurring subscription
digitalDigital download/license
serviceService offering

Experience Embedding

Sandbox Security

Embedded experiences run in secure sandboxes with configurable policies:

{
"sandbox_policy": {
"isolation_level": "standard",
"permissions": {
"allow_scripts": true,
"allow_same_origin": false,
"allow_popups": false
},
"content_security_policy": {
"default_src": ["'self'"],
"script_src": ["'self'", "https://cdn.merchant.com"],
"connect_src": ["'self'", "https://api.merchant.com"]
},
"resource_limits": {
"max_memory_mb": 128,
"execution_timeout_ms": 30000
}
}
}

Entry Point Types

TypeDescription
iframeSandboxed iframe loading
web_componentCustom Element with Shadow DOM
scriptJavaScript module loading
wasmWebAssembly module

Interaction Model

Experiences communicate with the host via structured events:

Inbound Events (host → experience):

  • product_data_update - Product information changed
  • variant_selected - User selected a variant
  • locale_changed - Language/locale changed

Outbound Events (experience → host):

  • ready - Experience loaded and ready
  • configuration_changed - User modified configuration
  • add_to_cart_request - Request to add item to cart
  • view_changed - 3D view angle changed
  • ar_launch_request - Request to launch AR mode

Quality Data

Review Aggregates

{
"reviews": {
"aggregate": {
"rating": 4.3,
"count": 1247,
"rating_distribution": {
"5": 782,
"4": 312,
"3": 98,
"2": 34,
"1": 21
},
"recommendation_percentage": 94,
"verified_purchase_count": 1089
},
"aspect_ratings": [
{"aspect": "quality", "rating": 4.5},
{"aspect": "value", "rating": 4.1},
{"aspect": "durability", "rating": 4.4}
]
}
}

Return Analysis

{
"returns": {
"return_rate": {
"percentage": 8.2,
"category_comparison": "below_average",
"trend": "improving"
},
"return_reasons": [
{"reason": "wrong_size", "percentage": 45},
{"reason": "not_as_described", "percentage": 18},
{"reason": "changed_mind", "percentage": 22}
],
"size_fit_analysis": {
"fit_indicator": "runs_small",
"size_recommendation": "Order one size up"
}
}
}

Merchant Trust

{
"merchant_trust": {
"trust_score": {
"score": 94,
"tier": "gold"
},
"verification": {
"business_verified": true,
"address_verified": true
},
"performance_metrics": {
"on_time_delivery_rate": 97.3,
"resolution_rate": 99.1,
"response_time_hours": 2.4
}
}
}

API Usage

REST API

# Get product with quality data
curl https://merchant.example.com/api/axp/products/SKU123?include_quality=true
# Get product reviews
curl https://merchant.example.com/api/axp/products/SKU123/reviews?sort=helpful&limit=10
# Get configurator definition
curl https://merchant.example.com/api/axp/products/SKU123/configurator
# Calculate configuration price
curl -X POST https://merchant.example.com/api/axp/products/SKU123/configurator \
-H "Content-Type: application/json" \
-d '{"selections": {"color": "blue", "size": "medium", "engraving": "JD"}}'# Get experience definition
curl https://merchant.example.com/api/axp/experiences/EXP456

MCP (Model Context Protocol)

{
"jsonrpc": "2.0",
"method": "axp.getProduct",
"params": {
"product_id": "SKU123",
"include_quality": true,
"include_experiences": true
},
"id": 1
}
{
"jsonrpc": "2.0",
"method": "axp.calculateConfiguration",
"params": {
"product_id": "SKU123",
"selections": {
"color": "blue",
"size": "medium",
"engraving": "JD"
}
},
"id": 2
}

Integration with UCP

AXP extends UCP capabilities:

  • AXP products can be used in UCP checkout sessions
  • AXP quality data informs purchase decisions in agentic flows
  • AXP experiences can be embedded in UCP-enabled platforms
{
"ucp": {
"version": "2026-01-11",
"capabilities": ["dev.ucp.shopping.checkout"]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
"dev.axp.product_data",
"dev.axp.product_data.variants",
"dev.axp.quality_data",
"dev.axp.quality_data.reviews",
"dev.axp.experience_embedding",
"dev.axp.experience_embedding.viewer_3d"
]
}
}

Security

AXP implements the same security protocols as UCP to ensure consistent security and easy integration.

Cryptographic Standards

ComponentStandardDescription
Signing AlgorithmES256ECDSA with P-256 curve and SHA-256
Key FormatJWKJSON Web Key (RFC 7517)
Request SignaturesDetached JWSRFC 7797 detached signatures
TokensJWTStandard JSON Web Tokens

Signing Keys

AXP uses the same signing_keys format as UCP in discovery profiles:

{
"signing_keys": [
{
"kid": "merchant-key-2026-01",
"kty": "EC",
"crv": "P-256",
"x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",
"y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0",
"use": "sig",
"alg": "ES256"
}
]
}

When AXP is used as a UCP addon, the same signing keys are shared between both protocols.

Request/Response Signatures

AXP uses the same detached JWS format as UCP:

Format: base64url(header)..base64url(signature)
Header: {"alg":"ES256","typ":"JWT","kid":"key-id"}

HTTP Headers:

  • Request-Signature - Signs request body (same as UCP)
  • Response-Signature - Signs response body
  • Content-Signature - Signs experience content for integrity
  • AXP-Agent - Agent identification (same format as UCP-Agent)

Experience Content Signing

For embedded experiences, optional content signing ensures integrity:

{
"experience_signature": {
"signature": "eyJhbGciOiJFUzI1NiJ9..signature",
"content_hash": "sha256-base64url-hash",
"signed_at": "2026-01-13T12:00:00Z",
"kid": "merchant-key-2026-01"
}
}

Experience Sandboxing

  • All embedded experiences run in isolated contexts
  • Network access restricted to whitelisted domains
  • No access to parent window or cookies
  • Resource limits enforced (memory, CPU, network)
  • CSP headers strictly applied

Security Schema

See schemas/security.json for full security type definitions.

Data Privacy

  • Quality data aggregated to protect individual privacy
  • PII handling configurable per experience
  • Audit logging available for compliance

Flow Diagrams

Detailed flow diagrams for AXP integration into UCP flows can be found in docs/flow-diagrams.md:

  • Scenario 1: Product Discovery with Quality Data
  • Scenario 2: Configurable Product with Embedded Experience
  • Scenario 3: Checkout Flow with AXP-Enriched Products
  • Scenario 4: Event/Ticket Booking with Time Selection
  • Scenario 5: Subscription with Personalization
  • Scenario 6: Trust-Based Purchase Decision
  • Scenario 7: Complete E2E Flow

License

Apache License 2.0

About

AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - agentic-commerce-lab/AXP-protocol: AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products. · GitHub
Skip to content

Latest commit

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AXP - Agentic Experience Protocol

The Agentic Experience Protocol (AXP) extends UCP to enable rich product experiences in agentic commerce interfaces. AXP is based on A2A (Agent-to-Agent), ACP (Agent Communication Protocol), and UCP (Universal Commerce Protocol) standards.

AXP uses the same security protocols and patterns as UCP, ensuring seamless integration and consistent security posture across both protocols.

Overview

AXP addresses three core requirements for modern agentic commerce:

  1. Product Data - Structured product information supporting complex types (variants, configurators, events, subscriptions)
  2. Quality Data - Trust signals including reviews, returns, intent information, and merchant reputation
  3. Experience Embedding - Sandboxed live experiences from merchants (3D viewers, configurators, AR)

Protocol Version

Current version: 2026-01-13

UCP Compatibility

AXP is designed to work as an addon within UCP or as a standalone protocol:

Deployment Options

ModeDiscovery EndpointDescription
UCP Addon/.well-known/ucpAXP capabilities included in UCP profile
Standalone/.well-known/axpIndependent AXP discovery
BothBoth endpointsMaximum compatibility

UCP Addon Example

{
"ucp": {
"version": "2026-01-11",
"capabilities": [
{"name": "dev.ucp.shopping.checkout", "version": "2026-01-11", ...}
]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
{"name": "dev.axp.product_data", "version": "2026-01-13", ...}
]
},
"signing_keys": [...]
}

UCP Item Compatibility

AXP products can be directly used in UCP checkout sessions:

# Get UCP-compatible item from AXP product
GET /api/axp/products/{id}/ucp-item
# Use in UCP checkout
POST /api/ucp/checkout-sessions
{
"line_items": [{
"item": { /* UCP item from AXP */ },
"quantity": 1
}]
}

Discovery

AXP profiles are discoverable at /.well-known/axp (standalone) or within /.well-known/ucp (addon mode).

# Standalone discovery
curl https://merchant.example.com/.well-known/axp
# UCP addon discovery
curl https://merchant.example.com/.well-known/ucp

Capabilities

Product Data Capabilities

CapabilityDescription
dev.axp.product_dataBase product data access
dev.axp.product_data.variantsVariant product support
dev.axp.product_data.configuratorComplex product configurators
dev.axp.product_data.eventsEvent/ticket products
dev.axp.product_data.subscriptionsSubscription products
dev.axp.product_data.bundlesProduct bundles

Quality Data Capabilities

CapabilityDescription
dev.axp.quality_dataBase quality signals
dev.axp.quality_data.reviewsProduct reviews and ratings
dev.axp.quality_data.returnsReturn statistics and reasons
dev.axp.quality_data.intentPurchase intent signals
dev.axp.quality_data.trustMerchant and product trust

Experience Embedding Capabilities

CapabilityDescription
dev.axp.experience_embeddingBase experience embedding
dev.axp.experience_embedding.viewer_3d3D product viewers
dev.axp.experience_embedding.configuratorVisual configurators
dev.axp.experience_embedding.arAugmented reality experiences
dev.axp.experience_embedding.videoInteractive video
dev.axp.experience_embedding.customCustom merchant experiences

Transports

AXP supports multiple transport protocols:

  • REST API - OpenAPI 3.1 specification (services/openapi.json)
  • MCP - Model Context Protocol for AI agents (services/openrpc.json)
  • A2A - Agent-to-Agent protocol
  • GraphQL - Query language support
  • WebSocket - Real-time updates

Schema Structure

product-protocol/
├── schemas/
│ ├── axp.json # Core protocol metadata (references UCP)
│ ├── capability.json # Capability definitions (extends UCP capabilities)
│ ├── security.json # Security schemas (UCP-compatible)
│ ├── product.json # Product schema
│ ├── quality_data.json # Quality data schema
│ ├── experience.json # Experience embedding schema
│ └── types/
│ ├── availability.json
│ ├── price.json
│ ├── variants.json
│ ├── configurator.json
│ ├── event.json
│ ├── subscription.json
│ ├── bundle.json
│ ├── digital.json
│ ├── reviews.json
│ ├── returns.json
│ ├── intent_signals.json
│ ├── merchant_trust.json
│ ├── product_trust.json
│ ├── social_proof.json
│ ├── sandbox_policy.json
│ ├── experience_entry_point.json
│ └── experience_interaction.json
├── discovery/
│ ├── profile_schema.json # Discovery profile schema
│ └── unified_profile_example.json # Example UCP+AXP unified profile
└── services/
├── service_schema.json # Service definition schema
├── openapi.json # REST API specification
└── openrpc.json # MCP/RPC specification

Product Types

AXP supports these product types:

TypeDescription
simpleBasic product with no variants
variantProduct with predefined variants (size, color)
configurableBuild-to-order with configurator
bundleProduct bundle/kit
eventEvent, ticket, workshop
subscriptionRecurring subscription
digitalDigital download/license
serviceService offering

Experience Embedding

Sandbox Security

Embedded experiences run in secure sandboxes with configurable policies:

{
"sandbox_policy": {
"isolation_level": "standard",
"permissions": {
"allow_scripts": true,
"allow_same_origin": false,
"allow_popups": false
},
"content_security_policy": {
"default_src": ["'self'"],
"script_src": ["'self'", "https://cdn.merchant.com"],
"connect_src": ["'self'", "https://api.merchant.com"]
},
"resource_limits": {
"max_memory_mb": 128,
"execution_timeout_ms": 30000
}
}
}

Entry Point Types

TypeDescription
iframeSandboxed iframe loading
web_componentCustom Element with Shadow DOM
scriptJavaScript module loading
wasmWebAssembly module

Interaction Model

Experiences communicate with the host via structured events:

Inbound Events (host → experience):

  • product_data_update - Product information changed
  • variant_selected - User selected a variant
  • locale_changed - Language/locale changed

Outbound Events (experience → host):

  • ready - Experience loaded and ready
  • configuration_changed - User modified configuration
  • add_to_cart_request - Request to add item to cart
  • view_changed - 3D view angle changed
  • ar_launch_request - Request to launch AR mode

Quality Data

Review Aggregates

{
"reviews": {
"aggregate": {
"rating": 4.3,
"count": 1247,
"rating_distribution": {
"5": 782,
"4": 312,
"3": 98,
"2": 34,
"1": 21
},
"recommendation_percentage": 94,
"verified_purchase_count": 1089
},
"aspect_ratings": [
{"aspect": "quality", "rating": 4.5},
{"aspect": "value", "rating": 4.1},
{"aspect": "durability", "rating": 4.4}
]
}
}

Return Analysis

{
"returns": {
"return_rate": {
"percentage": 8.2,
"category_comparison": "below_average",
"trend": "improving"
},
"return_reasons": [
{"reason": "wrong_size", "percentage": 45},
{"reason": "not_as_described", "percentage": 18},
{"reason": "changed_mind", "percentage": 22}
],
"size_fit_analysis": {
"fit_indicator": "runs_small",
"size_recommendation": "Order one size up"
}
}
}

Merchant Trust

{
"merchant_trust": {
"trust_score": {
"score": 94,
"tier": "gold"
},
"verification": {
"business_verified": true,
"address_verified": true
},
"performance_metrics": {
"on_time_delivery_rate": 97.3,
"resolution_rate": 99.1,
"response_time_hours": 2.4
}
}
}

API Usage

REST API

# Get product with quality data
curl https://merchant.example.com/api/axp/products/SKU123?include_quality=true
# Get product reviews
curl https://merchant.example.com/api/axp/products/SKU123/reviews?sort=helpful&limit=10
# Get configurator definition
curl https://merchant.example.com/api/axp/products/SKU123/configurator
# Calculate configuration price
curl -X POST https://merchant.example.com/api/axp/products/SKU123/configurator \
-H "Content-Type: application/json" \
-d '{"selections": {"color": "blue", "size": "medium", "engraving": "JD"}}'# Get experience definition
curl https://merchant.example.com/api/axp/experiences/EXP456

MCP (Model Context Protocol)

{
"jsonrpc": "2.0",
"method": "axp.getProduct",
"params": {
"product_id": "SKU123",
"include_quality": true,
"include_experiences": true
},
"id": 1
}
{
"jsonrpc": "2.0",
"method": "axp.calculateConfiguration",
"params": {
"product_id": "SKU123",
"selections": {
"color": "blue",
"size": "medium",
"engraving": "JD"
}
},
"id": 2
}

Integration with UCP

AXP extends UCP capabilities:

  • AXP products can be used in UCP checkout sessions
  • AXP quality data informs purchase decisions in agentic flows
  • AXP experiences can be embedded in UCP-enabled platforms
{
"ucp": {
"version": "2026-01-11",
"capabilities": ["dev.ucp.shopping.checkout"]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
"dev.axp.product_data",
"dev.axp.product_data.variants",
"dev.axp.quality_data",
"dev.axp.quality_data.reviews",
"dev.axp.experience_embedding",
"dev.axp.experience_embedding.viewer_3d"
]
}
}

Security

AXP implements the same security protocols as UCP to ensure consistent security and easy integration.

Cryptographic Standards

ComponentStandardDescription
Signing AlgorithmES256ECDSA with P-256 curve and SHA-256
Key FormatJWKJSON Web Key (RFC 7517)
Request SignaturesDetached JWSRFC 7797 detached signatures
TokensJWTStandard JSON Web Tokens

Signing Keys

AXP uses the same signing_keys format as UCP in discovery profiles:

{
"signing_keys": [
{
"kid": "merchant-key-2026-01",
"kty": "EC",
"crv": "P-256",
"x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",
"y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0",
"use": "sig",
"alg": "ES256"
}
]
}

When AXP is used as a UCP addon, the same signing keys are shared between both protocols.

Request/Response Signatures

AXP uses the same detached JWS format as UCP:

Format: base64url(header)..base64url(signature)
Header: {"alg":"ES256","typ":"JWT","kid":"key-id"}

HTTP Headers:

  • Request-Signature - Signs request body (same as UCP)
  • Response-Signature - Signs response body
  • Content-Signature - Signs experience content for integrity
  • AXP-Agent - Agent identification (same format as UCP-Agent)

Experience Content Signing

For embedded experiences, optional content signing ensures integrity:

{
"experience_signature": {
"signature": "eyJhbGciOiJFUzI1NiJ9..signature",
"content_hash": "sha256-base64url-hash",
"signed_at": "2026-01-13T12:00:00Z",
"kid": "merchant-key-2026-01"
}
}

Experience Sandboxing

  • All embedded experiences run in isolated contexts
  • Network access restricted to whitelisted domains
  • No access to parent window or cookies
  • Resource limits enforced (memory, CPU, network)
  • CSP headers strictly applied

Security Schema

See schemas/security.json for full security type definitions.

Data Privacy

  • Quality data aggregated to protect individual privacy
  • PII handling configurable per experience
  • Audit logging available for compliance

Flow Diagrams

Detailed flow diagrams for AXP integration into UCP flows can be found in docs/flow-diagrams.md:

  • Scenario 1: Product Discovery with Quality Data
  • Scenario 2: Configurable Product with Embedded Experience
  • Scenario 3: Checkout Flow with AXP-Enriched Products
  • Scenario 4: Event/Ticket Booking with Time Selection
  • Scenario 5: Subscription with Personalization
  • Scenario 6: Trust-Based Purchase Decision
  • Scenario 7: Complete E2E Flow

License

Apache License 2.0

About

AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - agentic-commerce-lab/AXP-protocol: AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products. · GitHub
Skip to content

Latest commit

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

AXP - Agentic Experience Protocol

The Agentic Experience Protocol (AXP) extends UCP to enable rich product experiences in agentic commerce interfaces. AXP is based on A2A (Agent-to-Agent), ACP (Agent Communication Protocol), and UCP (Universal Commerce Protocol) standards.

AXP uses the same security protocols and patterns as UCP, ensuring seamless integration and consistent security posture across both protocols.

Overview

AXP addresses three core requirements for modern agentic commerce:

  1. Product Data - Structured product information supporting complex types (variants, configurators, events, subscriptions)
  2. Quality Data - Trust signals including reviews, returns, intent information, and merchant reputation
  3. Experience Embedding - Sandboxed live experiences from merchants (3D viewers, configurators, AR)

Protocol Version

Current version: 2026-01-13

UCP Compatibility

AXP is designed to work as an addon within UCP or as a standalone protocol:

Deployment Options

ModeDiscovery EndpointDescription
UCP Addon/.well-known/ucpAXP capabilities included in UCP profile
Standalone/.well-known/axpIndependent AXP discovery
BothBoth endpointsMaximum compatibility

UCP Addon Example

{
"ucp": {
"version": "2026-01-11",
"capabilities": [
{"name": "dev.ucp.shopping.checkout", "version": "2026-01-11", ...}
]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
{"name": "dev.axp.product_data", "version": "2026-01-13", ...}
]
},
"signing_keys": [...]
}

UCP Item Compatibility

AXP products can be directly used in UCP checkout sessions:

# Get UCP-compatible item from AXP product
GET /api/axp/products/{id}/ucp-item
# Use in UCP checkout
POST /api/ucp/checkout-sessions
{
"line_items": [{
"item": { /* UCP item from AXP */ },
"quantity": 1
}]
}

Discovery

AXP profiles are discoverable at /.well-known/axp (standalone) or within /.well-known/ucp (addon mode).

# Standalone discovery
curl https://merchant.example.com/.well-known/axp
# UCP addon discovery
curl https://merchant.example.com/.well-known/ucp

Capabilities

Product Data Capabilities

CapabilityDescription
dev.axp.product_dataBase product data access
dev.axp.product_data.variantsVariant product support
dev.axp.product_data.configuratorComplex product configurators
dev.axp.product_data.eventsEvent/ticket products
dev.axp.product_data.subscriptionsSubscription products
dev.axp.product_data.bundlesProduct bundles

Quality Data Capabilities

CapabilityDescription
dev.axp.quality_dataBase quality signals
dev.axp.quality_data.reviewsProduct reviews and ratings
dev.axp.quality_data.returnsReturn statistics and reasons
dev.axp.quality_data.intentPurchase intent signals
dev.axp.quality_data.trustMerchant and product trust

Experience Embedding Capabilities

CapabilityDescription
dev.axp.experience_embeddingBase experience embedding
dev.axp.experience_embedding.viewer_3d3D product viewers
dev.axp.experience_embedding.configuratorVisual configurators
dev.axp.experience_embedding.arAugmented reality experiences
dev.axp.experience_embedding.videoInteractive video
dev.axp.experience_embedding.customCustom merchant experiences

Transports

AXP supports multiple transport protocols:

  • REST API - OpenAPI 3.1 specification (services/openapi.json)
  • MCP - Model Context Protocol for AI agents (services/openrpc.json)
  • A2A - Agent-to-Agent protocol
  • GraphQL - Query language support
  • WebSocket - Real-time updates

Schema Structure

product-protocol/
├── schemas/
│ ├── axp.json # Core protocol metadata (references UCP)
│ ├── capability.json # Capability definitions (extends UCP capabilities)
│ ├── security.json # Security schemas (UCP-compatible)
│ ├── product.json # Product schema
│ ├── quality_data.json # Quality data schema
│ ├── experience.json # Experience embedding schema
│ └── types/
│ ├── availability.json
│ ├── price.json
│ ├── variants.json
│ ├── configurator.json
│ ├── event.json
│ ├── subscription.json
│ ├── bundle.json
│ ├── digital.json
│ ├── reviews.json
│ ├── returns.json
│ ├── intent_signals.json
│ ├── merchant_trust.json
│ ├── product_trust.json
│ ├── social_proof.json
│ ├── sandbox_policy.json
│ ├── experience_entry_point.json
│ └── experience_interaction.json
├── discovery/
│ ├── profile_schema.json # Discovery profile schema
│ └── unified_profile_example.json # Example UCP+AXP unified profile
└── services/
├── service_schema.json # Service definition schema
├── openapi.json # REST API specification
└── openrpc.json # MCP/RPC specification

Product Types

AXP supports these product types:

TypeDescription
simpleBasic product with no variants
variantProduct with predefined variants (size, color)
configurableBuild-to-order with configurator
bundleProduct bundle/kit
eventEvent, ticket, workshop
subscriptionRecurring subscription
digitalDigital download/license
serviceService offering

Experience Embedding

Sandbox Security

Embedded experiences run in secure sandboxes with configurable policies:

{
"sandbox_policy": {
"isolation_level": "standard",
"permissions": {
"allow_scripts": true,
"allow_same_origin": false,
"allow_popups": false
},
"content_security_policy": {
"default_src": ["'self'"],
"script_src": ["'self'", "https://cdn.merchant.com"],
"connect_src": ["'self'", "https://api.merchant.com"]
},
"resource_limits": {
"max_memory_mb": 128,
"execution_timeout_ms": 30000
}
}
}

Entry Point Types

TypeDescription
iframeSandboxed iframe loading
web_componentCustom Element with Shadow DOM
scriptJavaScript module loading
wasmWebAssembly module

Interaction Model

Experiences communicate with the host via structured events:

Inbound Events (host → experience):

  • product_data_update - Product information changed
  • variant_selected - User selected a variant
  • locale_changed - Language/locale changed

Outbound Events (experience → host):

  • ready - Experience loaded and ready
  • configuration_changed - User modified configuration
  • add_to_cart_request - Request to add item to cart
  • view_changed - 3D view angle changed
  • ar_launch_request - Request to launch AR mode

Quality Data

Review Aggregates

{
"reviews": {
"aggregate": {
"rating": 4.3,
"count": 1247,
"rating_distribution": {
"5": 782,
"4": 312,
"3": 98,
"2": 34,
"1": 21
},
"recommendation_percentage": 94,
"verified_purchase_count": 1089
},
"aspect_ratings": [
{"aspect": "quality", "rating": 4.5},
{"aspect": "value", "rating": 4.1},
{"aspect": "durability", "rating": 4.4}
]
}
}

Return Analysis

{
"returns": {
"return_rate": {
"percentage": 8.2,
"category_comparison": "below_average",
"trend": "improving"
},
"return_reasons": [
{"reason": "wrong_size", "percentage": 45},
{"reason": "not_as_described", "percentage": 18},
{"reason": "changed_mind", "percentage": 22}
],
"size_fit_analysis": {
"fit_indicator": "runs_small",
"size_recommendation": "Order one size up"
}
}
}

Merchant Trust

{
"merchant_trust": {
"trust_score": {
"score": 94,
"tier": "gold"
},
"verification": {
"business_verified": true,
"address_verified": true
},
"performance_metrics": {
"on_time_delivery_rate": 97.3,
"resolution_rate": 99.1,
"response_time_hours": 2.4
}
}
}

API Usage

REST API

# Get product with quality data
curl https://merchant.example.com/api/axp/products/SKU123?include_quality=true
# Get product reviews
curl https://merchant.example.com/api/axp/products/SKU123/reviews?sort=helpful&limit=10
# Get configurator definition
curl https://merchant.example.com/api/axp/products/SKU123/configurator
# Calculate configuration price
curl -X POST https://merchant.example.com/api/axp/products/SKU123/configurator \
-H "Content-Type: application/json" \
-d '{"selections": {"color": "blue", "size": "medium", "engraving": "JD"}}'# Get experience definition
curl https://merchant.example.com/api/axp/experiences/EXP456

MCP (Model Context Protocol)

{
"jsonrpc": "2.0",
"method": "axp.getProduct",
"params": {
"product_id": "SKU123",
"include_quality": true,
"include_experiences": true
},
"id": 1
}
{
"jsonrpc": "2.0",
"method": "axp.calculateConfiguration",
"params": {
"product_id": "SKU123",
"selections": {
"color": "blue",
"size": "medium",
"engraving": "JD"
}
},
"id": 2
}

Integration with UCP

AXP extends UCP capabilities:

  • AXP products can be used in UCP checkout sessions
  • AXP quality data informs purchase decisions in agentic flows
  • AXP experiences can be embedded in UCP-enabled platforms
{
"ucp": {
"version": "2026-01-11",
"capabilities": ["dev.ucp.shopping.checkout"]
},
"axp": {
"version": "2026-01-13",
"capabilities": [
"dev.axp.product_data",
"dev.axp.product_data.variants",
"dev.axp.quality_data",
"dev.axp.quality_data.reviews",
"dev.axp.experience_embedding",
"dev.axp.experience_embedding.viewer_3d"
]
}
}

Security

AXP implements the same security protocols as UCP to ensure consistent security and easy integration.

Cryptographic Standards

ComponentStandardDescription
Signing AlgorithmES256ECDSA with P-256 curve and SHA-256
Key FormatJWKJSON Web Key (RFC 7517)
Request SignaturesDetached JWSRFC 7797 detached signatures
TokensJWTStandard JSON Web Tokens

Signing Keys

AXP uses the same signing_keys format as UCP in discovery profiles:

{
"signing_keys": [
{
"kid": "merchant-key-2026-01",
"kty": "EC",
"crv": "P-256",
"x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU",
"y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0",
"use": "sig",
"alg": "ES256"
}
]
}

When AXP is used as a UCP addon, the same signing keys are shared between both protocols.

Request/Response Signatures

AXP uses the same detached JWS format as UCP:

Format: base64url(header)..base64url(signature)
Header: {"alg":"ES256","typ":"JWT","kid":"key-id"}

HTTP Headers:

  • Request-Signature - Signs request body (same as UCP)
  • Response-Signature - Signs response body
  • Content-Signature - Signs experience content for integrity
  • AXP-Agent - Agent identification (same format as UCP-Agent)

Experience Content Signing

For embedded experiences, optional content signing ensures integrity:

{
"experience_signature": {
"signature": "eyJhbGciOiJFUzI1NiJ9..signature",
"content_hash": "sha256-base64url-hash",
"signed_at": "2026-01-13T12:00:00Z",
"kid": "merchant-key-2026-01"
}
}

Experience Sandboxing

  • All embedded experiences run in isolated contexts
  • Network access restricted to whitelisted domains
  • No access to parent window or cookies
  • Resource limits enforced (memory, CPU, network)
  • CSP headers strictly applied

Security Schema

See schemas/security.json for full security type definitions.

Data Privacy

  • Quality data aggregated to protect individual privacy
  • PII handling configurable per experience
  • Audit logging available for compliance

Flow Diagrams

Detailed flow diagrams for AXP integration into UCP flows can be found in docs/flow-diagrams.md:

  • Scenario 1: Product Discovery with Quality Data
  • Scenario 2: Configurable Product with Embedded Experience
  • Scenario 3: Checkout Flow with AXP-Enriched Products
  • Scenario 4: Event/Ticket Booking with Time Selection
  • Scenario 5: Subscription with Personalization
  • Scenario 6: Trust-Based Purchase Decision
  • Scenario 7: Complete E2E Flow

License

Apache License 2.0

About

AXP extends UCP for agentic commerce, providing product data (variants, configurators, subscriptions), quality signals (reviews, returns, trust), and sandboxed experiences (3D, AR). Uses UCP security (ES256) and supports REST, MCP, GraphQL, WebSocket. Works as UCP addon or standalone, enabling AI agents to discover, assess, and purchase products.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors