Mastercard Verifiable Intent: a three-layer chain for agent purchases
Verifiable Intent (VI) is Mastercard's open specification for agent purchases: a three-layer SD-JWT chain of the principal's identity (L1), the mandate (L2) and the transaction context (L3). It is one of the two contributions from which the FIDO Alliance develops its agentic commerce specification.
The three layers
L1 is the human's identity credential, L2 the mandate signed by them with limits (amount range, budget, allowed merchants, line items), L3 the agent-signed context of the concrete transaction.
At Mandact
The bridge exports an active mandate as L1 and L2 and accepts VI chains; the same engine decides. What is not congruent — such as VI's budget over the whole lifetime versus the rolling monthly window — the bridge reports as unmapped, with a reason.
Reference-checked
The export runs against the vendored reference implementation (Apache 2.0): verify_chain and check_constraints must accept the Mandact chain and reject the violation. The anchor is green in the repository.
Status
Bridge implemented (lib/interop/vi.ts, POST /v1/interop/vi); reference anchor green.