Registry / auth-security / pop-pay

pop-pay

JSON →
library0.8.9pypypiunverified

pop-pay is a runtime security layer for AI agent commerce. It provides a drop-in CLI and MCP server to block hallucinated purchases and keep card credentials out of agent context. Current version is 0.8.9, and it follows an active release cadence with security hardening and documentation updates.

pip install pop-pay
INSTALL
IMPORT
SIG · POP-PAY
P
pop-pay
auth-securitypythonv0.8.9
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

PopPay
from pop_pay import PopPay
from pop_pay import PopPay

Initialize the vault, set guardrails, inject credentials, and start MCP server.

from pop_pay import PopPay, create_guardrails, inject_payment_info from pop_pay.vault import initialize_vault # Initialize vault (passphrase stored in env var) initialize_vault() # Create guardrails with allowed vendor domains app = PopPay(guardrails=create_guardrails(allowed_vendors=["stripe.com", "shopify.com"])) # Inject payment info into a checkout form (after domain verification) inject_payment_info(page_url="https://stripe.com/checkout", card_number=os.environ.get('CARD_NUMBER', '')) # Run the MCP server app.run_mcp()
pop-pay --version
Debug
Known issues
breakingPassphrase vault mode (v0.6.0+) requires a passphrase; vault created without passphrase cannot be read by older versions.
fix
Ensure all agents use pop-pay >= 0.6.0 with same passphrase.
affects: <0.6.0 or >=0.6.0 if mixing vaults
gotchainject_payment_info verifies current page domain against guardrails BEFORE injection. If domain check fails, injection is blocked silently.
fix
Always set allowed_vendors in guardrails and ensure the agent navigates to the correct domain before calling inject_payment_info.
affects: >=0.6.0
deprecatedSQLite storage of card_number/cvv was removed in v0.6.0. The issued_seals table no longer contains full card details.
fix
Do not rely on database storage for card data; use vault with passphrase.
affects: >=0.6.0
gotchaThe CLI tool is named 'pop-pay' but the Python package import uses underscore: pop_pay. Commands like 'pop-pay init' require the CLI, not the Python module.
fix
Use 'pip install pop-pay' for Python library; CLI install via npm or brew available for Node.js users.
affects: all
Upgrade
Version history
0.8.9latest on PyPI · released Apr 16, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
33 hits · last 30 days
node
28
OpenAI (training)
1
Resources
pop-pay — pip install pop-pay · libregistry