Visa TAP

Pending

Token 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 against Visa's VTS endpoint (sandbox by default), maps the token to an internal consumer identity, checks credit balance, and — when configured for production — authorizes (but does not capture) a Visa charge, then meters the invocation. Developers receive payouts through Stripe Connect as usual.

Key Specs

ProtocolVisa TAP — Token Agent Payments
BackerVisa
Detection HeaderX-Visa-TAP-Token / Authorization: TAP <token>
Identity Typevisa-tap-token
Payment Typevisa-authorization
StatusPending

Code Example

Here is how a developer's tool works with Visa TAP via SettleGrid:

visa-tap-example.tstypescript
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

SettleGrid Help

AI-powered support

How can I help?

Ask me anything about SettleGrid