The agent that spends money should not be the component that holds the keys. PayPack enforces that boundary: the agent gets a payment intent and a status, while merchant credentials, provider secrets and order records stay on the server side.
| Component | Has access to | Never has access to |
|---|---|---|
| AI agent / LLM | Amount, subject, channel, payment URL or QR payload, order status | Merchant private key, API v3 key, provider credentials |
| PayPack server-side component | Merchant keys, provider credentials, local order records | — |
Because the agent only sees a payment intent, a compromised prompt cannot exfiltrate merchant credentials — there are none in the agent's context.
Provider callbacks are not signed by default in several fiat rails, which means anyone who learns the callback URL can send a POST. PayPack therefore never marks an order paid on the callback alone. Instead:
On-chain payments accept a spend_limit_daily value. When the limit is reached, further payments fail instead of silently draining the wallet. Limits are evaluated before the transaction is broadcast.
pay = AgentPay(
wallet_config={"private_key": "0x..."},
network="base-sepolia",
spend_limit_daily=10.0, # hard cap per 24h
)
| Signer | Key location | Use case |
|---|---|---|
LocalSigner | Local key file / environment variable | Development, small deployments |
AWSKMSSigner | Key never leaves AWS KMS | Production deployments |
Swapping a local signer for KMS does not change the agent code — only the signer construction.
Every successful payment returns a receipt containing either an on-chain transaction hash or a provider order id. Receipts are the audit trail: they can be stored, re-verified and reconciled against the local order record.
PayPack is a developer tool for payment integration. It does not provide investment services, does not promise returns, and does not hold user funds.
Operated by Xiamen Shizhun Technology Co., Ltd. (Unified Social Credit Code: 91350211MA34XHGG5T) · Website: rhcjw.com · ICP filing: 闽ICP备2024041817号-2