pop-pay
Supports payments to Cloudflare services through the runtime security layer, with Cloudflare included in the default approved vendor categories for transaction processing.
Provides virtual card issuance via Stripe API as a payment provider option, enabling real payment processing for AI agent transactions.
Point One Percent — pop-pay
The runtime security layer for AI agent commerce. Drop-in CLI + MCP server. Card credentials are injected directly into the browser DOM via CDP — they never enter the agent's context window. One hallucinated prompt can't drain a wallet it can't see.
📄 Research Dataset & Reproduction — this repository hosts the open dataset and reproduction harness for "The Illusion of Single-Attacker Rankings". research: jump to Research Dataset & Reproduction.
Install
Choose your preferred method:
brew install 100xpercent/tap/pop-paycurl -fsSL https://raw.githubusercontent.com/100xPercent/pop-pay/main/install.sh | shnpm install -g pop-paynpx -y pop-pay <command>All install paths expose the same binaries: pop-pay, pop-launch, pop-init-vault, pop-unlock.
Also available as
@100xpercent/mcp-server-pop-pay— identical package under the MCP@scope/mcp-server-<name>convention. Tracks the same version on every release.
Using Python? Check out pop-pay-python —
pip install pop-pay. Same security model, same vault format, independent release cycle — safe to switch between runtimes.
Related MCP server: Arbor
Quick Start (CLI)
1. Initialize the encrypted credential vault
pop-pay init-vaultThis encrypts your card credentials into ~/.config/pop-pay/vault.enc (AES-256-GCM). For stronger protection (blocks agents with shell access):
pop-pay init-vault --passphrase # one-time setup
pop-pay unlock # run once per session2. Launch Chrome with CDP remote debugging
pop-pay launchThis opens a Chromium instance on http://localhost:9222 that pop-pay injects credentials into. Your agent (via MCP, browser automation, or x402) then drives the checkout flow — card details never leave the browser process.
3. Plug into your agent
The CLI launches infrastructure; the actual payment tool calls come from your agent. Two supported paths:
MCP server — add pop-pay to any MCP-compatible client (Claude Code, Cursor, Windsurf, OpenClaw). See MCP Server below.
x402 HTTP — pay for API calls via the x402 payment protocol.
Full CLI reference: pop-pay --help.
MCP Server (optional)
Add to your MCP client
Standard config for any MCP-compatible client:
{
"mcpServers": {
"pop-pay": {
"command": "npx",
"args": ["-y", "pop-pay", "launch-mcp"],
"env": {
"POP_CDP_URL": "http://localhost:9222"
}
}
}
}
Claude Code uses its own CLI — the JSON config above is not needed.
claude mcp add --scope user pop-pay -- npx -y pop-pay launch-mcp--scope user makes it available across all projects. To remove: claude mcp remove pop-pay
Add the JSON config above to:
Cursor:
~/.cursor/mcp.jsonWindsurf:
~/.codeium/windsurf/mcp_config.jsonVS Code (Copilot):
.vscode/mcp.jsonin project root
OpenClaw has its own CLI — the JSON config above is not needed.
openclaw mcp add pop-pay -- npx -y pop-pay launch-mcpOr add to ~/.openclaw/mcp_servers.json using the JSON config above.
For System Prompt templates and NemoClaw sandbox setup, see Integration Guide §4.
docker-compose up -dRuns the MCP server + headless Chromium with CDP. Mount your encrypted vault from the host.
MCP Tools
Tool | Description |
| Issue a virtual card and inject credentials into the checkout page via CDP. Automatically scans the page for hidden prompt injections. |
| Auto-fill billing/contact info (name, address, email, phone). Automatically scans the page for hidden prompt injections. |
| Pay for API calls via the x402 HTTP payment protocol. |
Tip for Claude Code users: Add the following to your project's
CLAUDE.mdto help the agent know when to call pop-pay: "When you encounter a payment form or checkout page, use therequest_virtual_cardtool. For billing/contact info forms, userequest_purchaser_infofirst."
Configuration
Core variables in ~/.config/pop-pay/.env. See ENV_REFERENCE.md for the full list.
Variable | Default | Description |
|
| Approved vendor categories — see Categories Cookbook |
|
| Max USD per transaction |
|
| Max USD per day |
|
| Block hallucination/retry loops |
|
| Enable CDP card injection |
|
|
|
Guardrail Mode
|
| |
Mechanism | Keyword matching on reasoning string | Semantic analysis via LLM |
Cost | Zero — no API calls | One LLM call per request |
Best for | Development, low-risk workflows | Production, high-value transactions |
To enable LLM mode, see Integration Guide §1.
Providers
Provider | Description |
BYOC (default) | Bring Your Own Card — encrypted vault credentials, local CDP injection. |
Stripe Issuing | Real virtual cards via Stripe API. Requires |
Lithic | Multi-issuer adapter (Stripe Issuing / Lithic). |
Mock | Test mode with generated card numbers for development. |
Priority: Stripe Issuing → BYOC Local → Mock.
Security
Layer | Defense |
Context Isolation | Card credentials never enter the agent's context window or logs |
Encrypted Vault | AES-256-GCM with XOR-split salt and native scrypt key derivation (Rust) |
TOCTOU Guard | Domain verified at the moment of CDP injection — blocks redirect attacks |
Repr Redaction | Automatic masking ( |
See THREAT_MODEL.md for the full STRIDE analysis and COMPLIANCE_FAQ.md for enterprise details.
Architecture
TypeScript — MCP server, CDP injection engine, guardrails, CLI
Rust (napi-rs) — Native security layer: XOR-split salt storage, scrypt key derivation
Node.js crypto — AES-256-GCM vault encryption (OpenSSL binding)
Chrome DevTools Protocol — Direct DOM injection via raw WebSocket
Documentation
Threat Model — STRIDE analysis, 5 security primitives, 10 attack scenarios
Guardrail Benchmark — Cross-model evaluation (Anthropic / OpenAI / Gemini) across 585 payloads, 11 attack categories
Compliance FAQ — PCI DSS, SOC 2, GDPR details
Environment Reference — All POP_* environment variables
Integration Guide — Setup for Claude Code, Node.js SDK, and browser agents
Categories Cookbook — POP_ALLOWED_CATEGORIES patterns and examples
Research Dataset & Reproduction
This repository hosts the open-source dataset and harness for the cross-vendor attacker-stability methodology described in the corresponding research paper. Reviewer/researcher reproduction artifacts:
Corpus (585 attack payloads, 11 categories):
tests/redteam/corpus/attacks.json— full payload set with category labelsGENERATION.md— corpus generation protocolschema.json— payload schema
Run JSONLs (26,325 rows, 9 models × 585 payloads × N=5):
tests/redteam/runs/PRIMARY whitebox-no-feedback runs:
runs/adaptive/2026-04-28T19-50-*Static panel runs:
runs/static/Prompt-ablation (v3 / strict / paranoid):
runs/ablation/
Manifest hashes:
tests/redteam/runs/MANIFEST.sha256— byte-level integrity for all artifactsCroissant 1.0 metadata (Core + RAI fields):
paper-artifacts/croissant.jsonReproduction scripts (regenerate paper tables/figures from JSONL):
python3 paper-artifacts/gen-tables.py --table all— Tab.~bypassk / threat-ablation / cross-vendorpython3 paper-artifacts/gen-taxonomy-map.py— Fig.~taxonomy-map
License: corpus CC BY-SA 4.0, harness MIT.
For dataset schema, statistical methodology (bootstrap CI, Holm-Bonferroni, McNemar), full from-scratch re-collection instructions, JSONL row data dictionary, and responsible-disclosure policy, see docs/PAPER_REPRODUCTION.md.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityBmaintenanceWAF for AI agents — block prompt injection before it reaches the LLM.Last updated5MIT
- Alicense-qualityBmaintenanceAgentPay is the authorization layer between an AI agent and real spending. You define the rules — spending caps, allowed merchants, time windows — and every purchase attempt the agent makes is checked against them in real time. Approved transactions go through. Anything outside the mandate is blocked and logged. No more babysitting every agent action. No more runaway charges.Last updatedMIT
- Flicense-qualityCmaintenanceA local-first security gateway and visual dashboard for AI agents that enforces cost caps, blocks prompt injections, and requires approval for dangerous actions.Last updated2
- Alicense-qualityFmaintenanceEnables AI agents to make payments by securely storing encrypted card details and enforcing user-defined policies, allowing agents to fill checkout forms on any site.Last updated14MIT
Related MCP Connectors
The WAF for agents. Pattern-based + heuristic firewall scans prompts, RAG documents, tool argume...
Pay-per-call cybersecurity for AI agents: vuln scans, threat intel, compliance, code security.
Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/100xPercent/pop-pay'
If you have feedback or need assistance with the MCP directory API, please join our Discord server