Agent Payments
by @plagtech
The universal payment skill for AI agents. Fiat payments via Stripe (invoices, subscriptions, one-time charges), crypto payments via Coinbase Commerce (accep...
clawhub install agent-paymentsπ About This Skill
name: agent-payments description: > The universal payment skill for AI agents. Fiat payments via Stripe (invoices, subscriptions, one-time charges), crypto payments via Coinbase Commerce (accept BTC, ETH, USDC with a trusted brand), batch crypto payments via Spraay (pay multiple recipients in one transaction across 13+ chains), and x402 micropayments for agent-to-agent commerce. Use this skill whenever the user wants to: send money, accept payments, create invoices, charge customers, process payroll, pay contractors, tip someone, split a bill, distribute tokens, do batch payments, set up subscriptions, create payment links, accept crypto, send USDC, pay a team, airdrop tokens, process refunds, check payment status, or build any payment workflow. Also trigger for mentions of: Stripe, Coinbase Commerce, Coinbase Pay, batch payments, mass transfers, x402, micropayments, agent payments, crypto payroll, payment gateway, checkout, payment intent, or payment automation. version: 1.0.0 metadata: openclaw: requires: bins: - curl optionalEnv: - STRIPE_SECRET_KEY - COINBASE_COMMERCE_API_KEY - SPRAAY_GATEWAY_URL emoji: "π³" homepage: https://github.com/plagtech/agent-payments tags: - payments - stripe - coinbase - crypto - fiat - batch - x402 - invoices - payroll - subscriptions - agents - defi - usdc
π³ Agent Payments β Every Payment Rail for AI Agents
One skill. Every payment rail your agent needs.
Quick Start
Which rail do I need?
| Use Case | Rail | Command |
|---|---|---|
| Charge a customer in USD | Stripe | pay stripe charge |
| Create an invoice | Stripe | pay stripe invoice |
| Set up recurring billing | Stripe | pay stripe subscribe |
| Accept crypto from a customer | Coinbase | pay coinbase charge |
| Pay 1 person in USDC/ETH | Spraay | pay spraay send |
| Pay 10-1000 people at once | Spraay | pay spraay batch |
| Agent-to-agent micropayment | Spraay x402 | pay spraay x402 |
| Payroll (team/contractors) | Spraay | pay spraay payroll |
| Check any payment status | Any | pay status |
Setup
Each payment rail requires its own API key. You only need to configure the rails you use:
# Fiat payments (Stripe)
export STRIPE_SECRET_KEY="sk_live_..."Crypto acceptance (Coinbase Commerce)
export COINBASE_COMMERCE_API_KEY="..."Batch + x402 payments (Spraay)
export SPRAAY_GATEWAY_URL="https://gateway.spraay.app"
The skill works with any combination β install once, enable rails as needed.
Rail 1: Stripe (Fiat Payments)
Full Stripe integration for traditional payment processing. Your agent can charge customers, create invoices, manage subscriptions, and generate payment links.
Create a Payment (One-Time Charge)
curl -X POST https://api.stripe.com/v1/payment_intents \
-u "$STRIPE_SECRET_KEY:" \
-d amount=2000 \
-d currency=usd \
-d "payment_method_types[]"=card \
-d description="Service payment"
Parameters:
amount β Amount in cents (2000 = $20.00)currency β Three-letter ISO code (usd, eur, gbp, etc.)description β What the payment is forreceipt_email β Optional, sends receipt to customermetadata[key] β Custom key-value pairs for your recordsCreate an Invoice
# Step 1: Create invoice item
curl -X POST https://api.stripe.com/v1/invoiceitems \
-u "$STRIPE_SECRET_KEY:" \
-d customer="cus_..." \
-d amount=5000 \
-d currency=usd \
-d description="Consulting β March 2026"Step 2: Create and send invoice
curl -X POST https://api.stripe.com/v1/invoices \
-u "$STRIPE_SECRET_KEY:" \
-d customer="cus_..." \
-d collection_method=send_invoice \
-d days_until_due=30Step 3: Finalize and send
curl -X POST https://api.stripe.com/v1/invoices/{invoice_id}/finalize \
-u "$STRIPE_SECRET_KEY:"curl -X POST https://api.stripe.com/v1/invoices/{invoice_id}/send \
-u "$STRIPE_SECRET_KEY:"
Create a Subscription
curl -X POST https://api.stripe.com/v1/subscriptions \
-u "$STRIPE_SECRET_KEY:" \
-d customer="cus_..." \
-d "items[0][price]"="price_..." \
-d payment_behavior=default_incomplete
Create a Payment Link
curl -X POST https://api.stripe.com/v1/payment_links \
-u "$STRIPE_SECRET_KEY:" \
-d "line_items[0][price]"="price_..." \
-d "line_items[0][quantity]"=1
Check Payment Status
curl https://api.stripe.com/v1/payment_intents/{pi_id} \
-u "$STRIPE_SECRET_KEY:"
Status values: requires_payment_method, requires_confirmation, requires_action, processing, succeeded, canceled
Refund a Payment
curl -X POST https://api.stripe.com/v1/refunds \
-u "$STRIPE_SECRET_KEY:" \
-d payment_intent="pi_..."
For detailed Stripe API reference, see references/stripe-rail.md.
Rail 2: Coinbase Commerce (Crypto Acceptance)
Accept cryptocurrency payments through Coinbase Commerce. Customers pay in BTC, ETH, USDC, or other supported coins. Funds settle to your Coinbase account.
Create a Charge
curl -X POST https://api.commerce.coinbase.com/charges \
-H "Content-Type: application/json" \
-H "X-CC-Api-Key: $COINBASE_COMMERCE_API_KEY" \
-d '{
"name": "Service Payment",
"description": "Payment for consulting services",
"pricing_type": "fixed_price",
"local_price": {
"amount": "100.00",
"currency": "USD"
},
"metadata": {
"customer_id": "cust_123",
"order_id": "ord_456"
}
}'
Response includes:
hosted_url β Coinbase-hosted checkout page (redirect customer here)addresses β Direct crypto addresses for each supported coinexpires_at β Charge expires after 60 minutesCheck Charge Status
curl https://api.commerce.coinbase.com/charges/{charge_id} \
-H "X-CC-Api-Key: $COINBASE_COMMERCE_API_KEY"
Status timeline: NEW β PENDING β CONFIRMED / FAILED / EXPIRED
List All Charges
curl https://api.commerce.coinbase.com/charges \
-H "X-CC-Api-Key: $COINBASE_COMMERCE_API_KEY"
Cancel a Charge
curl -X POST https://api.commerce.coinbase.com/charges/{charge_id}/cancel \
-H "X-CC-Api-Key: $COINBASE_COMMERCE_API_KEY"
For detailed Coinbase Commerce reference, see references/coinbase-rail.md.
Rail 3: Spraay (Batch Payments + x402 Micropayments)
Spraay is the batch payment and micropayment layer. Pay multiple recipients in a single transaction across 13+ blockchains, or use x402 micropayments for agent-to-agent commerce.
What makes Spraay unique: Neither Stripe nor Coinbase can send payments to multiple recipients at once. Spraay does this natively β pay your whole team, distribute tokens to a community, or airdrop to thousands of addresses in one transaction.
Batch Payment (Multiple Recipients)
# Pay 3 people on Base in one transaction
curl -X POST "$SPRAAY_GATEWAY_URL/api/batch" \
-H "Content-Type: application/json" \
-d '{
"chain": "base",
"token": "USDC",
"recipients": [
{"address": "0xAlice...", "amount": "100.00"},
{"address": "0xBob...", "amount": "75.50"},
{"address": "0xCharlie...", "amount": "200.00"}
]
}'
Single Send
curl -X POST "$SPRAAY_GATEWAY_URL/api/send" \
-H "Content-Type: application/json" \
-d '{
"chain": "base",
"token": "USDC",
"to": "0xRecipient...",
"amount": "50.00"
}'
Supported Chains (13+)
Base, Ethereum, Arbitrum, Polygon, BNB Chain, Avalanche, Unichain, Plasma, BOB, Solana, Bittensor, Stacks, Bitcoin
x402 Micropayments (Agent-to-Agent)
x402 enables pay-per-request API calls. Your agent pays fractions of a cent per call β no subscriptions, no API keys, just HTTP payments.
# Any x402-enabled endpoint β payment happens via HTTP headers
curl "$SPRAAY_GATEWAY_URL/api/ai/inference" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-20250514",
"prompt": "Summarize this document"
}'
The Spraay gateway has 76+ x402 endpoints across 16 categories:
Bitcoin Batch Payments (PSBT)
# Prepare a Bitcoin batch transaction
curl -X POST "$SPRAAY_GATEWAY_URL/api/bitcoin/batch-prepare" \
-H "Content-Type: application/json" \
-d '{
"fromAddress": "bc1q...",
"recipients": [
{"address": "bc1qAlice...", "amountSats": 50000},
{"address": "bc1qBob...", "amountSats": 75000}
],
"feeRate": 10
}'
For detailed Spraay reference, see references/spraay-rail.md.
Cross-Rail Workflows
Workflow: Accept fiat, pay team in crypto
1. Customer pays via Stripe β pay stripe charge
2. Confirm payment received β pay status
3. Batch pay your team in USDC via Spraay β pay spraay batch
Workflow: Crypto invoice with fiat fallback
1. Create Coinbase Commerce charge β pay coinbase charge
2. If customer prefers fiat, create Stripe payment link β pay stripe link
3. Track both β pay status
Workflow: Agent-to-agent service payment
1. Agent A calls Agent B's API via x402 β pay spraay x402
2. Payment settles automatically via HTTP headers
3. No invoicing, no accounts, no API keys needed
Workflow: Payroll (contractors worldwide)
1. US contractors β Stripe (ACH/direct deposit) 2. International contractors β Spraay batch (USDC on Base/Polygon) 3. One skill handles both rails
Payment Status (Universal)
Check payment status across any rail:
# Stripe payment
./scripts/pay.sh status stripe pi_1234...Coinbase charge
./scripts/pay.sh status coinbase charge_5678...Spraay transaction
./scripts/pay.sh status spraay tx_9abc...
Reference Docs
See references/ for detailed documentation on each payment rail:
stripe-rail.md β Full Stripe API reference (PaymentIntents, Invoices, Subscriptions, Customers)coinbase-rail.md β Coinbase Commerce API reference (Charges, Webhooks, Checkout)spraay-rail.md β Spraay Protocol reference (Batch payments, x402 gateway, Bitcoin PSBT, supported chains, RTP)Links
π‘ Examples
Which rail do I need?
| Use Case | Rail | Command |
|---|---|---|
| Charge a customer in USD | Stripe | pay stripe charge |
| Create an invoice | Stripe | pay stripe invoice |
| Set up recurring billing | Stripe | pay stripe subscribe |
| Accept crypto from a customer | Coinbase | pay coinbase charge |
| Pay 1 person in USDC/ETH | Spraay | pay spraay send |
| Pay 10-1000 people at once | Spraay | pay spraay batch |
| Agent-to-agent micropayment | Spraay x402 | pay spraay x402 |
| Payroll (team/contractors) | Spraay | pay spraay payroll |
| Check any payment status | Any | pay status |
βοΈ Configuration
Each payment rail requires its own API key. You only need to configure the rails you use:
# Fiat payments (Stripe)
export STRIPE_SECRET_KEY="sk_live_..."Crypto acceptance (Coinbase Commerce)
export COINBASE_COMMERCE_API_KEY="..."Batch + x402 payments (Spraay)
export SPRAAY_GATEWAY_URL="https://gateway.spraay.app"
The skill works with any combination β install once, enable rails as needed.