メインコンテンツへスキップ

概要

ChainStream CLI は、402(Payment Required)レスポンスを受け取ったときにサブスクリプションを自動購入できます。購入が成功すると、返却された API Key が設定に保存され、以降の呼び出しは追加のウォレット署名なしでそのキーを使います。

動作の流れ

任意の CLI コマンドが 402 エラーを受け取ると、自動決済フローが動きます。
  1. CLI が /x402/pricing から利用可能なプランを取得し、選択用の表を表示
  2. 対話的にプランを選択
  3. 決済方法を尋ねる: x402(Base / Solana 上の USDC)または MPP(Tempo 上のステーブルコイン / Stripe カード)
  4. x402 の場合: 署名と送金を自動実行し、返却された API Key を保存
  5. MPP の場合: 手動購入用に tempo request コマンドを表示
  6. 新しい API Key で元のコマンドを再試行
$ chainstream token info --chain sol --address So11111111111111111111111111111111111111112

[chainstream] No active subscription. Available plans:

   #  Plan       Price    Quota           Duration
   ── ────────── ──────── ──────────────── ────────
   1  nano       $5             500,000 CU  30 days
   2  starter    $199        10,000,000 CU  30 days
   3  pro        $699        50,000,000 CU  30 days

Select plan (1-3): 1

[chainstream] Choose payment method:
  1. x402 (USDC on Base/Solana)
  2. MPP Tempo (USDC.e on Tempo)

Select method (1-2): 1

[chainstream] Purchasing nano plan via x402...
[chainstream] Subscription activated: nano (expires: 2026-04-25T12:00:00.000Z)
[chainstream] API Key saved to config.
API Key のみ(ウォレットなし)の場合、CLI は x402 をスキップし、MPP の手順だけを表示します。

ウォレットの準備

x402 決済には残高のあるウォレットが必要です。
# ChainStream TEE ウォレットを作成(推奨)
chainstream login

# または生の秘密鍵をインポート(開発・テストのみ)
chainstream wallet set-raw --chain base

プランの確認

chainstream wallet pricing

# または curl で
curl https://api.chainstream.io/x402/pricing

購入後

  1. API Key(cs_live_...)が ~/.config/chainstream/config.json に自動保存される
  2. CLI クライアントが新しいキーで再初期化される
  3. 元のコマンドが再試行され、成功する
  4. 以降のコマンドはすべて API Key を使用 — 追加のウォレット署名は不要

トラブルシューティング

事象対処
”Insufficient USDC balance”Base または Solana 上でウォレットに USDC を入金
購入後も 402 が続くchainstream config get で API Key が保存されたか確認
チェーンの選択が誤っているchainstream config set --key walletChain --value base を使用
プランを変えたい新しいプランを購入すると既存のサブスクリプションに置き換わる

さらに詳しく

x402 決済プロトコル

x402 の仕組み、詳細フロー、手動連携

MPP 決済プロトコル

Tempo ステーブルコインと Stripe カード決済での MPP