2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

自作 API を 1 行のミドルウェアで有料化したら AI エージェントが自動で支払ってくれた話【x402 + TypeScript】

2
Posted at

この記事で紹介する @lemon-cake/x402-server を使うと、自作 API を AI エージェント向けに有料化できます。

この記事でわかること

  • HTTP 402 Payment Required(x402)プロトコルの仕組み
  • 既存の Express / Hono アプリを 1 行で有料化する方法
  • AI エージェント(Claude / Coinbase Bazaar)が自動で発見・支払いするフロー
  • USDC で受け取った収益の確認方法
  • 実装〜初回入金までを 30 分でやった手順

はじめに

自作の API サーバーを「AI エージェント向けに有料化して副収入にしたい」と思ったことありませんか?

従来の方法:

  1. Stripe アカウント作成
  2. Webhook 実装
  3. 決済画面のフロントエンド作成
  4. 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 ステップウィザードに従う:

  1. 会社情報 — 名前 + メール
  2. ウォレット — USDC 受取用 Base ウォレットアドレス
  3. API endpointhttps://your-api.example.com
  4. 価格 — 6 プリセットから選ぶ(リアルタイム収益シミュレーター付き)
  5. 税情報 — T番号(任意、日本の事業者のみ)

登録完了で serviceIdapiKey が発行されます。

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 AgentCoreStripe 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 カタログが主機能で、日本企業向けの会計連携はありません。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?