# Verifiable Intent (VI) vs Visa Trusted Agent Protocol (TAP)

The map lists them as complementary: sites and agents commonly implement both. They answer different questions: Verifiable Intent is a step 9 (Account) standard, Visa Trusted Agent Protocol step 2 (Identify), so they are not substitutes.

[9 Account](/category/account/) [Verifiable Intent](/protocols/vi/) · [2 Identify](/category/identify/) [Visa Trusted Agent Protocol](/protocols/tap/)

|  | [Verifiable Intent](/protocols/vi/) VI | [Visa Trusted Agent Protocol](/protocols/tap/) TAP |
| --- | --- | --- |
| Lifecycle step | 9 Account: Prove what happened; be judged | 2 Identify: Who is this agent? Who is this site? |
| Answers | After an agent completes a purchase on a user's behalf, can the merchant, issuer and consumer all point to the same cryptographic record of what the user actually authorized? | How does a merchant recognize that an approved commerce agent, rather than a crawler or fraudulent bot, is interacting with its site or API? |
| Governed by | Mastercard; contributed to the FIDO Alliance Payments TWG (2026-04-28); built on FIDO Alliance, EMVCo, IETF and W3C primitives | Visa (single-vendor specification, published for merchant/developer adoption) |
| Status (issuer's words) | Draft (v0.1); open-sourced specification and reference implementation | Active vendor-led merchant specification |
| Version | 0.1-draft (2026-02-18) | Current merchant specification, 2026, published on Visa Developer |
| Form / transport | document format | HTTP header |
| Found at | none | /keys |
| Implementation | prototype | prototype — Visa's own launch announcement, naming ecosystem participants including Cloudflare |
| Evidence | 4 verified | 2 verified, 2 reported |
| Primary use case | Let agents buy on behalf of a person | Prove an agent's identity |
| Last verified | 2026-10-23 (current) | 2026-10-23 (current) |
| Specification | [https://verifiableintent.dev/spec/](https://verifiableintent.dev/spec/) | [https://developer.visa.com/capabilities/trusted-agent-protocol/trusted-agent-protocol-specifications](https://developer.visa.com/capabilities/trusted-agent-protocol/trusted-agent-protocol-specifications) |

## When to use which

- Choose Verifiable Intent when your question is “After an agent completes a purchase on a user's behalf, can the merchant, issuer and consumer all point to the same cryptographic record of what the user actually authorized?” and you accept its maturity: status "Draft (v0.1); open-sourced specification and reference implementation", implementation prototype.
- Choose Visa Trusted Agent Protocol when your question is “How does a merchant recognize that an approved commerce agent, rather than a crawler or fraudulent bot, is interacting with its site or API?” and you accept its maturity: status "Active vendor-led merchant specification", implementation prototype (Visa's own launch announcement, naming ecosystem participants including Cloudflare).

Guidance is derived from the two records (question, status, implementation, prerequisites, pairings), not from opinion. Each record's page carries its numbered references.

## Read the full articles

- [Verifiable Intent](/protocols/vi/): After an agent completes a purchase on a user's behalf, can the merchant, issuer and consumer all point to the same cryptographic record of what the user actually authorized?
- [Visa Trusted Agent Protocol](/protocols/tap/): How does a merchant recognize that an approved commerce agent, rather than a crawler or fraudulent bot, is interacting with its site or API?

Ask the MCP server to compare any two: the compare-protocols prompt, or get on both ids. [Connect](/connect/).

[vi.json](/data/protocols/vi.json) · [tap.json](/data/protocols/tap.json) · [Markdown](/compare/vi-vs-tap/index.md)
