AP2 Integration
Agent Payments Protocol — AP2 defines no transport; the mandate's constraints array is a closed anyOf.
This section is advisory and non-prescriptive. It describes what the host protocol permits, read from its own primary artifact. Where this page and the host protocol disagree, the host is correct — build from its schema, not from an example here.
What it is. An open protocol for AI-agent-driven payments, originated by Google and donated to the FIDO Alliance for community governance in April 2026. Uses Verifiable Digital Credentials implemented as SD-JWT; the finalized (Closed) mandates carry Key Binding (kb+sd-jwt), while Open mandates carry a cnf key-confirmation claim. Defines two mandate types, each with Open and Closed stages: Checkout Mandates (Open captures the user's authorization constraints before cart finalization; Closed captures authorization for a specific, finalized cart) and Payment Mandates (authorize a payment against a specific instrument, shared with the credential provider, networks, and merchant payment processor).
AP2 defines no transport. The specification states that the details of the surrounding commerce protocol are outside its scope. A Tier A claim therefore cannot rest on AP2 alone; it rests on whatever transport carries the mandate, which in AP2's own samples is A2A (§C.8), whose message metadata is a free-form map.
Tier A — Available today. LCP references travel alongside AP2 mandates in the transport-layer metadata of
the protocol carrying the mandate. The transport metadata accepts arbitrary keys; the mandate itself does not.
open_checkout_mandate.json carries exactly five members — vct, constraints, cnf, iat, exp — and
there is no layer or stage among them.
Tier B — Forward work. AP2 publishes a Mandate Constraints extension point for exactly this purpose. Using it means defining a uniquely named constraint type with a schema naming its selectively-disclosable fields and an evaluation algorithm — a registration advanced through the FIDO Alliance working groups that now govern the specification, not an added field. It is the same mechanism, at the same body, as the forward path in §C.7.
Conceptual relationship. AP2 mandates capture what was authorized; LCP captures what terms govern the authorization. The two are complementary and travel together in a complete record. Pairing a natural-language intent with machine-readable legal constraints is the shape worth aiming at, and it requires the upstream work above. It cannot be done by writing an unregistered constraint into an open mandate: the mandate's constraints array is a closed anyOf, so a custom type fails schema validation before any verifier policy applies.
Steward invitation. The AP2 stewards at the FIDO Alliance are invited to publish guidance on LCP placement in transport-layer metadata and to consider an extension that allows LCP references to travel inside mandates themselves.