Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@visa/cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Visa CLI
Enable AI agents to make real payments. Two commands to start, zero build steps.
npm install -g @visa/cli
visa-cli setupThen ask Claude:
Generate me an image of a sunsetQuick Start
1. Install
npm install -g @visa/cli2. Setup
visa-cli setupThis does three things in one step:
- Registers the MCP server with Claude Code
- Opens a browser for GitHub sign-in + card enrollment
- Generates a Secure Enclave attestation key (for Touch ID verification)
Restart Claude Code or run /mcp to connect, then start using it.
3. Start Using It
Ask Claude naturally:
Generate me an image of a sunsetWhat's the price of SOL right now?Make me a lofi jazz beatGenerate a video of waves crashing on a beachAll payments are handled automatically with your enrolled card. Touch ID confirms each transaction. Result URLs (images, audio, video) open automatically in your browser.
Available Tools
AI Generation
| Tool | What it does | Cost |
|---|---|---|
generate_image_card |
Generate an AI image (Ultra) — FLUX1.1 [pro] ultra, 2K resolution | ~$0.06 |
generate_image_fast_card |
Generate an AI image (Fast) — FLUX1.1 [pro], 1K resolution | ~$0.04 |
generate_video_tempo_card |
Generate an AI video — Grok Imagine Video (xAI), ~6s clip at 720p | ~$0.30 |
generate_music_tempo_card |
Generate a music track via Suno AI | ~$0.10 |
check_music_status_tempo_card |
Check music generation status and get audio URLs | ~$0.01 |
Data & Crypto
| Tool | What it does | Cost |
|---|---|---|
query_onchain_prices_card |
Query real-time token prices from 150+ blockchains via Allium | ~$0.02 |
Payments & Account
| Tool | What it does | Cost |
|---|---|---|
pay |
Pay a merchant URL (auto-detects payment rail) | varies |
batch |
Run any paid tool multiple times in parallel with one Touch ID approval | per-item × count |
get_status |
Check enrollment, cards, and spending controls | free |
get_cards |
List enrolled cards (masked, last 4 only) | free |
transaction_history |
View recent transactions and generated media | free |
update_spending_controls |
Set daily limit, max per-transaction, approval mode | free |
add_card |
Add a payment card (multiple cards supported) | free |
set_default_card |
Promote an enrolled card to be the default for payments | free (Touch ID) |
remove_card |
Remove an enrolled card by id (auto-promotes another if default) | free (Touch ID) |
login |
GitHub sign-in + card enrollment | free |
feedback |
Submit feedback about Visa CLI | free |
reset |
Clear all credentials from this device | free |
Security
Every payment requires Touch ID (macOS) via Secure Enclave. This cannot be disabled or bypassed — attestation is verified server-side.
| Layer | Protection |
|---|---|
| Session token | macOS Keychain (only credential on device) |
| Touch ID | Secure Enclave ECDSA signing (hardware-backed) |
| Spending limits | Server-side enforcement |
| Rate limiting | Server-side per-session |
| Card data | Server-side only (never touches the client) |
Spending Controls
| Setting | Default | Description |
|---|---|---|
| Max per transaction | $100 | Per-transaction ceiling |
| Daily limit | $500 | Daily spend ceiling |
| Daily transaction count | 50 | Daily transaction count ceiling |
Adjust with: "Set my daily limit to $200"
CLI Commands
visa-cli setup # Install, login, and enroll card
visa-cli install <client> # Register MCP server (claude, cursor, windsurf, cline, zed, ...)
visa-cli install --all # Register for all detected clients
visa-cli install --list # Show supported clients and install status
visa-cli install claude --scope project # Install to .mcp.json in current directory
visa-cli uninstall <client> # Remove MCP server from a client
visa-cli uninstall --all # Remove from all clients
visa-cli pay <url> # Pay a merchant URL (amount auto-detected)
visa-cli status # Show enrollment and spending controls
visa-cli feedback "msg" # Submit feedback about Visa CLI
visa-cli reset --confirm # Clear session and attestation keySupported Clients
| Client | ID | Config Path |
|---|---|---|
| Claude Code | claude |
~/.claude.json |
| Claude Desktop | claude-desktop |
~/Library/Application Support/Claude/claude_desktop_config.json |
| Cursor | cursor |
~/.cursor/mcp.json |
| Windsurf | windsurf |
~/.codeium/windsurf/mcp_config.json |
| Cline | cline |
~/.vscode/mcp.json |
| Roo Code | roo-code |
~/.config/Roo/mcp_settings.json |
| VS Code Copilot | copilot |
~/.vscode/mcp.json |
| Zed | zed |
~/.config/zed/settings.json |
Troubleshooting
"Authentication required" — Run visa-cli setup to log in and enroll a card.
"Session expired" — Run visa-cli setup to re-authenticate.
"Amount exceeds limit" — Ask Claude to increase your spending limit, or use update_spending_controls.
"Rate limited" — Wait a few seconds and try again.
Batch request failed / "Merchant server error" — The upstream API (e.g. fal.ai) may be temporarily overloaded. Wait a minute and retry with a smaller batch. Timeouts scale automatically with batch size.
Tools not showing in Claude Code — Run /mcp in Claude Code to reconnect, or restart Claude Code.
Requirements
- macOS (Touch ID or system password required for payment approval)
- Node.js 18+
- Claude Code
Legal
Use of this software is governed by the Visa CLI Terms of Use and Privacy Notice.