Artos vs generic UCP
Artos implements the Universal Commerce Protocol faithfully, then adds capabilities a generic UCP store does not have. If you have integrated a UCP store before (or read a generic UCP agent flow), this page is the diff.
| Area | Generic UCP store | Artos |
|---|---|---|
| Buyer identity | Per-store; the agent re-collects address/payment each store | One Universal Buyer Account across every store via My Artos ; get_buyer_context returns address + caps |
| Store addressing | Often a shop domain root | Path-based: https://api.artos.sh/s/{slug}; discover the slug from metadata.artos_seller.slug |
| Global catalog | Vendor-specific or none | Cross-store search in one call (search_products), each result seller-annotated |
| Cart model | May offer a (cross-)cart | No universal cart — discover globally, then checkout per store, sequentially |
| Autonomous pay | Card / hosted handoff | AP2 mandates + Sui crypto rail — cryptographically bound, human-not-present checkout |
| Settlement | PSP payout | USDsui stablecoin on Sui in ~300ms; any token in, dollars out |
| Purchase call | complete checkout you assemble | confirm_purchase — re-price + verify terms + mint mandate + pick rail + complete in one call |
| Account tools | Rare | Buyer-account MCP (list_my_orders, get_wallet_balances, list_my_coupons, …), bearer-scoped |
Things that trip up a generic UCP client
- Transport headers are required. Every shopping call needs a
Request-Idand aUCP-Agent: profile="…"header; MCP also repeats the profile inmeta["ucp-agent"].profile. The buyer-account surface (/account/mcp) needs neither. See Direct UCP. - Two-credential auth. The API prefers
X-API-Keyover a bearer, so buyer-bound calls (crypto completion, all account tools) must send the buyer bearer only — never both. See Authentication. - Money units differ by surface. Catalog price filters are major units (dollars) on the bridge and SDK, but minor units (cents) on the raw wire. Totals are always integer minor units.
- Rails are selected by inner id. Pick
artos.card/artos.crypto, not thesh.artos.*registry key. - Crypto needs an Agents spend mandate, separate from OAuth consent — see Connect an assistant.
What Artos does not do (yet)
- No universal/cross-merchant cart. Per-store checkout is intentional until the UCP spec and merchant demand justify a universal cart.
- No merchant onboarding via this surface. These docs are for agent/buyer integrators; merchants use the dashboard (see For merchants for merchant-side UCP credentials).
Next steps
- Connect an assistant — the full flow end to end
- Profiles & trust — UCP profiles, negotiation, AP2 conformance
- Direct UCP — the raw transport under the SDK
Last updated on