この記事で紹介する @lemon-cake/x402-server を使うと、自作 API を AI エージェント向けに有料化できます。
この記事でわかること
- HTTP 402 Payment Required(x402)プロトコルの仕組み
- 既存の Express / Hono アプリを 1 行で有料化する方法
- AI エージェント(Claude / Coinbase Bazaar)が自動で発見・支払いするフロー
- USDC で受け取った収益の確認方法
- 実装〜初回入金までを 30 分でやった手順
はじめに
自作の API サーバーを「AI エージェント向けに有料化して副収入にしたい」と思ったことありませんか?
従来の方法:
- Stripe アカウント作成
- Webhook 実装
- 決済画面のフロントエンド作成
- AI エージェントが画面遷移できないので結局使えない
これが x402 プロトコル と LemonCake の @lemon-cake/x402-server を使ったら 1 行のミドルウェア追加で実現しました。
x402 とは何か
HTTP ステータスコード 402 Payment Required を実際に使うプロトコルです。Coinbase が主導している OSS 標準。
クライアント: GET /api/search?q=hello
↓
サーバー: 402 Payment Required
{
"accepts": [{
"scheme": "exact",
"network": "base-mainnet",
"maxAmountRequired": "1000", // $0.001 in micro-USDC
"payTo": "0x...",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}]
}
↓
クライアント: ERC-3009 で署名
X-PAYMENT: <base64 署名>
GET /api/search?q=hello
↓
サーバー: 200 OK + 検索結果
(USDC が自動で送金される)
ポイント:
- AI エージェントは画面操作不要で自動支払いできる
- ガス代はサーバー側が肩代わり(gasless transfer)
- マイクロペイメント($0.001/call)が経済的に成立する
実装
Step 1: パッケージインストール
npm install @lemon-cake/x402-server
Step 2: Provider 登録
lemoncake.xyz/sellers で 5 ステップウィザードに従う:
- 会社情報 — 名前 + メール
- ウォレット — USDC 受取用 Base ウォレットアドレス
-
API endpoint —
https://your-api.example.com - 価格 — 6 プリセットから選ぶ(リアルタイム収益シミュレーター付き)
- 税情報 — T番号(任意、日本の事業者のみ)
登録完了で serviceId と apiKey が発行されます。
Step 3: ミドルウェア追加(1 行)
import express from "express";
import { x402Middleware } from "@lemon-cake/x402-server";
const app = express();
// これだけで有料化完了
app.use("/api/search", x402Middleware({
serviceId: "your-service-id",
pricePerCallUsd: 0.001,
}));
app.get("/api/search", (req, res) => {
// 通常の API ロジック
res.json({ results: search(req.query.q) });
});
app.listen(3000);
これで /api/search は 支払いがあれば動く、なければ 402 を返す API になります。
Hybrid Mode で Coinbase Bazaar に自動掲載
facilitator オプションで決済の経路を選べます:
x402Middleware({
serviceId: "your-service-id",
pricePerCallUsd: 0.001,
facilitator: "both", // ← LemonCake + Coinbase 両方
bazaar: {
name: "My Search API",
description: "Fast web search for AI agents",
category: "search",
tags: ["web", "search", "fast"],
},
});
3 モードの違い:
| モード | 決済経路 | メリット |
|---|---|---|
lemoncake |
LemonCake 単独 | Pro/Business 機能(freee連携、JPYオフランプ)使える |
coinbase |
CDP Facilitator | x402 Bazaar に自動掲載される |
both |
CDP 経由+メータリング | 両方の利点 |
both がおすすめ。Coinbase Bazaar に載ると AWS Bedrock AgentCore や Stripe Agentic Suite からも発見されます。
AI エージェント側の実装(参考)
クライアント側は agent-payment-mcp が処理してくれます:
// クライアントは普通に fetch するだけ
const res = await fetch("https://your-api.example.com/api/search?q=hello", {
headers: { "X-PAYMENT-Agent": payToken }
});
// 内部的に:
// 1. 最初のリクエストで 402 を受け取る
// 2. accepts[] から最安を選ぶ
// 3. ERC-3009 で署名
// 4. X-PAYMENT ヘッダで再リクエスト
// 5. 200 OK で結果を取得
エンドユーザー(AI エージェントを使う開発者)は何も気にせず使えます。
収益確認
LemonCake のダッシュボード /publish で確認できます:
今月の売上
─────────────────
売上 USDC: $42.50
完了 call 数: 12,580
失敗: 13
─────────────────
プラン: Pro(¥4,980/月)
free quota: 10,000 / 12,580 calls 使用済み
超過分課金: 2,580 calls × $0.001 = $2.58
入金は USDC で Provider 自身のウォレットに直接届きます(LemonCake は預からない=非カストディ)。
サブスクプランの効果
Provider 自身もサブスクに加入することで追加機能が解禁されます:
| プラン | 月額 | 含 call | 機能 |
|---|---|---|---|
| Free | ¥0 | 1,000 | 基本のみ |
| Pro | ¥4,980 | 10,000 | + freee/MF 自動仕訳、適格請求書 |
| Business | ¥14,800 | 100,000 | + JPY オフランプ |
Pro 以上に加入すると:
- 受け取った USDC を freee に自動仕訳
- 月末に適格請求書(T番号付き)を自動発行
- Business なら USDC → 円 → 銀行口座 まで自動化
Before / After
Before(個人開発の API を売る場合)
1. Stripe アカウント作成(30分、本人確認待ち1日)
2. 決済 Webhook 実装(4時間)
3. 顧客管理画面作成(8時間)
4. 月次請求書作成(毎月2時間)
5. インボイス制度対応(4時間)
6. 売上の経理仕訳(毎月3時間)
─────────────────────────────
初期: 16時間 + 待ち1日
毎月: 5時間
顧客: 人間の決済画面が必要 → AI エージェントは使えない
After(x402 + LemonCake)
1. Provider 登録(5分)
2. ミドルウェア 1 行追加(1分)
3. デプロイ(npm 経由ですでに動いてる)
─────────────────────────────
初期: 6分
毎月: 0時間(freee 自動仕訳、インボイス自動発行)
顧客: AI エージェントが自動発見・自動支払い
30 分で初回入金まで(実体験)
00:00 npm install @lemon-cake/x402-server
00:02 lemoncake.xyz/sellers で 5 ステップ登録
00:08 serviceId と apiKey が発行される
00:10 既存の Express アプリに 1 行追加
00:12 git push → Vercel auto-deploy
00:15 curl で 402 が返ることを確認
00:18 Claude Desktop で agent-payment-mcp 経由で叩く
00:20 payment 成功 → 200 OK
00:22 /publish ダッシュボードで売上反映を確認
売上: $0.001(最初の 1 call)
00:25 Twitter で「自作 API を AI 向けに有料化した」と告知
00:30 AI 開発者から call が増え始める
まとめ
| やること | 時間 |
|---|---|
| @lemon-cake/x402-server インストール | 1 分 |
| Provider 登録(5ステップ) | 5 分 |
| ミドルウェア 1 行追加 | 1 分 |
| デプロイ | 自動 |
| 初回入金確認 | 5 分 |
自作 API を「Stripe を使わず・人間の決済画面を作らず・AI エージェントが自動で発見して支払う」状態にできます。x402 はまだ標準化の初期ですが、Coinbase / AWS / Anthropic 周辺の流通網に乗ると初日から外部のエージェントから call が来ます。
よくある質問(FAQ)
Q. 自分のウォレットがハッキングされたら?
A. LemonCake は USDC を預かりません。Provider 自身のウォレットに直接届くので、ウォレットのセキュリティは自己責任です。
Q. 失敗した call の課金はどうなりますか?
A. 5xx エラーで返した call は自動で返金されます(決済前に検証するため)。
Q. 既存の認証(API key)と組み合わせられますか?
A. はい。x402Middleware の前後に既存の認証ミドルウェアを置けます。Pro+ 顧客は無認証、無料 tier は API key 必須、のような分岐も可能です。
Q. テスト環境(sandbox)はありますか?
A. Base Sepolia testnet で動作確認できます。network: "base-sepolia" をミドルウェアに渡してください。
Q. 競合の x402 facilitator(Coinbase 公式など)と何が違いますか?
A. LemonCake は「日本ローカライズ(freee/MF/JPY オフランプ/適格請求書)」と「最軽量ミドルウェア」が差別化点です。Coinbase 公式は Bazaar カタログが主機能で、日本企業向けの会計連携はありません。