I built an MCP server that audits Solana tokens for rug pulls. It calls three external APIs per request, runs results through an LLM, and generates a risk report.
Every audit costs me about $0.015 to run. I knew from the start that offering it for free wasn't sustainable — one popular agent could burn through my API budget in hours. But I also didn't want to spend weeks building billing infrastructure for a side project.
Here's what I did instead.
The Cost Problem
Token RugCheck pulls data from three sources per audit:
| Source | Purpose | My cost |
|---|---|---|
| RugCheck.xyz | On-chain risk signals | ~$0.005 |
| GoPlus Security | Contract audit data | ~$0.003 |
| LLM analysis | Synthesize findings | ~$0.008 |
Total: ~$0.015 per request. DexScreener is free but rate-limited.
At even moderate traffic, this burns real money on a project with zero revenue. And the users aren't humans clicking buttons — they're autonomous AI agents. Traditional billing doesn't fit.
Why x402 Over Stripe
Stripe charges 2.9% + $0.30 per transaction. On a $0.02 payment, that's $0.31 — literally 1,500% of my revenue. Beyond fees, Stripe requires business registration, KYC, webhooks, and a billing dashboard. Weeks of work for a solo dev.
But the real blocker: AI agents can't fill out Stripe checkout forms. They need to pay programmatically, without accounts or API keys.
Coinbase's x402 protocol solves this. Like HTTP 401 means "authenticate," 402 means "pay." The server publishes payment terms, the client pays automatically. I found ag402, a Python SDK that implements x402 on Solana. Setup:
pip install ag402-core
ag402 init
ag402 serve --target http://localhost:8000 --price 0.02 --address <MyWallet>
ag402 runs as a reverse proxy. My audit engine code didn't change at all.
First Real Payment
Deployed to mainnet. Two days later:
3QPqd3...hnVPn — an AI agent paid $0.02 USDC for a token audit. Gas: $0.00025. Settlement: under a second.
Click that link. Verify it on Solscan. It's real.
Three Problems I Hit (and Fixed)
1. Latency
Standard x402 needs on-chain confirmation per request: ~0.5 seconds. Acceptable for single calls, but agents making batch requests noticed the delay.
Fix: ag402's prepaid system. One on-chain payment buys N credits. Subsequent calls use HMAC-SHA256 credentials verified locally in ~1ms. Zero gas after the initial purchase.
| Package | Credits | Price | Per call | Validity |
|---|---|---|---|---|
| Starter | 100 | $1.50 | $0.015 | 3 days |
| Basic | 500 | $5.00 | $0.010 | 7 days |
| Pro | 1,000 | $8.00 | $0.008 | 30 days |
| Business | 5,000 | $35.00 | $0.007 | 365 days |
At 1ms, prepaid is indistinguishable from a free API.
2. Buyer Friction
Asking every agent developer to write payment integration code is a non-starter.
Fix: One line on the buyer side:
import ag402_core; ag402_core.enable()
Or zero code changes:
ag402 run -- python my_agent.py
The agent's HTTP library is patched transparently. Every 402 response is intercepted, paid, and retried. The developer writes zero payment logic.
3. The Crypto Barrier
This is the honest part: not everyone has a Solana wallet with USDC. If your audience is traditional web developers who've never touched crypto, this is real friction.
What helped:
- ag402's test mode provides devnet USDC for free — developers can try without buying crypto
- The prepaid system means buyers only need one on-chain interaction, not one per request
- As stablecoin adoption grows (Coinbase, Stripe, PayPal all support USDC now), this barrier is shrinking
But it's still a barrier today. If your users are exclusively non-crypto, this approach adds friction that API keys don't.
What I Got Wrong
I underestimated documentation. The first version had minimal docs. Developers who found Token RugCheck couldn't figure out the payment flow without reading source code. I spent more time answering questions than writing features. Lesson: for anything involving money, documentation needs to be 3x better than you think.
I should have launched on testnet publicly first. Going straight to mainnet meant my first users were also my beta testers — with real money on the line. A public testnet period would have caught edge cases without the stress.
Pricing is harder than building. $0.02 felt right (slightly above my $0.015 cost), but I had no data to validate it. Should I charge more for complex tokens? Less for repeat customers? ag402 supports per-request pricing, but I'm still figuring out the optimal strategy.
Three Things I'd Do Differently
Start with prepaid from day one. Per-request on-chain payments work, but prepaid is better for everyone — faster for buyers, more predictable revenue for sellers, lower total gas.
Price for value, not cost. I priced at cost-plus. But the value of knowing a token is safe before buying $10K worth? That's worth more than $0.02. Start by proving demand, then price for value.
Be upfront about charging. I put the price, protocol, and verification links right in the README. No hidden paywalls, no surprise fees. Developers respect transparency — it builds trust faster than any marketing copy.
The Takeaway
Five things I know now:
-
ag402 servewraps your existing server in a paywall — zero code changes - Solana micropayments: $0.00025/tx, 0.5s settlement
- Prepaid mode: 1ms latency, zero gas
- The crypto wallet requirement is real friction — but shrinking
- It works. It's on mainnet. Verify it yourself
The question isn't whether AI agents will pay for APIs. They already are.
The question is whether your API is on the list.
Links:
→ ag402 — payment middleware (MIT)
→ Token RugCheck — live on mainnet
→ x402 protocol — by Coinbase
→ @AetherCoreDev on X
→ Want to try it? Full tutorial here
Top comments (0)