x402-proxy テンプレートは、任意の HTTP バックエンドの前に置く Cloudflare Worker です。保護されたルートへリクエストが届くと、プロキシは決済手順付きの 402 応答を返します。クライアントが支払ったあと、プロキシは決済を検証し、リクエストをオリジンへ転送します。
x402-proxy テンプレートを Cloudflare アカウントへデプロイします。
- Cloudflare アカウント ↗
- ゲート対象の HTTP バックエンド
- 支払いを受け取るウォレットアドレス
保護するルートは wrangler.jsonc で定義します。
{
"vars": {
"PAY_TO": "0xYourWalletAddress",
"NETWORK": "base-sepolia",
"PROTECTED_PATTERNS": [
{
"pattern": "/api/premium/*",
"price": "$0.10",
"description": "Premium API access"
}
]
}
}Bot Management を使うと、人間にはサイトを無料のまま、クローラーにだけ課金できます。
{
"pattern": "/content/*",
"price": "$0.10",
"description": "Content access",
"bot_score_threshold": 30,
"except_detection_ids": [117479730]
}ボットスコアが bot_score_threshold 以下のリクエストはペイウォールへ送られます。特定のクローラーを許可するには、detection ID を except_detection_ids に指定します。
テンプレートをクローンし、wrangler.jsonc を編集してデプロイします。
git clone https://github.com/cloudflare/templates
cd templates/x402-proxy-template
npm install
npx wrangler deploy設定オプションと Bot Management の例の全体は、テンプレートの README ↗ を参照してください。
より細かく制御したいときは、Hono を使って Worker に x402 ミドルウェアを直接追加します。
import { Hono } from "hono";
import { paymentMiddleware } from "x402-hono";
const app = new Hono<{ Bindings: Env }>();
app.use(
paymentMiddleware(
"0xYourWalletAddress" as `0x${string}`,
{
"/premium": {
price: "$0.10",
network: "base-sepolia",
config: { description: "Premium content" },
},
},
{ url: "https://x402.org/facilitator" },
),
);
app.get("/premium", (c) => c.json({ message: "Thanks for paying!" }));
export default app;完全な実装は x402 Workers の例 ↗ を参照してください。
- Pay Per Crawl — カスタムコードなしの、Cloudflare ネイティブな収益化
- MCP ツールに課金する — リクエスト単位ではなく、ツール呼び出し単位で課金する
- x402.org ↗ — プロトコル仕様