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
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.6-cp313-cp313-win_amd64.whl (256.7 kB view details)

Uploaded CPython 3.13Windows x86-64

pop_pay-0.6.6-cp313-cp313-win32.whl (228.8 kB view details)

Uploaded CPython 3.13Windows x86

pop_pay-0.6.6-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (654.6 kB view details)

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

pop_pay-0.6.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (626.5 kB view details)

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

pop_pay-0.6.6-cp313-cp313-macosx_11_0_arm64.whl (157.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pop_pay-0.6.6-cp312-cp312-win_amd64.whl (204.2 kB view details)

Uploaded CPython 3.12Windows x86-64

pop_pay-0.6.6-cp312-cp312-win32.whl (175.8 kB view details)

Uploaded CPython 3.12Windows x86

pop_pay-0.6.6-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (499.1 kB view details)

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

pop_pay-0.6.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (478.4 kB view details)

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

pop_pay-0.6.6-cp312-cp312-macosx_11_0_arm64.whl (129.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pop_pay-0.6.6-cp311-cp311-win_amd64.whl (151.0 kB view details)

Uploaded CPython 3.11Windows x86-64

pop_pay-0.6.6-cp311-cp311-win32.whl (122.5 kB view details)

Uploaded CPython 3.11Windows x86

pop_pay-0.6.6-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (337.7 kB view details)

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

pop_pay-0.6.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (324.8 kB view details)

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

pop_pay-0.6.6-cp311-cp311-macosx_11_0_arm64.whl (101.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pop_pay-0.6.6-cp310-cp310-win_amd64.whl (98.0 kB view details)

Uploaded CPython 3.10Windows x86-64

pop_pay-0.6.6-cp310-cp310-win32.whl (69.5 kB view details)

Uploaded CPython 3.10Windows x86

pop_pay-0.6.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (187.7 kB view details)

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

pop_pay-0.6.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (181.2 kB view details)

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

pop_pay-0.6.6-cp310-cp310-macosx_11_0_arm64.whl (73.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: pop_pay-0.6.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 256.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.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6214e7be382dfd973fb1f2fc5cd82f8854169dea8c4bfd046b4d6b17a933e10b
MD5 ecff4d91f9b356df0f5bb4d915be4254
BLAKE2b-256 5e2efcce6a2a4801c9b25abdbd851c2d5a70a5fa92daf1487292793cdff9b67e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.6-cp313-cp313-win32.whl
  • Upload date:
  • Size: 228.8 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.6-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 39a781c1800cd71ad9ea1979b39fba1738f8f1e80c900452baa7b154ed36da78
MD5 db5b84ab758486ff1a1e9c629b047047
BLAKE2b-256 f282e4740927b17ce668f5ada848f263773e0d48ea4174a0fcf5321b286b21bb

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.6-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.6-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1fedbb1f9f974c8f8d63d0a45d0a59909247eefd5da34d38ba8419952d00c9ba
MD5 a1b627eefb7930d9c4b15c1ba281f37c
BLAKE2b-256 716f4914c4fe2e38df141631dd77133c1755af25eaf14eb21b54d0b144ca62b8

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.6-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.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6aeafed79ff1e3b12c09f577cb70b3c05dc294828ec6342523958be1c69e2a5c
MD5 3b0c3067e408b3c479e16ba2ab58ed21
BLAKE2b-256 41b832898a4b731f475e56ecf66b297349b428fb123d045a556f575e6083eadf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pop_pay-0.6.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 76ed38d743d5a0ea40ff6e52bdb708e63b32fecb7249ab683b4fd71277300cd1
MD5 177debea1a137d3c78348ac6676815a4
BLAKE2b-256 be09868aea4ccaa983f8fb368b5cb947a7e3123f58c1e8c666ceffd517aa2a3e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 204.2 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.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cbbb127cc6d593609c6f2c949e3903a91b17720d05a19c85fcaecc13c6d8590c
MD5 d5ba4b6b5f58e1cb908d81ddf5c869a6
BLAKE2b-256 a063020dd441a23be821f99379398d8a01bf53b998571bae4b647401c7c71aa6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.6-cp312-cp312-win32.whl
  • Upload date:
  • Size: 175.8 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.6-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 b55c2583441897e4e70a58705393af02b2bab7dc7e3cbc4593e7ec76c549658a
MD5 fc271f428ce76da089a3c7351fb06c66
BLAKE2b-256 35f775dea8c20b4d232f478cd178aebe143240cf62a3cea97385ddb655b78827

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.6-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.6-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6d3d50fd209cb927a083469c85d786d8407edc33baf5bdf7b17288fb5445592a
MD5 4d4a183f9f030698e35a97b6415c467a
BLAKE2b-256 69645d4befd737d238670673c1ccfcc953d1d9212d165a82dae882e6c3960624

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.6-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.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 11deccd81b5a217646109a47246ec1e1fc7d0d8fa16f4688831fcbfdf9cde385
MD5 06af5515260ec0cd55a015502a9fa5a2
BLAKE2b-256 7f2a82e8148485036ae48eaa381185bd981ad0bec4fdabc0620fa562ece271d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pop_pay-0.6.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d52045f8b59af0f0b41084615125020c4f5de6a324e25e75eb1714cfc7315aa5
MD5 12b5f4ff8dd9bd7e2c655fc2964c9a32
BLAKE2b-256 d32acbd93065ccbed54e052ce7e4f00ea21f04472eaebf1c3d189a2cdcf96865

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 151.0 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.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 07af1fa7d0a3a9f2d8e0268be8bc17a7113542b73a32958e16150528ce6ff1d2
MD5 41c24a5008cffe294d90b589301b6a05
BLAKE2b-256 512b5b01b68207b379f1c6cb9450127f6113b6fc5c5b0942de8ad261ff3c4616

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.6-cp311-cp311-win32.whl
  • Upload date:
  • Size: 122.5 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.6-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 feaea5e90c5ec50a964e3ce42a4b8cbbebb3287270cc4630a5612c0dfe6bf9e9
MD5 7ea720d52857bdeb60eb8e3cce03595a
BLAKE2b-256 0dae7246ad0a3ab747517e2f39d5cf3d1d586cb1cfd4218322216d1506ca2bc0

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.6-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.6-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f33cbbd8bbd2418b8858fe8fa14572f75f0c2629328a745ea15272a876eb9b8
MD5 1a835ab1a2e6e24fb761c1aaa6b0f31b
BLAKE2b-256 9d46a0777dd474363a2d2d6f80a0bbe8f7a89e00fad0b2da28e654ed8797e677

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.6-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.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 eaa9fac451710416a3e5b367bd2fa5b43ff0347301d09fb823c70c640020a2e0
MD5 3addff5d8be2a63adfc18fd4344ed859
BLAKE2b-256 def622e15784021bb19067a0c1dacac878097825dbf4823b2b911050b71db051

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pop_pay-0.6.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 24eba56c2ce78930dcf9ded3443266ce872402dded79fca4d7c3d0519ce666ff
MD5 c5f3720edf25dccb719d0b8384df9ee1
BLAKE2b-256 bb8113aa683c1d1d67cc38e8afd19ff3d46ae5c97c4e507712097a8aef7c6301

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 98.0 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.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4f43d5e721fa208e4d14f507c757e642f3ce94fdfa72763469d1d6256df72640
MD5 4372e7b0d1b209dd974f65870ccbbd03
BLAKE2b-256 a6bc512924d29fbfffebc330f791c3b8f5f63fb4fb61e911e04fe5cdf4fd2e3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.6-cp310-cp310-win32.whl
  • Upload date:
  • Size: 69.5 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.6-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 0ad9d110efbd41fed7875d4216f884ddc5422ca6e516ec3d4a8a1cbb7dd7618e
MD5 9dbdc99ca913fd0fd11c75868e6e6352
BLAKE2b-256 4893d685c21c2ec68b25f6eab245e93dc343c242978084c842ad390049abeb38

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.6-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.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 df2ced686c2c2a440b0bfce3ba1c62f30cef2f5080a95c997ae9b1c53cadf28d
MD5 f6da1272e25c42556c27454c376ca5c3
BLAKE2b-256 7c3be11008fff7ace2312aa2ddcdbd8efc274bc60a96294bd76e5d7318374d4d

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.6-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.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 48d87b5f91898072a0c512762c903beef4aab8bc26927dd6327212dabd65e6c6
MD5 b3a3545748fc75959015c9e26010d07a
BLAKE2b-256 d8e0504b038e48c368f1ea00e5833b9cc1ff67898df6c0874877c75a4d82a56e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pop_pay-0.6.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0e3316724048666dd6c1a7edc14a8fb2027341bf2a937406194c37d1496e5fa8
MD5 a176cf53a3c7eb68faa1631e868ec4d8
BLAKE2b-256 c437abb9fc99ddf2738f45b34e0d7765a10e36360760c16cfc6a65ae32b1ba72

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