Skip to main content

letagentpay

Python SDK for LetAgentPay — AI agent spending policy middleware. Set budgets, define spending policies, and control AI agent purchases.

Installation

pip install letagentpay

Quick Start

from letagentpay import LetAgentPay

client = LetAgentPay(token="agt_xxx")

# Create a purchase request
result = client.request_purchase(
    amount=15.0,
    category="api_calls",
    description="OpenAI GPT-4 call",
)
print(result.status)  # "auto_approved" / "pending" / "rejected"

# Check budget
budget = client.check_budget()
print(f"Remaining: ${budget.remaining}")

@guard Decorator

Automatically check the spending policy before executing a function:

from letagentpay import guard

@guard(token="agt_xxx", category="api_calls", amount=0.03)
def call_openai(prompt: str) -> str:
    return openai.chat.completions.create(
        model="gpt-4",
        messages=[{"role": "user", "content": prompt}]
    ).choices[0].message.content

# Runs only if the policy allows it
result = call_openai("Analyze this document")

x402 Crypto-Micropayments

Authorize on-chain USDC payments via the x402 protocol. Same policy engine, same token — different payment rail.

client = LetAgentPay(token="agt_xxx")

# Agent receives HTTP 402 — ask LAP for authorization
auth = client.x402.authorize(
    amount_usd=0.05,
    asset="USDC",
    network="eip155:8453",       # Base mainnet
    pay_to="0xMerchant...",
    resource_url="https://api.example.com/data",
)

if auth.authorized:
    # Sign tx with your own wallet, then report
    client.x402.report(
        authorization_id=auth.authorization_id,
        tx_hash="0xabc123...",
    )
else:
    print(f"Declined: {auth.reason}")

# Check x402 budget and wallets
budget = client.x402.budget()

# Register wallet address (LAP never holds keys)
client.x402.register_wallet("0x1234...", chain="base")

Environment Variables

export LETAGENTPAY_TOKEN=agt_xxx
export LETAGENTPAY_BASE_URL=https://api.letagentpay.com/api/v1/agent-api  # optional
# Token is taken from LETAGENTPAY_TOKEN
client = LetAgentPay()

Security Model

LetAgentPay uses server-side cooperative enforcement. When your agent calls request_purchase(), the request is evaluated by the policy engine on the LetAgentPay server. The agent receives only the result (approved/denied/pending) and cannot:

  • Modify its own policies (the agt_ token grants access only to the Agent API)
  • Override policy check results (they come from the server)
  • Approve its own pending requests (only a human can do that via the dashboard)

This is a cooperative model — it protects against budget overruns, category violations, and scheduling mistakes by well-behaved agents. It does not sandbox a malicious agent that has direct access to payment APIs.

Best Practices

  • Don't give your agent raw payment credentials (Stripe keys, credit card numbers). LetAgentPay should be the only spending channel
  • Use pending + manual approval for high-value purchases
  • Set per-request limits as an additional barrier
  • Review the audit trail in the dashboard regularly

Documentation

License

MIT

Metadata

Release files for letagentpay 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for letagentpay 0.2.4
File Size Uploaded
letagentpay-0.2.4.tar.gz 11.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for letagentpay 0.2.4
File Interpreter ABI Platform
letagentpay-0.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 21.2 kB

Release files / letagentpay-0.2.4.tar.gz

Download URL letagentpay-0.2.4.tar.gz
Size 11.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f3973b736bc881e676ae3420ba7e07817ba280b7da0cadf2a770902d9b1b0cc7
BLAKE2b-256 checksum
How to use checksums
41b2b2e8147637a9cf728bd05e2ada2bbe21971100f8b0508e5fa8957c91bb21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release files / letagentpay-0.2.4-py3-none-any.whl

Download URL letagentpay-0.2.4-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f83e455acd774c2b70c68c33bcc1a53adc070fc04a9dae2f98cafa9fa5446e32
BLAKE2b-256 checksum
How to use checksums
7639e056b951136f64896b52ad97792e48918fd9f96485a5fee870548f9ddb6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.4 This release

2 release files

0.2.3

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page