Visa TAP
ReadyToken Agent Payments — Visa
Overview
Visa TAP (Token Agent Payments) is Visa's protocol for tokenized agent-to-agent payments. It extends Visa's tokenization infrastructure to AI agents, allowing them to authenticate and pay for services using Visa-issued tokens with embedded identity verification, spending limits, and merchant category restrictions.
How It Works
Visa TAP builds on Visa's existing tokenization platform. An agent's principal (the human or organization) requests a TAP token from their Visa-issuing bank. The token carries the agent's identity, the cardholder's authorization, spending limits, and allowed merchant categories. When the agent calls a service, it presents the TAP token.
The service provider sends the token to Visa's TAP verification endpoint, which confirms the token is valid, the spending limit has not been exceeded, and the merchant category is allowed. If all checks pass, Visa authorizes the transaction and the service processes the request.
Settlement follows standard Visa rails — the cardholder is charged, the merchant receives funds through their acquirer, and Visa's dispute resolution process applies. This means every agent payment is backed by the same protections as a regular Visa transaction.
How SettleGrid Integrates
SettleGrid supports Visa TAP tokens as an identity type in its KYA (Know Your Agent) system. When an agent presents a TAP token, SettleGrid verifies it with Visa's infrastructure, maps the token to an internal consumer identity, checks credit balance or authorizes a Visa charge, and meters the invocation. Developers receive payouts through Stripe Connect as usual.
Key Specs
| Protocol | Visa TAP — Token Agent Payments |
| Backer | Visa |
| Detection Header | X-Visa-TAP-Token / Authorization: TAP <token> |
| Identity Type | visa-tap-token |
| Payment Type | visa-authorization |
| Status | Ready |
Code Example
Here is how a developer's tool works with Visa TAP via SettleGrid:
import { settlegrid } from '@settlegrid/mcp'
const sg = settlegrid.init({
toolSlug: 'travel-booking',
pricing: {
defaultCostCents: 50,
methods: {
'search-flights': { costCents: 10 },
'book-flight': { costCents: 200 },
},
},
// Visa TAP tokens are verified automatically
})
const searchFlights = sg.wrap(async (args: { origin: string; dest: string }) => {
const flights = await searchFlightAPI(args.origin, args.dest)
return { content: [{ type: 'text', text: JSON.stringify(flights) }] }
}, { method: 'search-flights' })Start monetizing with SettleGrid
Free forever — 50,000 ops/month, progressive take rate. Add billing to your Visa TAP tool in under 5 minutes.
Get Started Free