Skip to main content

Point One Percent - Semantic Payment Guardrail for AI Agents. it only takes 0.1% of Hallucination to drain 100% of your wallet.

Project description

Point One Percent (AgentPay)

Point One Percent - Agent Pay

Note: This is the PyPI published documentation. For the full architecture diagrams and real UI screenshots, please visit the GitHub Repository.

Glama MCP score    Point One Percent on Product Hunt

it only takes 0.1% of Hallucination to drain 100% of your wallet.

Point One Percent — live CDP injection demo

Point One Percent is a payment guardrail and one-time flow protocol specifically designed for Agentic AI (e.g., OpenClaw, NemoClaw, Claude Code, OpenHands). It enables agents to handle financial transactions safely without risking unlimited exposure of human-controlled credit cards.

1. The Problem

When Agentic AI encounters a paywall (e.g., domain registration, API credits, compute scaling) during an automated workflow, it is often forced to stop and wait for human intervention. However, providing a physical credit card directly to an agent introduces a "trust crisis": hallucinations or infinite loops could lead to the card being drained.

2. Dual Architecture

Point One Percent is designed with a "Dual Architecture" vision to scale from open-source local experiments to enterprise-grade AI production pipelines.

1. Hacker Edition (BYOC + DOM Injection)

Built for open-source frameworks like OpenClaw and NemoClaw. The agent never receives the true credit card number—it only sees a masked version (`****-4242`). When the agent successfully navigates to a checkout paywall, the PopBrowserInjector attaches to the active Chromium browser via the Chrome DevTools Protocol (CDP). It precisely traverses all cross-origin iframes (like Stripe Elements) and injects the real credentials deep into the DOM form elements, delivering 100% protection against prompt injection or hallucination-driven extractions. Bring Your Own Card (BYOC) locally with absolute peace of mind.

2. Enterprise Edition (Stripe Issuing)

The "North Star" for the broader Agentic SaaS ecosystem. Proving that Point One Percent has the enterprise-grade extensibility required for the real world, it seamlessly connects to verified financial infrastructure. Perfect for platforms building "Agentic Visa" services that programmatically issue real, single-use, burner virtual credit cards (VCCs) via the Stripe API for cloud-hosted AI fleets.


3. Ecosystem Position: Point One Percent + Browser Agents = Unstoppable

Modern agentic workflows require two complementary capabilities. Point One Percent does one, and does it exceptionally well.

What Point One Percent Is — and Isn't

Point One Percent is the agent's financial brain and safe vault. It is responsible for:

  • Evaluating whether a purchase should happen (semantic guardrails)
  • Enforcing hard budget limits (daily cap, per-transaction cap)
  • Issuing one-time virtual cards so real credentials are never exposed
  • Maintaining a full audit trail of every payment attempt

Point One Percent does NOT:

  • Navigate websites or interact with DOM elements
  • Solve CAPTCHAs or bypass bot-detection systems

That's the browser agent's job.

The Handshake: How Point One Percent and Browser Agents Work Together

The real power emerges when Point One Percent is paired with a browser automation agent (e.g., OpenHands, browser-use, Skyvern). The workflow is a clean division of labor:

1. [Browser Agent]  Navigates to a site, scrapes product info, reaches checkout.
        │
        │  (Hit a paywall / payment form)
        ▼
2. [Browser Agent → POP MCP]  Calls request_virtual_card(amount, vendor, reasoning)
        │
        │  (Point One Percent evaluates: budget OK? vendor approved? no hallucination?)
        ▼
3. [POP]  Issues a one-time virtual card (Stripe mode) or mock card (dev mode).
            Full card credentials handled only by the local trusted process —
            never exposed to the agent or LLM context.
        │
        ▼
4. [POP]  Injects real credentials into the checkout form via CDP.
            The agent receives only a transaction confirmation — no card details.
        │
        ▼
5. [Browser Agent]  Clicks the submit button to complete the transaction.
        │
        ▼
6. [The Vault]  Dashboard logs the transaction. Card is immediately burned.

Supported Integrations

Integration path Works with
MCP Tool Claude Code, OpenClaw, NemoClaw, OpenHands, any MCP-compatible host
Python SDK Custom Playwright, browser-use, Skyvern, Selenium, gemini-cli

Any browser-capable agent (Claude Code, OpenClaw, browser-use, Skyvern, etc.) gets full CDP injection — card is auto-filled into the payment form, the agent only ever sees the masked confirmation (****-****-****-4242). See the Integration Guide for setup instructions and System Prompt templates.


4. Installation

Shell note: [...] is special syntax in zsh and bash — always wrap the package name in quotes.

# Core only (keyword guardrail + mock provider, zero external dependencies)
pip install "pop-pay"

# Claude Code / MCP integration
pip install "pop-pay[mcp]"

# Claude Code + CDP injection (BYOC)
pip install "pop-pay[mcp,browser]"

# With LLM-based guardrails (supports OpenAI, Ollama, vLLM, OpenRouter)
pip install "pop-pay[mcp,llm]"

# With Stripe virtual card issuing
pip install "pop-pay[stripe]"

# With LangChain integration
pip install "pop-pay[langchain]"

# Full installation (all features)
pip install "pop-pay[all]"

5. Quick Start for OpenClaw / NemoClaw / Claude Code / OpenHands

If you're using OpenClaw, NemoClaw, Claude Code, OpenHands, or any MCP-compatible agentic framework, you can get Point One Percent running in under 2 minutes:

Step 1: Set Up Environment & Install

# Create a dedicated directory and virtualenv
mkdir ~/pop-pay && cd ~/pop-pay
python3 -m venv .venv && source .venv/bin/activate

# Install — quotes required for zsh/bash
pip install "pop-pay[all]"

Contributing / local development? See CONTRIBUTING.md for the git clone + uv sync path.

Step 1b: Initialize the Credential Vault

v0.6.0+: Credentials are stored in an AES-256-GCM encrypted vault — no plaintext .env required.

pop-init-vault

This will prompt for your card credentials (input is hidden), encrypt them into ~/.config/pop-pay/vault.enc, and securely wipe any existing .env. The MCP server auto-decrypts the vault at startup — no extra steps needed per session.

Passphrase mode (stronger — protects against agents with shell access):

pop-init-vault --passphrase   # one-time setup
pop-unlock                     # run once before each MCP server session

pop-unlock derives the key from your passphrase and stores it in the OS keyring. The MCP server reads it automatically at startup.

Security levels (lowest → highest):

Mode Protects against
.env file (legacy) Nothing — plaintext on disk
Vault, machine key, OSS source File-read agents
Vault, machine key, pip install pop-pay File-read agents + casual shell inspection
Vault + passphrase File-read agents + shell agents
Stripe Issuing (commercial) All local threats — no credentials stored

Policy & non-credential config (allowed vendors, spending limits, CDP URL) is still read from ~/.config/pop-pay/.env. Only card credentials moved to the vault.

Step 2: Launch Chrome & Get MCP Commands

pop-launch --print-mcp

This launches Chrome with CDP enabled and prints the exact claude mcp add commands to run.

Step 3: Add to Claude Code

Choose your platform and follow the dedicated setup guide:

Platform Setup Guide
Claude Code (BYOC + CDP injection, recommended) Integration Guide §1
Python script / gemini-cli Integration Guide §2
Playwright / browser-use / Skyvern Integration Guide §3
OpenClaw / NemoClaw Integration Guide §4
OpenHands Add python -m pop_pay.mcp_server to your mcpServers config

Step 4: Configure Policy

Edit ~/.config/pop-pay/.env (see Step 1b). Key variables:

Variable Default Description
POP_ALLOWED_CATEGORIES ["aws","cloudflare"] Vendors the agent is allowed to pay — see Categories Cookbook
POP_MAX_PER_TX 100.0 Max $ per transaction
POP_MAX_DAILY 500.0 Max $ per day
POP_BLOCK_LOOPS true Block hallucination/retry loops
POP_AUTO_INJECT false Enable CDP card injection
POP_GUARDRAIL_ENGINE keyword Guardrail engine: keyword (zero-cost, default) or llm (semantic, two-layer) — see Guardrail Mode

After editing .env, fully close and reopen Claude Code. The MCP server loads configuration at startup — !claude mcp list alone is not sufficient to pick up .env changes.

Guardrail Mode: Keyword vs LLM

Point One Percent ships with two guardrail engines. You switch between them with a single env var:

keyword (default) llm
How it works Blocks requests whose reasoning string contains suspicious keywords (e.g. "retry", "failed again", "ignore previous instructions") Sends the agent's reasoning to an LLM for deep semantic analysis
What it catches Obvious loops, hallucination phrases, prompt injection attempts Subtle off-topic purchases, logical inconsistencies, policy violations that keyword matching misses
Cost Zero — no API calls, instant One LLM call per request_virtual_card invocation
Dependencies None Any OpenAI-compatible endpoint
Best for Development, low-risk workflows, cost-sensitive setups Production, high-value transactions, untrusted agent pipelines

Tip: keyword mode requires no extra config. To enable LLM mode, see the full configuration reference in the Integration Guide §1.

Step 4: Use It

Your agent now has access to two tools:

Tool When to use
request_purchaser_info Billing/contact info page (name, email, phone, address) — no card fields visible yet
request_virtual_card Payment page — card fields are visible. Also fills billing fields if present on the same page.

Single-page checkout (e.g. Wikipedia donate): agent calls only request_virtual_card. Two-page checkout (e.g. billing info → payment): agent calls request_purchaser_info first, then request_virtual_card.

When it encounters a paywall:

Agent: "I need to purchase an API key from AWS for $15 to continue."
[Tool Call] request_virtual_card(amount=15.0, vendor="AWS", reasoning="Need API key for deployment")
[POP] Payment approved. Card Issued: ****4242, Expiry: 12/25, Amount: 15.0
Agent: "Purchase successful, continuing workflow."

If the agent hallucinates or tries to overspend:

Agent: "Let me retry buying compute... the previous attempt failed again."
[Tool Call] request_virtual_card(amount=50.0, vendor="AWS", reasoning="failed again, retry loop")
[POP] Payment rejected. Reason: Hallucination or infinite loop detected in reasoning

6. Core Components

The Vault

A local visualization console powered by Streamlit and SQLite (pop_state.db). The Vault allows humans to:

  • Monitor all issued seals and agent spending activity in real-time.
  • Monitor global budget utilization.
  • Audit rejection logs from semantic guardrails.

The Seal

Virtual, single-use payment credentials with built-in enforcement:

  • Daily Budget Limit Enforcement: Automatically blocks any request that would exceed the predefined daily spending cap.
  • Burn-after-use Interception: Ensures that once a virtual card is used, it is immediately invalidated, preventing replay attacks or unauthorized recurring charges.

Semantic Guardrails

Point One Percent provides two modes of intent evaluation. Both are controlled by POP_GUARDRAIL_ENGINE in your .env (see §5 Step 3 for full configuration).

  1. Keyword mode (POP_GUARDRAIL_ENGINE=keyword, default): The GuardrailEngine scans the agent's reasoning string for suspicious phrases associated with loops or hallucinations (e.g., "retry", "failed again", "ignore previous"). Zero dependencies, zero latency, zero cost. Recommended as the starting point for all setups.

  2. LLM mode (POP_GUARDRAIL_ENGINE=llm): The LLMGuardrailEngine sends the agent's reasoning to an LLM for deep semantic analysis, catching subtler misuse that keyword matching would miss — such as off-topic purchases or logically inconsistent justifications. Supports any OpenAI-compatible endpoint: OpenAI, Ollama (local), vLLM, OpenRouter, and more.

7. Security Statement

Security is a first-class citizen in Point One Percent. The SDK masks card numbers by default (e.g., ****-****-****-4242) when returning authorization results to the agent. This prevents sensitive payment information from leaking into agent chat logs, model context windows, or persistent logs, ensuring that only the execution environment handles the raw credentials.

v0.6.0 defense-in-depth hardening:

Layer Defense
Encrypted vault Card credentials stored as AES-256-GCM ciphertext (vault.enc); plaintext never touches disk after pop-init-vault
Passphrase mode Key derived from user passphrase via PBKDF2 (600k iterations); stored in OS keyring — agents with shell access cannot derive the key
Database SQLite only stores masked card (****-4242); card_number and cvv columns removed entirely
Injection-time TOCTOU guard Domain verified against guardrail-approved vendor at the moment of injection — prevents redirect-to-attacker attacks
Repr redaction VirtualSeal.__repr__ always emits ****-REDACTED; credentials cannot leak via logs or tracebacks
Core dump prevention MCP server disables core dumps at startup (RLIMIT_CORE=0)
Process isolation Agent communicates via MCP JSON-RPC as a separate process — cannot access MCP server memory or env vars through the protocol

See SECURITY.md for the full threat model, red team results, and documented limitations.

8. The Vault Dashboard

The Vault is your real-time monitoring console for all agent payment activity.

Starting the Dashboard

cd Point-One-Percent
uv run streamlit run dashboard/app.py
# Dashboard opens at http://localhost:8501

Dashboard Layout

Section Description
Sidebar: Max Daily Budget slider Adjust the displayed budget cap for visualization (does not affect backend policy — backend policy is configured via env vars or SDK)
Today's Spending Total amount spent by agents today
Remaining Budget How much budget is left for the day
Budget Utilization Visual progress bar showing spend %
Issued Seals & Activity Full table of all payment attempts (approved + rejected) with seal ID, amount, vendor, status, and timestamp
Rejected Summary Filtered view showing only rejected/blocked attempts for quick auditing

Tips

  • Click Refresh Data in the sidebar to pull latest activity from the database.
  • The dashboard reads from pop_state.db — the same database the SDK writes to. Keep both running simultaneously for live monitoring.
  • Each row in the table corresponds to a single request_virtual_card call from an agent.

9. Python SDK Quickstart

Integrate Point One Percent into your custom Python or LangChain workflows in just a few lines:

from pop_pay.client import PopClient
from pop_pay.providers.stripe_mock import MockStripeProvider
from pop_pay.core.models import GuardrailPolicy

# Define your safety policy
policy = GuardrailPolicy(
    allowed_categories=["API", "Cloud", "SaaS"],
    max_amount_per_tx=50.0,
    max_daily_budget=200.0,
    block_hallucination_loops=True
)

# Initialize the client with keyword-only guardrails (default)
client = PopClient(
    provider=MockStripeProvider(),
    policy=policy,
    db_path="pop_state.db"
)

# Use with LangChain Tool
from pop_pay.tools.langchain import PopPaymentTool
tool = PopPaymentTool(client=client, agent_id="agent-01")

For LLM guardrail engine setup and the full provider reference, see Integration Guide §2.


10. Payment Providers: Stripe vs Mock

Without Stripe (Default — Mock Provider)

By default, Point One Percent uses the MockStripeProvider which simulates virtual card issuance. This is perfect for:

  • Development and testing — no real money involved
  • Demo and evaluation — see the full flow without any API keys
  • Hackathons — get a working prototype in minutes

Mock cards are fully functional within the system (budget tracking, burn-after-use, guardrails all work), but they are not real payment instruments.

BYOC — Bring Your Own Card (Hacker Edition)

For developers who want to use their own physical credit card with Point One Percent without a Stripe account. The LocalVaultProvider reads card credentials from environment variables and injects them into browser payment forms via CDP — the raw PAN is never exposed to the agent.

Add to your ~/.config/pop-pay/.env:

POP_BYOC_NUMBER=4111111111111111   # Your real card number
POP_BYOC_CVV=123
POP_BYOC_EXP_MONTH=12              # Expiry month, e.g. 04
POP_BYOC_EXP_YEAR=27               # Expiry year, e.g. 31
POP_AUTO_INJECT=true

Then restart Claude Code. The MCP server will automatically use LocalVaultProvider.

Provider priority (high → low): Stripe Issuing → BYOC Local → Mock.

If POP_STRIPE_KEY is set, Stripe takes precedence. If POP_BYOC_NUMBER is set (but no Stripe key), LocalVaultProvider is used. If neither is set, MockStripeProvider is used for development.

Security note: Never commit real card numbers to version control. Always use .env (which is .gitignored) or a secrets manager. The CDP injection ensures the full card number is only handled by the local trusted process, never by the LLM.

For Python SDK usage of each provider, see Integration Guide §2.

With Real Stripe Issuing

To issue real virtual credit cards through Stripe Issuing:

Prerequisites:

  1. A Stripe account with Issuing enabled (requires application approval)
  2. Your Stripe secret key (sk_live_... or sk_test_...)

Option A: Via Environment Variable (for MCP Server)

export POP_STRIPE_KEY=sk_live_your_stripe_key_here
python -m pop_pay.mcp_server
# The MCP server will automatically use StripeIssuingProvider

What Stripe Issuing does:

  • Creates a real Stripe Cardholder (POP Agent)
  • Issues a virtual card with a spending limit matching the approved amount
  • Returns masked card details (last 4 digits only) to the agent
  • All Stripe errors are caught and returned as rejection reasons

Note: Stripe Issuing is a premium Stripe product that requires approval. For most development and demo use cases, the Mock provider is sufficient.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pop_pay-0.6.10-cp313-cp313-win_amd64.whl (258.7 kB view details)

Uploaded CPython 3.13Windows x86-64

pop_pay-0.6.10-cp313-cp313-win32.whl (230.7 kB view details)

Uploaded CPython 3.13Windows x86

pop_pay-0.6.10-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (656.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

pop_pay-0.6.10-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (628.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

pop_pay-0.6.10-cp313-cp313-macosx_11_0_arm64.whl (159.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pop_pay-0.6.10-cp312-cp312-win_amd64.whl (206.1 kB view details)

Uploaded CPython 3.12Windows x86-64

pop_pay-0.6.10-cp312-cp312-win32.whl (177.7 kB view details)

Uploaded CPython 3.12Windows x86

pop_pay-0.6.10-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (501.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

pop_pay-0.6.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (480.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

pop_pay-0.6.10-cp312-cp312-macosx_11_0_arm64.whl (131.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pop_pay-0.6.10-cp311-cp311-win_amd64.whl (152.9 kB view details)

Uploaded CPython 3.11Windows x86-64

pop_pay-0.6.10-cp311-cp311-win32.whl (124.4 kB view details)

Uploaded CPython 3.11Windows x86

pop_pay-0.6.10-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (339.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

pop_pay-0.6.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (326.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

pop_pay-0.6.10-cp311-cp311-macosx_11_0_arm64.whl (103.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pop_pay-0.6.10-cp310-cp310-win_amd64.whl (99.8 kB view details)

Uploaded CPython 3.10Windows x86-64

pop_pay-0.6.10-cp310-cp310-win32.whl (71.4 kB view details)

Uploaded CPython 3.10Windows x86

pop_pay-0.6.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (189.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

pop_pay-0.6.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (183.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

pop_pay-0.6.10-cp310-cp310-macosx_11_0_arm64.whl (75.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file pop_pay-0.6.10-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pop_pay-0.6.10-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 258.7 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pop_pay-0.6.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 42412840e81f4a817db5a4af581d4a3e89b74c1c0be0440fdee18a87aca9ff5c
MD5 92190765dee3048b75d4434401ea7997
BLAKE2b-256 1e09d06daa2e7a5eca5a006afad6f1347af2296abea6ad27837fe187148a5ee5

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp313-cp313-win32.whl.

File metadata

  • Download URL: pop_pay-0.6.10-cp313-cp313-win32.whl
  • Upload date:
  • Size: 230.7 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pop_pay-0.6.10-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 716256df5ecf0086bfa456ce8f32f8a40442fba792fe478eec07d5c714d5c49f
MD5 d092a109f6c722f7a08bb48cd371ad73
BLAKE2b-256 562b6366b710044400ca63858df6650e580a3a654b622ae5372a6051114f915c

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pop_pay-0.6.10-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 53a6753bed980125afcb85019537a95854d0c87052d5ca442ff4346d7326c987
MD5 7525c9924106520c664b06957f8f2f30
BLAKE2b-256 64725403614d512e02385e03c711a97a0e3877292db2fc19370a4eb44fe676ea

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pop_pay-0.6.10-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 860fcbea3bd8f220df1fdbb67ec1411b1c77364f9694bdc8fad6904ad1f77ec7
MD5 3b30d75bd126a940f4a6d55f255c0c9c
BLAKE2b-256 1886109ca23265f874652624cae0c8cbde0bc94b1afdcab6217f458b3485eb09

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pop_pay-0.6.10-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bad1fbcbbf49525c15516db38ab1abf668ce13eb9f54a23ce23ad5ac3db452bb
MD5 a316f8de19feba0203534fdb30b7587d
BLAKE2b-256 b29ad9ea18874b824edec321a3361bbd5ba871f7dbf6ed2cc20226d1ff7eaa02

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pop_pay-0.6.10-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 206.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pop_pay-0.6.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e3401d4c6a68a9cc094952ca7b4ee972a050db03ac306618d71b50ea205b6991
MD5 4405c5c07db78929b73c724670a6eb4f
BLAKE2b-256 8e05e9a6d31e589a657e72552b7fb5c901d7bfa9f00799ce07f7629c6dbaed25

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp312-cp312-win32.whl.

File metadata

  • Download URL: pop_pay-0.6.10-cp312-cp312-win32.whl
  • Upload date:
  • Size: 177.7 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pop_pay-0.6.10-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 1d929f3000840c14161a429b1df90841c550b70ea17fb487d01832c1caaea809
MD5 f6f127a2cb4d49420ed9012239885274
BLAKE2b-256 26a6f5435efe9f5153d644e3a381c684e2b7be32cd711709ea3e9f9c2a813517

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pop_pay-0.6.10-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bb0f6f08dea278f7f8f8a9fef0699288b9745fa2dcf16e80aacfdfd515475372
MD5 d2213ed39dcf7e35a61f457a76b59f43
BLAKE2b-256 79a35ca4440a72b90f3e5d816443dd3a785ff4e472091b9b8e6c77bf8bf16b67

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pop_pay-0.6.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ade56645874106bf1197d52642bcd21c08f5d3d9cb7624579101b7cbcaf2f23e
MD5 bd983c05aaf1b0a0f2db1003c4d88c6a
BLAKE2b-256 7566fa3dc98dae4b59ad9180f0d336b2c33ed97be8d86354c747648694455ab4

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pop_pay-0.6.10-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e05b3e9fc7fa9ea6be60d5a1d0b204750a7a37b89780886acaade78d7c9d96c3
MD5 d1cbefea2ba1f398ddda83ad81ee11e8
BLAKE2b-256 30702fb82cf9b6bf78300370712113a17a1c454900418ce224856b59734b7a87

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pop_pay-0.6.10-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 152.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pop_pay-0.6.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e873a5b4ec385cd7a0ee29272a5f9f3aa434c8e5bf7b4eaaa2583bcdddc5c220
MD5 98191b86d94536081be9b91b46248378
BLAKE2b-256 352f18dab196a4d838b2c6e9deedd38981154b5c1ba17c6fa68410e79afd4ac4

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp311-cp311-win32.whl.

File metadata

  • Download URL: pop_pay-0.6.10-cp311-cp311-win32.whl
  • Upload date:
  • Size: 124.4 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pop_pay-0.6.10-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 a0d108f53608d34256bab8e3545e68fb25ce1738cd6ecf04350ac849f2116d38
MD5 f9cdcf4ba27e306d07356517ab5489a4
BLAKE2b-256 74ae44688456c3c732145f9bc8e055e70cd8425ade220a88079c883d2683c854

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pop_pay-0.6.10-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 96072c4afdc6054ea4de4f124e05cec18e585d10b226d675e4f9f5c2715ee389
MD5 89855776e116646a2b7689dbe4500eaf
BLAKE2b-256 d2667a66f117c368b9f3c06d7bc64a2a7f900b38358268aedd300fa3534848b7

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pop_pay-0.6.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 12d608b63a7b9935948824290c9de5cd40c0d2948df0861dd3790486220de190
MD5 441532a36cc24b74cd27b071df4d42cc
BLAKE2b-256 57fe4a8f059a6936a6489d3dccf9e3c118ab1a243ba56c76c4d8346238433526

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pop_pay-0.6.10-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 86ced0bddd1e928fa04f44fc0ad9f11a9d7d61eefed2b05dd7d5fe3985aef229
MD5 752e3688e9c75be175ed72a37e336762
BLAKE2b-256 3d89edf19e38a4548fb6e08c9cb2a88051bdb6908feb9a1d63f969a3acb36300

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pop_pay-0.6.10-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 99.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pop_pay-0.6.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2a6a2ddec2e24d063686e0d702cf093b10fda477a101988fa3691d4fb94202c7
MD5 78a1c0c0680e935fe5f10520d7ab127f
BLAKE2b-256 521a2d04b8503f08e686b350d16fadaf5841951813f48d8379bbf15fd7cb513c

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp310-cp310-win32.whl.

File metadata

  • Download URL: pop_pay-0.6.10-cp310-cp310-win32.whl
  • Upload date:
  • Size: 71.4 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pop_pay-0.6.10-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 dc8e8c31606163b5f60186691d5881879fb5548d0f8abcf628ff52abb78be2a7
MD5 a9c188c8119157d2fbf56d353b4ea30d
BLAKE2b-256 5bd5976eab7966d7b3d076d43decd6ebc12ed31bf2c495fd6d4dcbe728272289

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pop_pay-0.6.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a805fe6c4d05c79c47a936e4e3a7ab18a992cd6f307c3f7df06f07e105b3c320
MD5 1e4a315aca184d0c2860c8bae7d0d597
BLAKE2b-256 28a79dc8499789032c575223b9412555a098a47f52f55e47b798de513078a319

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pop_pay-0.6.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5b35e1c475cae4ff39b76af8454940007740e15e6b0fbb0e23e6c7aa823cdee5
MD5 bea36d574f66c37b489b9f1f32afc7fa
BLAKE2b-256 8fe844434be3a1308d7ebae085fdc69ad4efbdb997ff36c7ad7e07d5131637f2

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.10-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pop_pay-0.6.10-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 89fd29ab2eb8bd494bc84b7147b4f592fa145f3713db909b955406d406ac8640
MD5 352903443c27259fc401227a0457bb02
BLAKE2b-256 c7fa4661a365308920283e0b294d5f77e7f22f9ec0f83e70f2905d0531690a55

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page