State of Agent Mandates
When an AI agent is authorized to pay, what does the authorization actually look like, who issues it, and does it travel? Every major agent-payment rail, assessed from primary specifications and scored one of three ways: Portable (any third party can verify the mandate), Federated (open mechanics, but trust resolves inside the issuing network), or Walled (the artifact only means something to its issuer).
The discipline, borrowed from our x402 tracker: live and announced are never mixed, every entry carries a primary source, and anything we could not verify firsthand is labeled, not guessed.
The finding
The identity layer has quietly converged: Visa's TAP and Mastercard's Web Bot Auth share the same signature standard and the same engineering partner, so "is this agent real" is already answerable across networks. The mandate layer has not: no rail can verify another rail's spending permission today, because almost every design records what the user allowed as a database row at the issuer instead of carrying it in the artifact. The agentic web agreed on who. The fight is over may.
Live and piloting
x402
Portable (verification only)Livex402 Foundation (Linux Foundation, in formation)Anyone on the internet can verify the payload against public state. But it answers 'did this key authorize this payment,' not 'did a human authorize this agent.' Delegation semantics are explicitly out of scope.
Visa Trusted Agent Protocol
FederatedPilotVisa (spec open source, built with Cloudflare)The signature format is an open IETF standard, so the mechanics travel. The trust decision does not: 'is this agent legitimate' resolves to Visa's registry, and the credential only resolves inside Visa authorization.
OpenAI / Stripe ACP
FederatedLiveOpenAI + Stripe (Apache 2.0, agenticcommerce.dev)The spec is open and any PSP can implement issuance, which is real protocol-level interoperability. But each issued artifact is a database row at the issuing PSP: the allowance is exactly a mandate, enforced where nobody else can see it.
PayPal Agent Ready
FederatedLivePayPal / BraintreeThe clearest case of a rail that verifies everyone else's artifacts and exports none of its own. One Braintree integration reaches ChatGPT, Google surfaces, and Perplexity; nothing PayPal issues is verifiable outside PayPal.
Google UCP (standalone)
FederatedLiveGoogleOn its own, a Google Pay-centered design: one transaction, one merchant's PSP. AP2 is its portability layer, not the other way round.
MCP (core protocol)
Walled by designLiveAnthropic / MCP projectAudience binding exists precisely so a token means nothing anywhere except the one server it was minted for. Correct security posture, and the opposite of a traveling mandate. MCP is the transport other rails' mandates ride on, not an issuer.
Spec-only and announced
Kept strictly separate from the live list. A press release is not a deployment.
Google AP2
PortableSpec-onlyGoogle + 60 launch partnersA self-contained signed object any party on the trust list can verify, including parties Google has no relationship with. The design is portable today; the deployment is early.
Mastercard Agent Pay
Walled (identity layer federated)AnnouncedMastercard (Web Bot Auth with Cloudflare)Anyone can verify the agent's Web Bot Auth signature at the edge. But the authorization artifact only means something at Mastercard authorization; no third party can inspect it and learn what the user permitted. Mastercard's own FIDO verifiable-credentials work describes the portable version as future.
The bridge map
Bridge formation below the mandate layer is the leading indicator of consolidation. These already exist:
| Visa TAP ↔ Mastercard Web Bot Auth | Same RFC 9421 signature base, same Cloudflare engineering partner. The rival networks' agent-identity layers are already technically interoperable. |
| AP2 ↔ UCP | AP2 Checkout Mandates are hash-bound to the UCP Checkout object by spec. AP2 is UCP's portability layer. |
| AP2 ↔ EMVCo | AP2's worked example anchors user trust in an EMVCo digital payment credential. The card networks' standards body is the trust anchor inside Google's protocol. |
| x402 ↔ MCP / A2A | The most portable payment payload ships transports for the most common agent protocols (x402 MCP transport, a2a-x402). |
| ACP ↔ PayPal / Meta | Open Apache 2.0 spec adopted beyond its authors; PayPal processes ACP tokens through Braintree. |
The response
The gap this page measures is the MandateKit thesis: a mandate should be a signed, self-contained object any verifier can check, not a row in the issuer's database. MandateKit is our open-source primitive for exactly that, in Python or TypeScript. v0, experimental, honestly labeled.
mandatekit on GitHub →Changelog
- 2026-06-12Tracker launched: eight rails assessed from primary specs. Verdict count at launch: 2 Portable, 4 Federated, 2 Walled.
Related
- The x402 adoption tracker — the settlement layer this page's portability question sits above.
- The identity gap — the who layer, measured across the MCP ecosystem.
- The population dataset — the weekly sweep behind the Major Labs scoreboards.