visa · vic · tap

Visa Intelligent Commerce: a source-checked architecture map

What Visa Intelligent Commerce and Trusted Agent Protocol publicly document, what can be inferred, and what should stay marked as illustrative.

Visa Intelligent Commerce is best understood as a set of trust primitives around existing card payments, not as a new rail. The public Visa material describes AI agents that can search, select, and purchase with user-defined preferences, tokenized credentials, passkeys, and merchant-visible trust signals.

The safest architecture map is therefore three-layered:

  1. VIC handles the consumer, tokenized credential, passkey, and agent-payment lifecycle.
  2. TAP handles agent identity and request integrity at the HTTP layer.
  3. The card network still carries authorization, clearing, disputes, and settlement through existing participants.

The first two layers are public enough to discuss concretely. The third should be discussed carefully, because Visa has not published a complete field-level VisaNet mapping for agentic transactions.

ArchitectureVisa Intelligent Commerce is three separate systems converging at authorization
Credential lifecycleVIC API
  • enroll card
  • create scoped instruction
  • retrieve tokenized credential
  • record outcome
scoped credential + payment context
HTTP identityTAP
  • Ed25519 key
  • RFC 9421 signature
  • nonce check
  • edge verdict
verified agent request
Auth enrichmentDCAP
  • device ID
  • IP address
  • email hash
  • AVS billing data
structured auth data + interchange incentive
Convergence pointISO 8583 authorization

The public sources support tokenized credentials and richer authorization context, but they do not publish exact ISO 8583 fields, private data elements, or response-code rules for agentic transactions.


System 1: VIC

Visa’s public VIC material describes a lifecycle for agentic payments:

That design keeps the AI reasoning layer away from the raw payment credential. The agent can decide what to buy, but the payment system decides whether a credential should be released for that merchant, amount, consumer, and policy.

consumer preference + passkey
        |
        v
VIC instruction / mandate
        |
        v
agent-bound tokenized credential
        |
        v
merchant checkout and ordinary card authorization

System 2: TAP

TAP answers a different question: did this request come from a registered agent, and did the signed request change in transit?

Visa and Cloudflare’s public descriptions line up with RFC 9421 HTTP Message Signatures. The agent signs request components. The verifier checks the public key, timestamp, nonce, tag, signature base, and cryptographic signature. Cloudflare’s write-up says Visa TAP and Mastercard Agent Pay both build on Web Bot Auth and let merchants distinguish legitimate approved agents from malicious bots.

The public material supports these statements:

The public material does not support hard-coded production claims such as a specific Visa registry path, a required bearer-credential lifetime, or a fixed millisecond verification budget. Those are implementation-shaped examples, not facts to present as Visa specifications.

AgentPOST /checkout
Cloudflare edgeTAP verifier
01
Parse Signature-Input

Extract covered components and signing base.

02
Fetch public key

Read the registered public key for the signing key id.

03
Timestamp

fresh within verifier policy

04
Nonce

not seen before

05
Domain

@authority matches Host

06
Signature

Ed25519.verify(sig, base)

fail401
07
Pass trust metadata

Forward an implementation-specific agent trust result to origin.

verification target: edge-local check, specific latency budget not publicly specified
Merchant originverified agent contextexact header names are implementation-specific

System 3: existing payment rails

The strongest part of the architecture is compatibility. The merchant still uses a checkout flow, the acquirer still submits an authorization, the network still routes it, and the issuer still approves or declines. Agentic commerce adds evidence around the payment rather than throwing out the payment stack.

The evidence can include:

Public Visa sources do not publish the exact ISO 8583 fields and values used for all of this. It is reasonable to talk about additional data fields, private-use fields, tokenization fields, and authorization metadata. It is risky to state exact field numbers, exact response codes, or exact issuer behavior unless Visa has published them.

System attributionThe transaction is one flow, but ownership changes at each hop
Enrollment
01
Consumer enrolls card

Issuer step-up, spending controls, agent-bound token reference.

VIC API
02
Device creates passkey

FIDO2 credential stays in the secure enclave.

Device
Purchase
03
Instruction registered

Passkey assertion creates a scoped payment instruction for merchant, amount, and item.

VIC API
04
Agent reaches checkout

Signed HTTP request is verified at the edge before merchant origin.

TAP
05
Credential retrieved

Merchant receives tokenized credential (VCN) and enriched DCAP authorization context.

VIC API
06
Authorization sent

Tokenized credential and agent context travel as network-specific authorization metadata.

ISO 8583
07
Issuer approves

Issuer evaluates agent credential and mandate evidence; pre-authorized agent instructions may follow a low-friction path.

card network + issuer
08
Commerce signal closes loop

Order outcome feeds dispute evidence and fraud intelligence.

VIC API
Packet anatomyThe old authorization message becomes the carrier for agent context
MTI0100 authorization request
DE 2
Tokenized PANVIC API
agent-bound VCN

The PAN field carries a network token (VCN) rather than the real account number. Merchant and acquirer never see the underlying PAN.

Context signal
Agent initiation contextPayment rail
network-specific

Illustrates that downstream systems may need a way to select agent-specific risk rules.

Private data
Additional authorization evidenceTAP + data enrichment
agent identity + enriched context

May carry agent and transaction evidence where the network implementation permits it.

Private reference
Instruction bindingTAP + VIC API
implementation-specific

Conceptually binds authorization to a consumer-authorized instruction without claiming a public field number.

DE 39
Response codeIssuer
00 = approved / decline code

Issuer returns a two-character response code (00 for approval). Agent-specific decline codes for mandate violations are not publicly specified.


What is verified versus illustrative

Verified public facts

Architecture inferences

Illustrative only


Integration paths

There are three practical paths, with different control tradeoffs.

Direct Visa integration. Best for agent platforms that need control over enrollment, tokenization, instruction creation, request signing, and merchant partnerships.

Visa examples and MCP-style tooling. Visa’s public AI repository includes VIC examples, documentation MCP references, tokenization demos, and passkey-oriented flows. That is useful developer scaffolding, but it should not be described as universal production payment access for any chatbot.

Platform or PSP integration. Merchants and agent builders may adopt agentic commerce through PSPs, cloud edge providers, wallets, or checkout platforms. This path will likely be more common than every merchant integrating directly with a card network.


What VIC does not solve by itself

Prompt injection. VIC and TAP can verify requests and credentials. They do not prove the agent’s browsing decision was immune to manipulation.

Multi-agent delegation. Public specs do not yet define a universal way to propagate authority from a supervising agent to a checkout subagent across networks.

Cross-network identity. Visa TAP, Mastercard Agent Pay, AP2, ACP, and x402 use overlapping but different trust models. Shared agent identity is still an ecosystem problem.

Public field-level specification. The biggest documentation gap is still the handoff from agent identity and mandate evidence into authorization, clearing, disputes, and issuer servicing.


The transaction narrative is in How an AI agent buys something. The protocol competition across TAP, Mastercard Agent Pay, AP2, ACP, and x402 is in The agentic payment stack nobody is mapping.


Sources