Lab · Workflows · Agentic checkout

Agentic checkout

A customer asks a shopping agent (LangChain) to buy Halden's Ridge 2 tent, $289.00. UCP carries the shopping: the agent reads Halden's profile, which declares UCP's AP2 Mandates Extension and an AP2 payment handler, then creates and updates the checkout until it is ready. From then on Halden signs every checkout it returns (ap2.merchant_authorization). AP2 carries the payment: the agent turns that signed checkout into a checkout mandate and a payment mandate, the customer approves on their phone, which signs both, and the card wallet trades the payment mandate for a token. UCP complete carries both back to Halden: the mandate in ap2.checkout_mandate, the token as the payment credential. Halden checks the mandate against the checkout it holds, then its processor checks the token and authorizes.

Real: the UCP lab's business and the AP2 lab's mandates, card wallet and processor, reused unchanged; SD-JWT VCs (@sd-jwt/sd-jwt-vc) and JWS (jose) with ES256 keys made in this page. Simulated: the hosts, the settlement, and the agent's decisions unless you connect a model. Turn on Intercept to tamper across the seam: change the UCP checkout after the customer signed, reuse the complete's Idempotency-Key with another mandate, or raise the amount in the payment mandate.

Simulationscripted modelready

Experiments

Who decides for the agents

Scenario