仕組み
詳細フロー
- クライアントがリクエストを送信 — API Key なし、または期限切れのキーで ChainStream API にリクエスト。
-
ゲートウェイが HTTP 402 を返却 —
/x402/purchaseへのポインターを含むメッセージ。 -
クライアントが
GET /x402/purchase?plan=<plan>を呼び出し(支払いヘッダーなし)。サーバーが HTTP 402 を返し、x402 支払い要件を提示:デコードされた JSON ボディは x402 v2 プロトコルに準拠: -
クライアントが USDC 送金に署名 —
@x402SDK を使用し、支払い証明付きでGET /x402/purchase?plan=<plan>をリトライ: -
サーバーが支払いを検証・決済し、サブスクリプション詳細を返却:
クライアントは今後のすべての API 呼び出しに
apiKeyを保存します。
CLI 統合
ChainStream CLI はcallWithAutoPayment を通じて x402 支払いを自動的に処理します。コマンドが 402 に遭遇すると、CLI がプラン選択と支払いをガイドします。
自動フロー
CLI が 402 レスポンスに遭遇すると:/x402/pricingから利用可能なプランを取得し、選択テーブルを表示- プランの選択を促す
- 支払い方法を選択: x402(Base/Solana の USDC)または MPP(Tempo の USDC.e)
- x402 の場合:
@x402/fetchで支払いに署名・送信し、返された API Key を設定に保存 - MPP の場合: 手動購入用の
tempo requestコマンドを表示 - 新しい API Key で元のコマンドをリトライ
API Key のみ(ウォレットなし)の場合、CLI は x402 をスキップし、MPP の手順を表示します。
ウォレットセットアップ
CLI で x402 支払いを行うには、資金が入ったウォレットが必要です:手動統合
カスタム統合の場合、@x402 パッケージファミリーを使用して x402 フローを実装できます。
依存関係
@x402/fetch の使用(推奨)
最もシンプルな統合方法 — 標準のfetch を x402 サポートでラップします:
手動フロー(上級)
支払いフローを完全に制御する場合:支払い対応チェーン
ゼロガス手数料
ChainStream は独自の x402 ファシリテーターを運営しており、エージェントに代わってオンチェーン支払いトランザクションを送信します。つまり:- ガス手数料なし — ファシリテーターがすべてのガスコスト(Base ETH / Solana SOL)を負担
- エージェントウォレットには USDC のみが必要 — ガス用のネイティブトークンの保有は不要
- エージェントは USDC 送金認可に署名するだけ。ファシリテーターがブロードキャストと実行費用を支払う
セキュリティに関する考慮事項
- 支払い上限:
@x402/fetchを使用する際は、予期しない請求を防ぐため、常にmaxAmountを設定してください。 - 検証: ファシリテーターは決済前にオンチェーンで署名済み支払いを検証します。無効な署名は拒否されます。
- 冪等性: 支払いが決済されたがレスポンスが失敗した場合(ネットワークエラー)、同じ
Payment-Signatureを再送信できます。支払いは一度だけ消費されます。 - コンプライアンス: 決済前に支払い者アドレスがスクリーニングされます。制裁対象アドレスは拒否されます。

