Skip to main content
Glama

npm version License: MIT CI Node.js

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-pay
curl -fsSL https://raw.githubusercontent.com/100xPercent/pop-pay/main/install.sh | sh
npm install -g pop-pay
npx -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-pythonpip 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-vault

This 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 session

2. Launch Chrome with CDP remote debugging

pop-pay launch

This 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.json

  • Windsurf: ~/.codeium/windsurf/mcp_config.json

  • VS Code (Copilot): .vscode/mcp.json in project root

OpenClaw has its own CLI — the JSON config above is not needed.

openclaw mcp add pop-pay -- npx -y pop-pay launch-mcp

Or 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 -d

Runs the MCP server + headless Chromium with CDP. Mount your encrypted vault from the host.

MCP Tools

Tool

Description

request_virtual_card

Issue a virtual card and inject credentials into the checkout page via CDP. Automatically scans the page for hidden prompt injections.

request_purchaser_info

Auto-fill billing/contact info (name, address, email, phone). Automatically scans the page for hidden prompt injections.

request_x402_payment

Pay for API calls via the x402 HTTP payment protocol.

Tip for Claude Code users: Add the following to your project's CLAUDE.md to help the agent know when to call pop-pay: "When you encounter a payment form or checkout page, use the request_virtual_card tool. For billing/contact info forms, use request_purchaser_info first."

Configuration

Core variables in ~/.config/pop-pay/.env. See ENV_REFERENCE.md for the full list.

Variable

Default

Description

POP_ALLOWED_CATEGORIES

["aws","cloudflare"]

Approved vendor categories — see Categories Cookbook

POP_MAX_PER_TX

100.0

Max USD per transaction

POP_MAX_DAILY

500.0

Max USD per day

POP_BLOCK_LOOPS

true

Block hallucination/retry loops

POP_AUTO_INJECT

true

Enable CDP card injection

POP_GUARDRAIL_ENGINE

keyword

keyword (zero-cost) or llm (semantic)

Guardrail Mode

keyword (default)

llm

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 POP_STRIPE_KEY.

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 (****-4242) in all MCP responses, logs, and tracebacks

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

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 labels

    • GENERATION.md — corpus generation protocol

    • schema.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 artifacts

  • Croissant 1.0 metadata (Core + RAI fields): paper-artifacts/croissant.json

  • Reproduction scripts (regenerate paper tables/figures from JSONL):

    • python3 paper-artifacts/gen-tables.py --table all — Tab.~bypassk / threat-ablation / cross-vendor

    • python3 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

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
12Releases (12mo)
Commit activity

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

  • A
    license
    -
    quality
    B
    maintenance
    AgentPay 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 updated
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    A local-first security gateway and visual dashboard for AI agents that enforces cost caps, blocks prompt injections, and requires approval for dangerous actions.
    Last updated
    2
  • A
    license
    -
    quality
    F
    maintenance
    Enables 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 updated
    14
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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