UCP Discovery Document
Endpoint: GET /.well-known/ucp
Auth: None — public discovery document
Cache: Cache-Control: public, max-age=3600
Try it right now, no API key needed:
curl https://ainative-browser-builder.up.railway.app/.well-known/ucp
What it's for
UCP (Universal Commerce Protocol) is a .well-known discovery convention that lets an agent or a commerce-aware crawler ask one question — "how can I pay you?" — and get back a single machine-readable document instead of having to probe individual endpoints. AINative's /.well-known/ucp document lists every payment capability the platform actually supports today: Stripe subscriptions, x402 crypto micropayments, and AP2 mandate verification.
It follows the same discipline as the platform's other /.well-known/* discovery documents (/.well-known/x402, /.well-known/provisioning): every entry describes a real, working path, never a planned or aspirational one. The subscription plan names are read directly from the same STRIPE_PRICE_IDS map that the real checkout flow (plan_catalog_service.py) uses, so this document can't advertise a plan that doesn't actually exist. The x402 network/asset fields are read from the same x402_subscription_service.py settings that back the live /.well-known/x402 document, so the two stay consistent with each other and with what a real payment attempt observes.
Response shape
GET /.well-known/ucp
Returns 200 OK with a JSON body shaped like this:
| Field | Type | Description |
|---|---|---|
version | string | Document version, formatted as an ISO date (YYYY-MM-DD) of the last revision. |
capabilities | array | List of payment capability objects. Each entry's type determines which other fields are present (see below). |
capabilities[] — common field
| Field | Type | Description |
|---|---|---|
type | string | One of "subscription", "x402", or "ap2". |
description | string | Human-readable summary of the capability. |
type: "subscription"
Real Stripe-backed subscription plans — the same plan catalog the platform's checkout flow uses.
| Field | Type | Description |
|---|---|---|
plans | array of {name: string} | Every subscription plan currently sold, by display name. |
type: "x402"
HTTP 402-based crypto micropayments. Mirrors the platform's dedicated /.well-known/x402 discovery document.
| Field | Type | Description |
|---|---|---|
asset | string | Settlement asset, currently "USDC". |
network | string | Settlement network (e.g. "circle" for USDC via Circle). Configurable via X402_SETTLEMENT_NETWORK. |
type: "ap2"
Agent Payments Protocol (Google) mandate verification — real server-side SD-JWT verification at POST /agentic_commerce/ap2/verify.
| Field | Type | Description |
|---|---|---|
mandate_types_supported | array of string | AP2 mandate types this endpoint can verify: "intent", "cart", "payment". |
Example response
{
"version": "2026-10-27",
"capabilities": [
{
"type": "subscription",
"description": "Real Stripe-backed subscription plans.",
"plans": [
{ "name": "Hobbyist" },
{ "name": "Starter" },
{ "name": "Pro" },
{ "name": "Business" },
{ "name": "Enterprise" },
{ "name": "Cody — Your Virtual CTO" }
]
},
{
"type": "x402",
"description": "HTTP 402-based crypto micropayments. See /.well-known/x402.",
"asset": "USDC",
"network": "circle"
},
{
"type": "ap2",
"description": "Agent Payments Protocol (Google) mandate verification. See POST /agentic_commerce/ap2/verify.",
"mandate_types_supported": ["intent", "cart", "payment"]
}
]
}
plans[].name reflects whatever plans are live in STRIPE_PRICE_IDS at request time — treat this list as authoritative over anything cached in documentation, including the example above.
curl example
curl -s https://ainative-browser-builder.up.railway.app/.well-known/ucp | python3 -m json.tool
Related discovery documents
| Document | Purpose |
|---|---|
/.well-known/x402 | x402-specific payment requirements (scheme, pay_to wallet, per-plan resource URIs) |
/.well-known/jwks.json | Public keys for verifying AINative-issued JWTs |
/.well-known/openid-configuration | OpenID Connect discovery |
See also: Agent402 API for agent-side x402 wallets and the Cloudflare wire-format payment flow.