メインコンテンツへスキップ
x402 は HTTP 402 Payment Required ステータスコードに基づいて構築された支払いプロトコルです。手動の請求処理、クレジットカード、サブスクリプション管理なしで、マシン間のAPI アクセスに対するマイクロペイメントを実現します。USDC でリクエストごとに支払い、即座に API アクセスが得られます。

仕組み

詳細フロー

  1. クライアントがリクエストを送信 — API Key なし、または期限切れのキーで ChainStream API にリクエスト。
  2. ゲートウェイが HTTP 402 を返却/x402/purchase へのポインターを含むメッセージ。
  3. クライアントが GET /x402/purchase?plan=<plan> を呼び出し(支払いヘッダーなし)。サーバーが HTTP 402 を返し、x402 支払い要件を提示: デコードされた JSON ボディは x402 v2 プロトコルに準拠:
  4. クライアントが USDC 送金に署名@x402 SDK を使用し、支払い証明付きで GET /x402/purchase?plan=<plan> をリトライ:
  5. サーバーが支払いを検証・決済し、サブスクリプション詳細を返却:
    クライアントは今後のすべての API 呼び出しに apiKey を保存します。

CLI 統合

ChainStream CLI は callWithAutoPayment を通じて x402 支払いを自動的に処理します。コマンドが 402 に遭遇すると、CLI がプラン選択と支払いをガイドします。

自動フロー

CLI が 402 レスポンスに遭遇すると:
  1. /x402/pricing から利用可能なプランを取得し、選択テーブルを表示
  2. プランの選択を促す
  3. 支払い方法を選択: x402(Base/Solana の USDC)または MPP(Tempo の USDC.e)
  4. x402 の場合: @x402/fetch で支払いに署名・送信し、返された API Key を設定に保存
  5. MPP の場合: 手動購入用の tempo request コマンドを表示
  6. 新しい API Key で元のコマンドをリトライ
API Key のみ(ウォレットなし)の場合、CLI は x402 をスキップし、MPP の手順を表示します。

ウォレットセットアップ

CLI で x402 支払いを行うには、資金が入ったウォレットが必要です:

手動統合

カスタム統合の場合、@x402 パッケージファミリーを使用して x402 フローを実装できます。

依存関係

@x402/fetch の使用(推奨)

最もシンプルな統合方法 — 標準の fetch を x402 サポートでラップします:

手動フロー(上級)

支払いフローを完全に制御する場合:

支払い対応チェーン

ゼロガス手数料

ChainStream は独自の x402 ファシリテーターを運営しており、エージェントに代わってオンチェーン支払いトランザクションを送信します。つまり:
  • ガス手数料なし — ファシリテーターがすべてのガスコスト(Base ETH / Solana SOL)を負担
  • エージェントウォレットには USDC のみが必要 — ガス用のネイティブトークンの保有は不要
  • エージェントは USDC 送金認可に署名するだけ。ファシリテーターがブロードキャストと実行費用を支払う
これにより、AI エージェントにとっての最大の障壁であるネイティブガストークンの取得と管理が不要になります。

セキュリティに関する考慮事項

  • 支払い上限: @x402/fetch を使用する際は、予期しない請求を防ぐため、常に maxAmount を設定してください。
  • 検証: ファシリテーターは決済前にオンチェーンで署名済み支払いを検証します。無効な署名は拒否されます。
  • 冪等性: 支払いが決済されたがレスポンスが失敗した場合(ネットワークエラー)、同じ Payment-Signature を再送信できます。支払いは一度だけ消費されます。
  • コンプライアンス: 決済前に支払い者アドレスがスクリーニングされます。制裁対象アドレスは拒否されます。