Spawnpay is the payment proxy for AI agents. One spk_* key gets your agent a USDC wallet on Base L2 plus billed, budgeted, audited access to Brave, Tavily, OpenAI, Anthropic, OpenRouter, Replicate and every paid MCP in the registry.
# Wrap any MCP tool with a per-call charge import { paywall } from 'spawnpay-paywall'; const fetchTweet = paywall( { price: 0.01, vendor: 'SP_yourCode' }, fetchTweetImpl );
# That's it. Agents pay 1¢ per call. # You keep 99.5%. Spawnpay takes 0.5%. # Python? Same shape. @paywall(price=0.01, vendor="SP_yourCode") async def fetch_tweet(url): ...
Your agent already has 8 different API keys floating around — Brave, OpenAI, Replicate, Anthropic, you name it. Wrong layer for budgets, wrong layer for audits, wrong layer for billing. Spawnpay routes the request, charges $0.001 USDC per call, hands you a unified receipt + budget guardrail. BYOK so we never resell quota.
# curl — same shape for any provider curl -X POST https://spawnpay.ai/api/proxy \ -H "Authorization: Bearer spk_live_..." \ -H "X-Provider-Key: $BRAVE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "provider": "brave", "path": "/res/v1/web/search", "method": "GET", "query": { "q": "spawnpay" } }'
# Node — same shape for OpenAI, Tavily, Anthropic… await fetch('https://spawnpay.ai/api/proxy', { method: 'POST', headers: { Authorization: `Bearer ${SPK}`, 'X-Provider-Key': process.env.OPENAI_API_KEY, 'Content-Type': 'application/json', }, body: JSON.stringify({ provider: 'openai', path: '/v1/chat/completions', method: 'POST', body: { model: 'gpt-4o-mini', messages: [...] }, }), });
BYOK: you keep your relationship with the upstream. Spawnpay charges $0.001 USDC per successful call (non-2xx is free), enforces your daily / perCall budget across providers, fires wallet.send webhooks, returns a tx hash you can settle into your books. Catalog at /api/proxy/providers.
curl -X POST https://spawnpay.ai/api/proxy \ -H "Content-Type: application/json" \ -d '{"provider":"openmeteo","path":"/v1/forecast","method":"GET", "query":{"latitude":48.85,"longitude":2.35,"current":"temperature_2m"}}'
Click RUN to fetch live weather through Spawnpay.
You shipped an MCP. Agents are calling it. You're not making a cent. Two lines fix that.
# Node — npm install spawnpay-paywall import { paywall } from 'spawnpay-paywall'; const decompile = paywall( { price: 0.10, vendor: 'SP_yourCode' }, decompileImpl );
# Python — pip install "git+https://github.com/Robocular/spawnpay#subdirectory=packages/paywall-py" from spawnpay_paywall import paywall @paywall(price=0.10, vendor="SP_yourCode") async def decompile(binary_path): ...
No Stripe, no card forms, no human checkout. Calling agent's SPAWNPAY_API_KEY env is debited per call. Receipt + idempotency for free. Failed charges block the tool from running.
~/.spawnpay/budget-state.json, no backend round-trip.# Same wrap, two extra fields paywall({ price: 0.005, vendor: 'SP_search', budget: { daily: 1.00, perCall: 0.10, warnAt: [0.5, 0.8] }, onBudgetWarn: ({ fraction, dailySpent }) => alert(...), }, fn)
Live MCPs charging real USDC per call. Install one, point an agent at it, watch the wallet balance move. Or use them as the template for your own.
spk_* key. BYOK upstream credentials, $0.001 routing fee per 2xx, unified receipts.# MCP client config — three LLM providers, one key "command": "npx", "args": ["-y", "https://github.com/Robocular/spawnpay/releases/download/paid-mcps-v0.4.0/paid-llm-mcp-0.1.0.tgz"], "env": { "SPAWNPAY_API_KEY": "spk_live_...", "OPENAI_API_KEY": "sk-...", "ANTHROPIC_API_KEY": "sk-ant-...", "OPENROUTER_API_KEY": "sk-or-..." }
# MCP client config "command": "npx", "args": ["-y", "https://github.com/Robocular/spawnpay/releases/download/paid-mcps-v0.4.0/paid-image-mcp-0.1.0.tgz"], "env": { "SPAWNPAY_API_KEY": "spk_live_...", "REPLICATE_API_TOKEN": "r8_...", "OPENAI_API_KEY": "sk-..." }
# MCP client config (no install step) "command": "npx", "args": ["-y", "https://github.com/Robocular/spawnpay/releases/download/paid-mcps-v0.2.0/paid-cloud-scrape-mcp-0.2.0.tgz"], "env": { "SPAWNPAY_API_KEY": "spk_live_..." }
# MCP client config (no install step) "command": "npx", "args": ["-y", "https://github.com/Robocular/spawnpay/releases/download/paid-mcps-v0.2.0/paid-screenshot-mcp-0.2.0.tgz"], "env": { "SPAWNPAY_API_KEY": "spk_live_..." }
# Install + run
npm install -g paid-search-mcp
SPAWNPAY_API_KEY=spk_live_... paid-search-mcp
# Install + run
npm install -g tweet-fetcher-mcp
SPAWNPAY_API_KEY=spk_live_... tweet-fetcher-mcp
# Install + run
npm install -g paid-fetch-mcp
SPAWNPAY_API_KEY=spk_live_... paid-fetch-mcp
# Install + run
npm install -g paid-arxiv-mcp
SPAWNPAY_API_KEY=spk_live_... paid-arxiv-mcp
# Install from source until PyPI publish pip install "git+https://github.com/Robocular/spawnpay#subdirectory=packages/paywall-py/examples/paid-shorten-mcp"
# scaffold a paid MCP, ready to publish
npx https://github.com/Robocular/spawnpay/releases/download/paid-mcps-v0.2.0/create-paid-mcp-0.1.0.tgz my-tool
spawnpay-paywall on npm — auto-listed here.Your agents earn 15% of every transaction fee from agents they refer.
Agents inject referral codes into sub-agent system prompts. Viral by design.
# Referral earnings per level Level 1 (direct) 15% of fees Level 2 5% of fees Level 3 2% of fees
Signup bonuses and referral payouts are backed 1:1 by on-chain USDC on Base.
npx spawnpay-mcp
{
"mcpServers": {
"spawnpay": {
"command": "npx",
"args": ["spawnpay-mcp"]
}
}
}