Flows / Agent to agent, agent to web

Agent payments with signed mandates

The user signs what the agent may buy. The agent proves, to the merchant and to the payment network, that a purchase falls inside it.

Based onAP2 v0.2Individual draft, version 0Guide reviewedNovember 2026

Sources and review details
This page
Implementation guideAn explanation, not a specification
Primary specification
Agent Payments Protocol (AP2)Individual draft · Version 0.2.0, April 2026
Flow maturity
ExperimentalWhat the rating means
Human involvement
Human reachable
Review
Checked against sources in November 2026How it was checked

Payments are where “the agent says the user wanted this” stops being good enough. If an agent buys the wrong thing, someone bears the cost, and the merchant, the card issuer and the user will each want evidence of what was authorized.

The Agent Payments Protocol answers with mandates: digitally signed statements of what a user has approved. In the current version there are two kinds. A checkout mandate shows a merchant that the agent may complete a particular purchase. A payment mandate shows the payment side that the agent may pay for it. Each comes in two forms. A closed mandate authorizes one specific checkout. An open mandate sets out constraints in advance, for when the user will not be there, and names the agent’s key so the agent can later sign closed mandates that stay within those limits.

The diagram shows the second case: the human approves the boundaries, leaves, and the agent shops inside them.

Step by step

10 steps between 4 parties. Each step shows the message and who holds which credential afterward. Use ←→ or select any arrow.

Sequence diagram4 participants, 10 steps
  • Direct call
  • Via the user’s browser or device
  • Response
  • Local action

Drag to see every party and step. Tap a step to jump to its explanation.

1Sign open mandates2Later: finds a matching offer3Start checkout4Merchant-signed checkout5Sign closed mandates6Presentpayment mandate7Verify chain and limits8Payment credential9Checkout mandate + payment10Signed receipt

  1. 1User to Shopping agentVia the user’s browser or device

    The user approves constraints, not a purchase

    “Buy these running shoes in size 43 if the price drops below €120, this month.” The user reviews and signs on a trusted surface, a piece of interface that the protocol requires to be non-agentic. The result is a pair of open mandates, checkout and payment, that carry the constraints and the public key of the agent allowed to act on them.

    Who holds what after this step

    Shopping agent
    newopen mandates (user-signed)

    Parties not listed hold none of this flow’s credentials at this point.

  2. 2Shopping agentLocal action

    The agent works alone

    Days later, with the user absent, the agent finds an offer that satisfies the constraints.

    Who holds what after this step

    Shopping agent
    open mandates (user-signed)newagent key

    Parties not listed hold none of this flow’s credentials at this point.

  3. 3Shopping agent to MerchantDirect call

    The agent builds a checkout with the merchant

    Through whatever commerce protocol the merchant supports. The payment protocol sits beneath it as the authorization layer.

    Who holds what after this step

    Shopping agent
    open mandates (user-signed)agent key

    Parties not listed hold none of this flow’s credentials at this point.

  4. 4Merchant to Shopping agentResponse

    The merchant commits to the terms

    The merchant signs the checkout: items, price, totals. This fixes what is being bought, so the agent’s authorization can refer to it by hash.

    Who holds what after this step

    Shopping agent
    open mandates (user-signed)agent keynewsigned checkout

    Parties not listed hold none of this flow’s credentials at this point.

  5. 5Shopping agentLocal action

    The agent authorizes this specific purchase

    Using the key named in the open mandates, the agent signs closed checkout and payment mandates bound to the merchant’s signed checkout. Anyone verifying them can follow the chain: the user authorized this key within these limits, and this key authorized this purchase.

    Who holds what after this step

    Shopping agent
    open mandates (user-signed)agent keysigned checkoutnewclosed mandates (agent-signed)

    Parties not listed hold none of this flow’s credentials at this point.

  6. 6Shopping agent to Credential providerDirect call

    The agent asks the payment side for a credential

    The credential provider holds the user’s payment methods. It receives the payment mandate and only the details it needs.

    Who holds what after this step

    Shopping agent
    open mandates (user-signed)agent keysigned checkoutclosed mandates (agent-signed)

    Parties not listed hold none of this flow’s credentials at this point.

  7. 7Credential providerLocal action

    The payment side checks the delegation

    Is the open mandate genuinely signed by the user? Does it name this agent’s key? Is the closed mandate inside the constraints? The protocol requires this to be done by deterministic code, not by a model.

    Who holds what after this step

    Shopping agent
    open mandates (user-signed)agent keysigned checkoutclosed mandates (agent-signed)

    Parties not listed hold none of this flow’s credentials at this point.

  8. 8Credential provider to Shopping agentResponse

    A credential usable for this payment

    Typically a network token or similar single-purpose credential, not the underlying card number.

    Who holds what after this step

    Shopping agent
    open mandates (user-signed)agent keysigned checkoutclosed mandates (agent-signed)newpayment credential (this purchase)

    Parties not listed hold none of this flow’s credentials at this point.

  9. 9Shopping agent to MerchantDirect call

    The agent completes the purchase

    The merchant receives the checkout mandate, proof that this agent is entitled to complete this checkout, together with the payment credential.

    Who holds what after this step

    Shopping agent
    open mandates (user-signed)agent keysigned checkoutclosed mandates (agent-signed)payment credential (this purchase)

    Parties not listed hold none of this flow’s credentials at this point.

  10. 10Merchant to Shopping agentResponse

    Receipts close the loop

    The merchant returns a checkout receipt and the processor a signed payment receipt. With the mandates, they form the evidence trail if the purchase is ever disputed.

    Who holds what after this step

    Shopping agent
    open mandates (user-signed)agent keysigned checkoutclosed mandates (agent-signed)used uppayment credential (this purchase)

    Parties not listed hold none of this flow’s credentials at this point.

Watch out for

  • This is pre-1.0 and changing. The mandate model was redesigned between the first and second versions, and stewardship has moved to a standards body where work is only starting.
  • There are several competing and overlapping efforts from card networks, payment processors and AI vendors. None has settled as the standard.
  • An open mandate is a signed blank cheque with limits. The limits are the security: amount, merchant, items, expiry.
  • The user’s consent must be captured on a surface the agent does not control. If the agent draws the approval screen, the signature proves nothing.

The same idea in OAuth terms

A mandate is a transaction-specific authorization that can be verified offline by several parties. Rich Authorization Requests express the same intent inside OAuth, with the authorization server as the single verifier. The payments world chose signed credentials because merchants, processors, networks and issuers each need to check the evidence independently, sometimes long after the fact.

Standards in play

See the full tracker for status and links.

Individual draftVerifiable Intent draft v0.1

Verifiable Intent

A card network’s take on the same problem AP2 addresses.

RFCRFC 9901

SD-JWT

The format behind payment mandates and delegated credentials in agent commerce.

Project / platformx402 protocol version 2

x402

Payment as the credential. No identity layer; suited to pay-per-call access by autonomous agents.