Package Exports
- agent-payment-mcp
- agent-payment-mcp/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (agent-payment-mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
agent-payment-mcp π
Give your AI agent a USDC wallet. Pay-per-call any API. One signature, 90 days, done.
β‘ Try in 30 seconds β no signup, no API key
1. Add to ~/Library/Application Support/Claude/claude_desktop_config.json (or your Cursor / Cline MCP config):
{
"mcpServers": {
"lemon": {
"command": "npx",
"args": ["-y", "agent-payment-mcp"]
}
}
}2. Restart Claude Desktop.
3. Ask Claude:
"list the services available in lemon"
or
"use lemon to search Wikipedia for AI agents"
That's it. Demo Mode runs against real Wikipedia, real FX rate, and real httpbin APIs. No credentials, no USDC, no signup.
π³ Unlock paid services β 90-second setup, no JWT, no API key
Demo Mode is fully functional but limited. To unlock Serper (Google search), Hunter.io (verified emails), gBizINFO (JP corporate data), NTA invoice verification, and 20+ more:
- Open lemoncake.xyz/start/v2
- Sign in with Google (Privy creates an embedded wallet β keys stay on your device)
- Get USDC: Apple Pay / Google Pay / Coinbase / JPY bank transfer (built in, 30 sec)
- Sign one ERC-2612 permit β "up to $25/day, valid 90 days". One click. No gas.
- Copy the resulting
LEMON_CAKE_PERMITblob
Then your MCP config becomes:
{
"mcpServers": {
"lemon": {
"command": "npx",
"args": ["-y", "agent-payment-mcp"],
"env": {
"LEMON_CAKE_PERMIT": "<paste the permit blob here>"
}
}
}
}After that, every API call settles directly from your wallet to the API provider with no signing prompts for 90 days. LemonCake's address never appears in the transaction path.
Why ERC-2612 permit beats Pay Token JWT
We retired the old JWT-based "Pay Token" in v0.7. The current permit-based flow is strictly better:
| Old (Pay Token JWT) | New (ERC-2612 permit) | |
|---|---|---|
| Signup | Required | Required only for paid services |
| Custody | LemonCake held your USDC | You hold your USDC |
| Signature count | Every top-up | Once per 90 days |
| Revoke | Dashboard β API call | Spend the daily cap, expire naturally, or revoke on-chain |
| FSA registration | Required | Not required (confirmed Q11) |
| Reach | Japan-friendly | Same |
Lost permit blob = bounded loss (β€ $25/day until you revoke or it expires). The agent literally cannot spend more than the cap encoded in the on-chain signature.
What an agent can do with it
Agent (Claude Desktop, Cursor, Cline, any MCP client)
β
ββ list_services() β browse LemonCake API marketplace
ββ check_balance() β see your USDC balance + permit expiry
ββ call_service(...) β pay-per-call any HTTP API
β βββ demo_search (Wikipedia, free)
β βββ demo_fx (live FX rates, free)
β βββ demo_echo (httpbin, free)
β βββ serper (Google search, $0.005)
β βββ hunter (verified emails, $0.05)
β βββ gbizinfo (JP company registry, $0.01)
β βββ nta_invoice (JP tax invoice verify, $0.005)
β βββ β¦more added monthly
ββ check_tax(taxid) β verify a JP T-number (free)For developers building MCP servers
Want to monetize your own MCP server? Add USDC pay-per-call billing in 3 lines with @lemon-cake/mcp-sdk:
import { withPayment } from "@lemon-cake/mcp-sdk";
server.tool("my_premium_tool", withPayment({ price: 0.01 }, async (args) => {
// your existing tool logic
return { content: [{ type: "text", text: "result" }] };
}));Self-service registration at lemoncake.xyz/sellers:
- Enter your name, email, and Base wallet address
- Get a
serviceIdinstantly - Set your price per call (min $0.001)
- First 1,000 calls/month are free β Pattern 4 metering
- Above the free tier: $0.005/call default (you choose)
- USDC settles directly to your wallet on every call
No Stripe setup, no KYC on your side, no platform middleman holding your revenue.
Why this is FSA-compliant (and global-compliant)
The 2026-05-21 reply from Japan's FSA Fintech Support Desk (Q11) confirmed that a pure SDK distribution model where:
- LemonCake never touches user USDC
- LemonCake never operates the smart contract
- All payments settle directly from user wallet β provider wallet
β¦does NOT require the "electronic payment means management" registration.
The same architecture is registration-exempt under:
| Jurisdiction | Reasoning |
|---|---|
| πΊπΈ USA | FinCEN 2019 guidance Β§4.5 β non-custodial software is not a money services business |
| πͺπΊ EU | MiCA β non-CASP (non-custodial wallet software) |
| π¬π§ UK | FCA β Tech Service Provider |
| πΈπ¬ Singapore | MAS β DPT non-applicable |
| π¨π¦ Canada | FINTRAC β non-custodial MSB exemption |
| π¨π Switzerland | FINMA β non-financial intermediary |
See lemoncake.xyz/security for the full posture.
Security
Audited May 2026 by @kleosr. All critical and high-severity findings fixed in v0.7+. See GitHub Security Advisories for details.
Built-in protections:
- On-chain hard cap β agent cannot exceed the daily cap baked into the permit signature
- No private keys in the MCP server β permit signature is mathematically scope-limited
- Auto-revoke on expiry β permits self-destruct after 90 days
- Idempotency keys required on paid calls (no double-charges on retries)
- Real-time quota check on the metering API
Links
| Try it (no signup) | Add the config above and ask Claude |
| Unlock paid services | lemoncake.xyz/start/v2 |
| Publish your API | lemoncake.xyz/sellers |
| Source code | github.com/evidai/agent-payment-mcp |
| SDK for sellers | @lemon-cake/mcp-sdk |
| MCP Registry | registry.modelcontextprotocol.io |
| Discord | #showcase in MCP Discord |
| License | MIT |
Other LemonCake MCPs (Demo Mode all work the same way)
- alpaca-guard-mcp β Alpaca paper trading with hard USD cap
- xstocks-mcp β Buy tokenized stocks (AAPLx, TSLAx, etc.) on Solana with USDC
- tokenized-stock-mcp β Buy Dinari dShares with USDC
- polymarket-guard-mcp β Polymarket prediction markets with USDC
All built on @lemon-cake/mcp-sdk.