x402とは。
x402は、Coinbaseによって2024年後半に公開されたHTTPネイティブ支払いのためのオープンプロトコルです。サーバーが構造化されたJSONボディを持つ402 Payment Requiredを返す方法を定義します - 受け入れ可能な支払い要件のリスト(スキーム、ネットワーク、チェーンID、受取人アドレス、USDC基本単位の金額、支払いリクエストID) - これにより、機械クライアントは応答を解析し、オンチェーンで支払い、X-Paymentヘッダーで元の呼び出しを再試行できます。
HTTP 402は30年間未使用でした。x402がそれを機能させました。
The 402 Payment Required status code was reserved in the original HTTP spec for "future use" and never received a standardized implementation. For three decades, every actual payment flow on the web was built on top of 200 / 401 / 403: a server returns 401 when authentication is missing, the client signs up via a separate UI flow, gets credentials, and re-authenticates. The signup happens out of band. None of this works for AI agents, which cannot complete signup forms.
x402 fixes this by giving 402 a usable specification. A server can return 402 with structured machine-readable payment instructions; a client can parse those instructions, pay, and retry, all without ever touching a signup form. The protocol is the missing piece between "AI agents can call APIs" and "AI agents can pay for the APIs they call". Before x402, the only practical agent payment paths were pre-paid balance accounts (with manual top-up) or proprietary integrations per API. Both broke at scale.
x402の戦略的重要性は、エコシステムの残りが構築できる標準を設定することです。ウォレットは一度x402ハンドラーを実装し、すべてのx402準拠APIはそのウォレットで機能します。サーバーフレームワークは一度x402ミドルウェアを実装し、すべてのx402対応クライアントはそれらに支払うことができます。ファシリテーター(基盤となる支払いを決済するサービス)は、ロックインではなくサービスの質で競争します。
1つのレスポンス、1回の再試行、1回の支払い。
ライフサイクルには3つの状態があります:未払いの呼び出し、支払い、再試行された呼び出し。以下は、未払いの呼び出しのレスポンスが実際にワイヤー上でどのように見えるかです。
HTTP/1.1 402 Payment Required Content-Type: application/json { "resource": "POST /api/research-query", "accepts": [ { "scheme": "exact-usdc", "network": "mainnet", "chainId": "eip155:8453", "payToAddress": "0xAgent...", "amountWeiUsdc": "50000", "paymentRequestId": "pr_01J9...", "maxAgeSeconds": 60 } ] }
- Status code 402. Distinct from 401 (auth missing) and 403 (auth refused). The presence of 402 signals "payment is the missing input."
- resource + accepts[]. ボディは保護されたリソースの名前を指定し、1つ以上の受け入れ可能な支払い要件をリストします。マイグレーションは2つの要件(例:メインネットとテストネット)を引用し、クライアントに選択させることができます。
- scheme / network / chainId. 支払いスキーム(exact-usdc)、チェーン(メインネットはBase)、およびそのCAIP-2 ID。クライアントは支払い前にこれらに一致します。
- payToAddress / amountWeiUsdc. 受取人のウォレットとUSDC基本単位での正確な金額(50000 = 0.05 USDC、6桁)。クライアントは支払い前に両方を確認します。
- paymentRequestId + maxAgeSeconds. このIDは支払いをこの見積もりに結びつけます;maxAgeSecondsは支払いがどれくらい新鮮でなければならないかを示します。異なるIDを参照する支払い、またはウィンドウより古い支払いは拒否されます。
- 再試行はX-Paymentヘッダーを持ちます。 クライアントはオンチェーンで支払いを行い、その後、支払いを証明するX-Paymentヘッダーを持つ元のリクエストを再発行します。サーバーはそれを検証し、実際の結果を返します。応答ヘッダーやホストされたページはx402ワイヤ自体の一部ではありません。
野生のx402。
各レイヤーにおける採用の成熟度に基づいて順序付けられた3つの具体的なデプロイメント。
未払いツール呼び出しに対して402チャレンジを返すMCPサーバー
有料のMCPツールはClaude Desktopからの呼び出しを受け取り、呼び出し元はまだ支払い済みとしてマークされていません。サーバーはrequirePaymentチャレンジを構築します - 価格とhostedUrlを持つ402 - そしてそれをツールエラーとして返します。Claude Desktopはチャットにリンクをレンダリングします;ユーザーは$0.05 USDCを支払い、次の同じツールへの呼び出しは成功します。
APIエンドポイントの呼び出しごとの請求
研究APIはx402サーバーアダプターの背後で1回の呼び出しにつき$0.50を請求します。AIエージェントはエンドポイントを呼び出し、金額と受取人をリストした402を取得し、ウォレットからBase上で支払いを行い、X-Paymentヘッダーを持ってリクエストを再発行します。アダプターはヘッダーを検証し、支払い済みの応答を返します。全体のループは60秒以内に完了します。
x402対応ウォレットを介してプログラムで支払うエージェント
エージェントのランタイムはx402を認識しています(仕様を実装しています)。402に達すると、accepts[]からpayToAddressと金額を読み取り、事前承認されたウォレットからの転送に署名し(支出権限内)、Baseでブロードキャストし、X-Paymentヘッダーで元の呼び出しを再試行します。人間の関与はなく、ループは5〜10秒で完了します。
スタック内のx402を取り囲むもの。
x402はプロトコルです。これらの3つの用語は、それが基づいている概念とそれが可能にするユースケースをカバーしています。