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

Uploaded CPython 3.13Windows x86-64

pop_pay-0.6.9-cp313-cp313-win32.whl (229.6 kB view details)

Uploaded CPython 3.13Windows x86

pop_pay-0.6.9-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (655.3 kB view details)

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

pop_pay-0.6.9-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (627.3 kB view details)

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

pop_pay-0.6.9-cp313-cp313-macosx_11_0_arm64.whl (158.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pop_pay-0.6.9-cp312-cp312-win_amd64.whl (205.0 kB view details)

Uploaded CPython 3.12Windows x86-64

pop_pay-0.6.9-cp312-cp312-win32.whl (176.6 kB view details)

Uploaded CPython 3.12Windows x86

pop_pay-0.6.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (499.9 kB view details)

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

pop_pay-0.6.9-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (479.2 kB view details)

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

pop_pay-0.6.9-cp312-cp312-macosx_11_0_arm64.whl (130.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pop_pay-0.6.9-cp311-cp311-win_amd64.whl (151.8 kB view details)

Uploaded CPython 3.11Windows x86-64

pop_pay-0.6.9-cp311-cp311-win32.whl (123.3 kB view details)

Uploaded CPython 3.11Windows x86

pop_pay-0.6.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (338.5 kB view details)

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

pop_pay-0.6.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (325.5 kB view details)

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

pop_pay-0.6.9-cp311-cp311-macosx_11_0_arm64.whl (102.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pop_pay-0.6.9-cp310-cp310-win_amd64.whl (98.7 kB view details)

Uploaded CPython 3.10Windows x86-64

pop_pay-0.6.9-cp310-cp310-win32.whl (70.3 kB view details)

Uploaded CPython 3.10Windows x86

pop_pay-0.6.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (188.4 kB view details)

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

pop_pay-0.6.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (182.0 kB view details)

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

pop_pay-0.6.9-cp310-cp310-macosx_11_0_arm64.whl (74.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: pop_pay-0.6.9-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 257.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.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 049c0272b15cdb1265de55d669e1a9020663a7205cf26b1c6f1d56944f965334
MD5 3fa7933012278eec2f8ea160019a2f2d
BLAKE2b-256 aa616fca3e2901c7435827449e5ef9b83a360539e0d042a8c3822c0e2001b5e2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.9-cp313-cp313-win32.whl
  • Upload date:
  • Size: 229.6 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.9-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 99d5dec5304b6be626fb276b550975a147c71d0e3a4b9e0214d5af3f847b9c2f
MD5 f1ac14c0a8966c4cce2076a2b9662b5b
BLAKE2b-256 f6087ba9ebf09ee87fb17cc707bc8c0c2a26a4be6970260aaeb649d77ad7a84f

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.9-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.9-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9993660282e159c028ebf96111e7cfd11f31e79b6d4b838ea42e146866203e6
MD5 f823d6eb4069004849cf55c404de4c0c
BLAKE2b-256 59256145e154b8822648d11b544d9c9d301228b257c3e967f091518e1cac392c

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.9-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.9-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 bbd7f6d12ca2c038c27c77797a0ba7b76842494a3dc142d033bdded18d164ca9
MD5 04053b637f21da4c0ddb606a8ebd9d59
BLAKE2b-256 e6abcce32026ce594f0f124389ae51c61fc11bcd48e2adbac60a904d9084fb74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pop_pay-0.6.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 feabcad08b3a14484da7b574d0e82794e0fcf87271068e10e966797b3b2bf86c
MD5 bda864a4978d0453fef89af5085690c1
BLAKE2b-256 d5297be0fa0c052fed9d64a2bc9f49368bf4bd8a57423824efc8663fe884a81e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.9-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 205.0 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.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 87bb070a621c7be99f218d9a674ccce38290424ad4802f7bacb95c5a003fefc6
MD5 bf7d73db220c67641c02fa5cffc714cf
BLAKE2b-256 60d3c3e049cd63e078e64e72c87907de30413a8702445df931bc5b1c51c763ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.9-cp312-cp312-win32.whl
  • Upload date:
  • Size: 176.6 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.9-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 e5d27d0e68ad7ce947104b0eb1266e9b5c45984f3c7d4f973158772f7a49336e
MD5 e880545075dda0e8d89a75287f8f2fd3
BLAKE2b-256 1c0ade52d1feebdbff53b59484678a81f0442432e1128a6fcdead1ab43d19793

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.9-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.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae296271f8355c64da3f4a158124f9650db69148a3d057a22b6141d9525094d0
MD5 b4512f6af1f7e04d8f4a44988ed26675
BLAKE2b-256 91ab9e01bf802c4687bdae4b461fd319d11de9bb01c20a285bafd427b688be68

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.9-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.9-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 83bd14c89cb1c456abd28d63ce6451561eaa510ba2aaf6d323611cff81f09093
MD5 c83f30c5a5a138bab4ef3cec2a8673b6
BLAKE2b-256 53e10a1c3d0e99fd9a66c1144c428083f32c02f3309ec55983fb5c2e205afc9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pop_pay-0.6.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cca9b99647944a8b6ffdbd221c1bf9f97c566a53a9f652e636d18093616826eb
MD5 02e978206d8767ab75d702e8b64657f4
BLAKE2b-256 f3c1e9c6db6619ed5693ed005030a26053e75d90e106ed3c54d2866122701734

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.9-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 151.8 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.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 66f80af6e7145926e2a0bbcd455498c272467dd5a557d3ab0f579da3952235e8
MD5 2b49d297909bf134b3d5fb85959cd8c5
BLAKE2b-256 e8ce35da438fcd1cb3d6d71303ae5ea908367a71de909986f3a3f98f7f937789

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.9-cp311-cp311-win32.whl
  • Upload date:
  • Size: 123.3 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.9-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 3f454229d7c0ab6cec60bd3b659f98a3aec6beb5dcfced1a62a147cbc08eb8e1
MD5 f68a848a95e01fbaaa03058595dafde1
BLAKE2b-256 ad92952ec2d9faf80f9e44a63505b2d1da83b16a501df8e01212a0acc3abc0a0

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.9-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.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 40b56e5f36843104128022eafe61e904d11378f5a6ae6f3be7aeff476b4cc6ca
MD5 fd553b6ec7cbc0c975291f132d1ac87c
BLAKE2b-256 a595418b8c2b0de4fc69694ab39019049bffde37dd714afe9de0ad5e84e79de3

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.9-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.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2612f7e07df13e2ae8b7a10b1f66790b7c81aea0af92f012df168633b6b5afc0
MD5 318862d8adfee2553352c4e7a9a9ec9b
BLAKE2b-256 b085a9a6400d2161ae3c77b74f0e4b1b845ef95820d8f16e4b67344b845028a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pop_pay-0.6.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 afc1e8e31f0341dceb24e25029b94a1c44d8bdbd8e7f11b71fc0f1c1a30b94eb
MD5 40b71716db2234548d77767d3d764ad3
BLAKE2b-256 d087265c6bcb73c67703e6264567d61ae07826a7731bc30d41b866d77dba1e5b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.9-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 98.7 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.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b4e6f545158a40861e2d9c4ed0376a6b93d80d7873d68227aca994a9fcc03879
MD5 4205e30ef0b00213ce7949142b1787dc
BLAKE2b-256 105a591720ad1e33ab4de7fac7eb4946d57b5efcbd8daba0000b8bb84caf8bfa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pop_pay-0.6.9-cp310-cp310-win32.whl
  • Upload date:
  • Size: 70.3 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.9-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 e8a8cddfc525dcdc64ceaf94bc9de67388ec38f0d2aeabdc565edd7301fbf9b1
MD5 9e547eedbe044463550b9395487c89b1
BLAKE2b-256 3a87d2d3525a3fed588df5da1c050288418237faf25138dbe862760950b98883

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.9-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.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc5dc5e8a47dad0f2de22c5dde6f1128a097d39b289f88eb7b9af0b36efb7af3
MD5 e88219e6ae2bca820c3ede6d2fa9e723
BLAKE2b-256 b7793c74a4b49032627ab68a543c9ef76bb875b95f3a57ef9f50741bcfcd49f7

See more details on using hashes here.

File details

Details for the file pop_pay-0.6.9-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.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 56b0093353e5e914c16cf6c9fee74ce1e9306f298ecbf9643b0272cd3496cf37
MD5 19f7aaefdedb664fbe23b9922bbd76c6
BLAKE2b-256 d5e48c43293c3a623776d48146915060d2527e529c0efff4cb02104f3a648926

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pop_pay-0.6.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 55ac2a861b90b13d3acf54cd1bd954e950e4785608853e3db853ee8c537c9295
MD5 0799a8808589b68743f82af02a0a8ac7
BLAKE2b-256 d71085b09cdb9a66f784b147d2794f0cd6a8eb65070bd6baa5c6a29abb1d46a8

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