Payspawn
Add spending controls to any AI agent that makes API payments.
- Rating
- 4.1 (232 reviews)
- Downloads
- 2,685 downloads
- Version
- 1.0.0
Overview
Add spending controls to any AI agent that makes API payments.
Complete Documentation
View Source →
PaySpawn — Agent Payment Controls
Set spending limits for AI agents that make payments autonomously. Limits are enforced at the smart contract level on Base — not in software, not on a server. The contract cannot be overridden.
Install
npm install @payspawn/sdk
Credential Setup (One Human Step)
Before the agent can make payments, the wallet owner must create a credential:
- Go to payspawn.ai/dashboard
- Connect your wallet (MetaMask, Coinbase Wallet, or any USDC wallet on Base)
- Approve a USDC spending ceiling (one on-chain transaction, ~$0.005 gas)
- Set limits: daily cap, per-transaction cap, optional address whitelist
- Sign the credential (EIP-712 signature — no gas, no transaction)
- Copy the credential string and set it as
PAYSPAWN_CREDENTIALin your environment
Usage
import { PaySpawn } from "@payspawn/sdk";
const ps = new PaySpawn(process.env.PAYSPAWN_CREDENTIAL);
// Auto-pay x402 APIs within your set limits
const res = await ps.fetch("https://api.example.com/endpoint");
// Send a payment
await ps.pay("0xRecipientAddress", 1.00);
// Check balance and remaining daily allowance
const { balance, remaining } = await ps.check();
// Pause all payments instantly (on-chain, immediate effect)
await ps.agent.pause();
// Resume payments
await ps.agent.unpause();
Fleet Mode
Provision multiple agent credentials from one shared pool. One wallet funds the pool; each agent gets its own credential with its own daily limit.
// Create a shared budget pool
const pool = await ps.pool.create({ totalBudget: 100, agentDailyLimit: 10 });
// Fund the pool: send USDC to pool.address from your wallet
// Provision credentials for each agent
const fleet = await ps.fleet.provision({ poolAddress: pool.address, count: 10 });
// fleet[0], fleet[1], ... → credential strings, one per agent
Contract Enforcement
Every payment is checked by the PaySpawn V5 contract on Base before any USDC moves:
- Daily allowance exceeded → transaction reverts
- Amount exceeds per-tx cap → transaction reverts
- Recipient not on whitelist → transaction reverts
Contract address (Base Mainnet): 0xaa8e6815b0E8a3006DEe0c3171Cf9CA165fd862e
USDC (Base): 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Links
Installation
openclaw install payspawn
💻Code Examples
npm install @payspawn/sdk
## Credential Setup (One Human Step)
Before the agent can make payments, the wallet owner must create a credential:
1. Go to [payspawn.ai/dashboard](https://payspawn.ai/dashboard)
2. Connect your wallet (MetaMask, Coinbase Wallet, or any USDC wallet on Base)
3. Approve a USDC spending ceiling (one on-chain transaction, ~$0.005 gas)
4. Set limits: daily cap, per-transaction cap, optional address whitelist
5. Sign the credential (EIP-712 signature — no gas, no transaction)
6. Copy the credential string and set it as `PAYSPAWN_CREDENTIAL` in your environment
The credential is not a private key. Your wallet key never leaves your control. The agent can only spend within the limits you set — the contract enforces this and cannot be bypassed.
## Usageawait ps.agent.unpause();
## Fleet Mode
Provision multiple agent credentials from one shared pool. One wallet funds the pool; each agent gets its own credential with its own daily limit.import { PaySpawn } from "@payspawn/sdk";
const ps = new PaySpawn(process.env.PAYSPAWN_CREDENTIAL);
// Auto-pay x402 APIs within your set limits
const res = await ps.fetch("https://api.example.com/endpoint");
// Send a payment
await ps.pay("0xRecipientAddress", 1.00);
// Check balance and remaining daily allowance
const { balance, remaining } = await ps.check();
// Pause all payments instantly (on-chain, immediate effect)
await ps.agent.pause();
// Resume payments
await ps.agent.unpause();// Create a shared budget pool
const pool = await ps.pool.create({ totalBudget: 100, agentDailyLimit: 10 });
// Fund the pool: send USDC to pool.address from your wallet
// Provision credentials for each agent
const fleet = await ps.fleet.provision({ poolAddress: pool.address, count: 10 });
// fleet[0], fleet[1], ... → credential strings, one per agentTags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.