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)
| File | Size | Uploaded | |
|---|---|---|---|
| letagentpay-0.2.4.tar.gz | 11.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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