みんなで世界を変えてみないか? 〜 AIクローラーに402 Payment Requiredを返す。x402プロトコルとGEO戦略で実現する「第三の選択肢」

みんなで世界を変えてみないか? 〜 AIクローラーに402 Payment Requiredを返す。x402プロトコルとGEO戦略で実現する「第三の選択肢」

2026.04.07

ベルリンのしがひです。ドイツのイースター休暇を利用して日曜大工にいそしんでいました。

といっても棚を組み立てたわけではなく、個人で運営しているコミュニティプロジェクト Berghain Klubnacht Complete Database のリフォームです。ベルリンのクラブBerghainの16年分・10,000件超のDJ出演記録を構造化したデータベースで、Cloudflare Workers + D1 + KV + R2で動いています。Google Analyticsすら入れていない、広告なし・Cookieなし・トラッカーなしの完全な公共財です。KVマルチレイヤーキャッシュでD1のraw readを抑制するなどの工夫を凝らし、Cloudflare Workers Free planで運用しています(Cloudflareさんいつもありがとうございます。いつか出世払いします)。

今回、このプロジェクトに x402プロトコルによるAIクローラー課金 を実装し、その後 フリーミアム + GEO戦略へ転換 しました。実装の詳細はZennに2本の記事として公開しています。

本記事では、きっかけとなったCloudflareの問題提起を紹介したうえで、Zenn記事では書ききれなかった 「現実にお金を受け取る仕組み」の技術的な比較 に焦点を当てます。

きっかけ: AIクローラーがキャッシュを壊す

事の発端はCloudflareが2026年3月に公開したブログ記事 Why we're rethinking cache for the AI era でした。

Cloudflareネットワーク全体のトラフィックの 32%が自動化されたトラフィック で、AIボットだけで週間10億リクエスト以上。問題の核心は、AIクローラーが人間と根本的に異なるアクセスパターンを持つことです。人間はトップページやランキングといった人気コンテンツに集中しますが、AIクローラーはロングテールのユニークURLを大量に叩く。従来のCDNキャッシュアルゴリズム(LRU等)は「よくアクセスされるものをキャッシュに残す」前提で設計されているため、AIクローラーの大量のユニークリクエストが人間向けにキャッシュしておいたコンテンツを追い出してしまう — 人間のためのキャッシュの質がAIクロールによって劣化する という構造的問題です。

Cloudflareはこの問題に対して、AI専用のキャッシュ層を分離する新アーキテクチャ、サイト運営者がAIトラフィックを管理できるAI Crawl Control、そして Pay Per Crawl(後述)を提案しています。

これは私のプロジェクトにとっても切実でした。SEO対策を積み重ねてBerghain関連キーワードでGoogle検索上位に表示されるようになった結果、AIクローラーのトラフィックが急増。KVに記録を始めてわずか3時間弱で7種のAIクローラーから204リクエスト。Amazonbot 184件、Meta-ExternalAgent 11件、PerplexityBot、GPTBot、ChatGPT-User、Claude-Web、ClaudeBot…主要AI企業が軒並み来ていました。Free planで運用している個人プロジェクトにとって、これはリクエスト制限に直結する問題(実際にレートリミットがかかったことがある)です。

robots.txtでブロックすれば負荷は減るが、AI検索での引用機会も失う。何もしなければデータは吸い出され放題。ブロックか放置かの二択ではなく、HTTPの仕様に則った正当な方法で対価を求める第三の選択肢 を取ることにしました。

しがひの日曜大工 — 3行まとめ

  1. x402プロトコルでAIクローラーだけに課金するペイウォールを実装。OpenAIのクローラー(GPTBot, ChatGPT-User, OAI-SearchBot)が実際にx402で支払いを行い、「AIに課金する」コンセプトが機能することを証明した
  2. しかしx402対応クローラーがOpenAI系のみだったため、全面ペイウォールはAI検索での可視性を殺す結果に。導入3日でフリーミアム(バルクエクスポートのみ有料)+ GEO/AEO戦略に転換した
  3. 無料ルートにはx402シグナルヘッダーを付与し、「今は無料、でもx402対応してるよ」と広告。AI検索の可視性を確保しつつ、将来のペイウォール化への布石を打った

実装の詳細(Honoミドルウェアのコード、80種以上のクローラー検出、フリーミアム設計、GEO対応のllms.txt・コンテンツネゴシエーション・agentic-capabilities.json等)は上記Zenn記事に譲ります。大雑把に言うとHonoを使えば誰でも実装できます。
ここから先は「AIクローラーから実際に現金を受け取るファシリテーター」の技術背景を掘り下げます。

AIクローラー課金の2つの現実解

2026年4月現在、AIクローラーからの支払いを 実際に現金として受け取れる 仕組みは、大きく2つあります。

x402 + Coinbase CDP Cloudflare Pay Per Crawl
プロトコル x402(HTTP 402ベース) Cloudflare独自(HTTP 402 + crawler-priceヘッダ)
決済手段 Solana USDC(暗号通貨) Stripe(法定通貨)
受取通貨 USDC → 取引所で換金 USD → Stripe経由で銀行口座
提供状況 一般利用可能(OSS) Closed Beta(2025年7月〜)
対象 任意のWebサーバー Cloudflare Zone(カスタムドメイン必須)
対応クローラー OpenAI系のみ(2026年4月時点) Cloudflare Verified Bots
実装方法 アプリケーションコード(ミドルウェア) Cloudflareダッシュボード設定
価格設定 ルートごとに自由 ゾーン単位(カスタム価格はオプション)

この2つはアプローチが根本的に異なります。x402はオープンプロトコルで暗号通貨決済、Pay Per CrawlはCloudflareプラットフォームに統合された法定通貨決済です。

x402 + Coinbase CDPファシリテーター

x402プロトコルのフロー

x402は402 Payment Requiredステータスコードを機械間決済に使うオープンプロトコルです。

1. クライアント → サーバー: GET /api/export/artists
2. サーバー → クライアント: 402 + 支払い要件(金額, ウォレット, ネットワーク)
3. クライアント: Solana上でUSDC送金トランザクションに署名
4. クライアント → サーバー: GET /api/export/artists + PAYMENT-SIGNATUREヘッダ
5. サーバー → ファシリテーター: /verify(署名検証)
6. ファシリテーター → サーバー: 検証結果
7. サーバー: コンテンツ返却(200 OK)
8. サーバー → ファシリテーター: /settle(オンチェーン決済実行)
9. ファシリテーター: ブロックチェーンにトランザクション送信 → 確認

重要なのは、ファシリテーターは 資金を保有しない(non-custodial) という点です。クライアントが署名したトランザクションを検証し、ブロックチェーンに送信するだけ。資金はクライアントのウォレットからサーバーのウォレットに直接移動します。

ファシリテーターの選択肢

x402のファシリテーターは複数存在しますが、Solana mainnetで実際にUSDCを受け取れる のは現時点でCoinbase CDP(Cloud Developer Platform)ファシリテーターです。

ファシリテーター 対応ネットワーク 用途
x402.org(デフォルト) Base Sepolia, Solana Devnet テスト/開発専用
Coinbase CDP Base mainnet, Solana mainnet, Polygon, Avalanche等 本番運用
セルフホスト 任意のEVM/Solana 自前運用

x402.orgファシリテーターはdevnetのみ対応なので、実際にお金を動かすにはCoinbase CDPファシリテーターへの切り替えが必要です。

対応ネットワークとトークン

x402プロトコル自体は幅広いネットワークに対応しています。

EVM系:

  • Base mainnet (eip155:8453) / Sepolia (eip155:84532)
  • Polygon mainnet (eip155:137) / Amoy (eip155:80002)
  • Avalanche C-Chain (eip155:43114) / Fuji (eip155:43113)
  • Sei, SKALE

非EVM系:

  • Solana mainnet (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) / Devnet
  • Aptos mainnet (aptos:1) / Testnet
  • Stellar mainnet (stellar:pubnet) / Testnet

デフォルトの決済トークンは USDC です。EVM系はERC-20(EIP-3009またはPermit2経由)、SolanaはSPLトークンとして処理されます。

なぜSolanaなのか — EVM系がx402に向かない理由

x402プロトコルは仕様上、Base、Polygon、Avalanche等のEVM系L2にも対応していますが、AIクローラー課金の現実的な選択肢はSolana一択 と言っていいでしょう。

x402の決済フローでは、クローラーがページをリクエストするたびにオンチェーントランザクションが発生します。$0.01〜$0.10のマイクロペイメントを、クローラーのリクエスト速度(秒単位)で処理する必要がある。ここでEVM系チェーンの構造的な問題が出てきます。

Solana EVM系L2(Base, Polygon等)
トランザクション確定時間 約400ms 2〜数秒(L2) + L1ファイナリティ待ち
手数料 約$0.00025 $0.001〜$0.01(L2でも変動あり)
署名方式 Ed25519(高速) ECDSA + EIP-3009またはPermit2
スループット 65,000+ TPS L2依存(数百〜数千TPS)

EVM系L2はEthereum mainnetに比べれば格段に速く安いものの、x402のようなマイクロペイメントの高速ハンドリングにはまだ重い。EIP-3009(gasless transfer)やPermit2を使っても、トランザクション構築→署名→確認のサイクルがSolanaのSPLトークン転送に比べて複雑です。Solanaは単一のトランザクションで署名・送信・確定が400msで完了するため、「クローラーがHTTPリクエストを送る→402を受け取る→支払い→再リクエスト」というフローが人間には気づかないレベルの遅延で回ります。

OpenAIのクローラーがx402に対応している現時点で、彼らがSolana USDCで支払いを行っているのも偶然ではないでしょう。マイクロペイメントの実用性という点で、Solanaが現時点での最適解です。

Coinbase CDPファシリテーターの認証

CDPファシリテーターへのリクエストにはES256 JWTによる認証が必要です。

// Coinbase CDP API認証
const jwt = await createCDPJWT(
  env.CDP_API_KEY_ID,
  env.CDP_API_KEY_PRIVATE_KEY
);

const facilitatorClient = new HTTPFacilitatorClient(
  "https://api.cdp.coinbase.com/x402/facilitator",
  { createAuthHeaders: async () => ({ Authorization: `Bearer ${jwt}` }) }
);

CDP API KeyはCoinbase Developer Platformから無料で取得できます。Wrangler secretsにCDP_API_KEY_IDCDP_API_KEY_PRIVATE_KEYを設定するだけで、本番運用が可能になります。

実際の導入コスト

x402 + CDPファシリテーターの導入コストは 実質ゼロ です。

  • x402プロトコル: OSS(MITライセンス)
  • @x402/honoパッケージ: 無料
  • Coinbase CDP API: 無料(API Key取得のみ)
  • Solanaネットワーク手数料: トランザクションあたり約$0.00025
  • Cloudflare Workers: Free planで動作

唯一のコストはSolanaのトランザクション手数料ですが、これはファシリテーターが負担するため、サーバー側のコストは文字通りゼロです。

課題: USDCから日本円への換金

x402で受け取るのはSolana上のUSDCです。日本円として銀行口座に入金するには暗号資産取引所を経由する必要がありますが、現在USDC on Solanaを取り扱っている日本の取引所はありません。DeFiでの変換(SOLやJPYC)やチェーンブリッジを行うことになりますが、個人開発者、法人にとってはこれが最大のハードルかもしれません。

Cloudflare Pay Per Crawl

概要

Cloudflare Pay Per CrawlはAI Crawl Controlの機能の一つで、2025年7月にPrivate Betaとして発表されました。Cloudflareがサイトオーナーとクローラーオーナーの間の Merchant of Record(販売代理人) として機能し、Stripe経由で法定通貨での決済を仲介します。

1. AIクローラー → Cloudflare Edge: GET /article/...
2. Cloudflare Edge: Pay Per Crawl設定を確認
3. Cloudflare Edge → AIクローラー: 402 + crawler-price: USD 0.01
4. AIクローラー → Cloudflare Edge: GET /article/... + crawler-exact-price: USD 0.01
   (+ Web Bot Auth署名ヘッダ)
5. Cloudflare Edge: 署名検証 + 価格照合
6. Cloudflare Edge → オリジン: リクエスト転送
7. オリジン → Cloudflare Edge → AIクローラー: 200 OK + crawler-charged: USD 0.01
8. Cloudflare: Stripe経由でサイトオーナーに支払い

x402との決定的な違い

Pay Per Crawlはx402とは まったく異なるプロトコル です。同じHTTP 402を使いますが、ヘッダ仕様が異なります。

x402:

# レスポンス(サーバー → クライアント)
HTTP/1.1 402 Payment Required
X-PAYMENT: {"accepts":[{"scheme":"exact","payTo":"<wallet>","price":"$0.01","network":"solana:mainnet"}]}

# リクエスト(クライアント → サーバー、支払い済み)
PAYMENT-SIGNATURE: <Solanaトランザクション署名>

Pay Per Crawl:

# レスポンス(Cloudflare Edge → クローラー)
HTTP/2 402
crawler-price: USD 0.01

# リクエスト(クローラー → Cloudflare Edge、支払い意思表示)
crawler-exact-price: USD 0.01
# または
crawler-max-price: USD 0.05

x402はオンチェーントランザクション署名をヘッダに載せるのに対し、Pay Per Crawlは「この金額を払う」という意思表示だけをヘッダに載せ、実際の課金はCloudflare + Stripeが事後処理 します。暗号通貨の知識は一切不要です。

サイトオーナー側の導入

Pay Per Crawlの導入は、コードを1行も書かずにダッシュボードから設定するだけ です。

  1. Cloudflareダッシュボード → AI Crawl Control → Settings
  2. Pay Per Crawlを有効化
  3. デフォルト価格を設定(最低$0.01/クロール)
  4. クローラーごとにアクション設定(Charge / Allow / Block)
  5. Stripe接続でペイアウト設定

価格設定はゾーン単位がデフォルトですが、2025年12月のアップデートでカスタム価格(パスごとの設定)も追加されました。

AIクローラーオーナー側の要件

Pay Per Crawlを利用するクローラーには、以下が求められます。

  1. Cloudflareアカウント: クローラーオーナーもCloudflareアカウントが必要
  2. Web Bot Auth: HTTP Message Signatures(RFC 9421準拠)によるクローラー認証。支払いヘッダを署名コンポーネントに含める必要あり
  3. Cloudflare Verified Bot登録: Cloudflareの審査を経てVerified Botリストに登録
  4. Stripe接続: Cloudflareアカウント経由でStripe接続し、課金を受け入れ

つまり、Pay Per Crawlはx402のような「誰でも実装できるオープンプロトコル」ではなく、Cloudflareエコシステム内のマネージドサービス です。

エンタープライズ向けの強み

Pay Per Crawlの真の価値はエンタープライズ向けにあります。

観点 x402 + CDP Pay Per Crawl
導入工数 ミドルウェア実装が必要 ダッシュボード設定のみ
受取通貨 USDC(換金が必要) USD(Stripe経由で銀行口座へ)
会計処理 暗号資産の会計処理が必要 通常のStripe売上として処理可能
クローラー認証 User-Agent判定(偽装可能) Web Bot Auth(暗号署名)
不正防止 自前実装 Cloudflare Bot Management統合
価格設定 ルートごとに自由 ゾーン単位 + カスタム価格
カスタムドメイン 不要 必須

新聞社や大手メディアのような組織にとっては、「暗号通貨ウォレットの管理」「USDCの換金」「暗号資産の会計処理」はすべてハードルです。Pay Per CrawlならStripe売上として処理できるため、既存の経理フローに乗せられます。

また、Web Bot Auth(HTTP Message Signatures, RFC 9421)による暗号署名ベースのクローラー認証は、User-Agent偽装を完全に防ぎます。x402のUser-Agent判定では不可能な、クローラーの身元保証 がプラットフォームレベルで提供されます。

課題: Closed BetaとCloudflareロックイン

2026年4月現在、Pay Per Crawlは Closed Beta です。利用するにはウェイトリスト登録(Pay per crawl signup)またはEnterprise契約が必要です。

また、Cloudflare Zoneにカスタムドメインが紐づいていることが前提なので、*.workers.devのようなサブドメインでは利用できません。今回の私のプロジェクトがPay Per Crawlではなくx402を選んだ理由の一つがこれです。

結局どちらを選ぶべきか

個人開発者・OSS: x402 + CDPファシリテーター。コード不要$0、カスタムドメイン不要、今日から始められる。USDCの換金は手間だが、マイクロペイメントの実験としては最適。

エンタープライズ・メディア: Cloudflare Pay Per Crawl。Stripe経由の法定通貨決済、Web Bot Authによる堅牢な認証、コード変更不要。ただしClosed Beta、カスタムドメイン必須、Cloudflareプラットフォームへの依存。

両方: 技術的には併用も可能。Pay Per CrawlはCloudflare Edgeで処理され、x402はアプリケーション層で処理されるため、競合しません。

AI Crawler Transparency Dashboard

一連の実装を支える基盤として、AIクローラーのトラフィックを完全に可視化するダッシュボード を世界に公開しています。

https://berghain.ravers.workers.dev/dashboard/crawl-stats

80種以上のAIクローラーの検出状況、x402支払い実績、ブロック状況、収益をリアルタイムで表示しています。認証なしの公開API(/api/public/crawl-summary)も提供しており、誰でもデータにアクセスできます。

誰がウェブをクロールし、誰が対価を払っているか。 GenAI企業の倫理観を可視化する透明性リポートです。

世界は変えられる

正直に言えば、Berghain Klubnacht Complete Databaseは検索上位に来ているとはいえニッチサイトに過ぎません。しかし、このプロジェクトで x402が実際に機能すること は証明できました。OpenAIのクローラーはx402プロトコルを書いた暖簾をくぐってきました。Cloudflare Workers Free planの個人サイトでも導入できました。

Imagin all the pepole asking money against AI crawler... 新聞社やニュースメディアがこぞってPay Per Crawlを導入したら。学術論文データベースがx402を実装したら。

AI企業は現在、ウェブ上のコンテンツを事実上タダで吸い上げています。robots.txtは紳士協定に過ぎず、強制力はありません。しかしHTTP 402ベースの課金は違います。x402はオープンプロトコルとして、Pay Per CrawlはCloudflareのマネージドサービスとして、それぞれ異なるアプローチで同じ問題を解こうとしています。

HTTP 402は27年間「将来のために予約」されていたステータスコードです。その「将来」は、もう来ています。必要なのは、コンテンツ提供者が声を上げること。一つのニッチサイトが暖簾を出しただけではOpenAIしか反応しませんでしたが、もしウェブ全体がHTTP 402の暖簾を掲げたら — AI企業は対応せざるを得なくなります。

AIにデータを読ませる。しかし、タダではない。


詳細な実装記事(Zenn):

関連リンク:

この記事をシェアする

関連記事