コンテンツにスキップ

spendctl とは

spendctl は、AI エージェントの HTTP リクエストを通すローカルのサイドカーです。販売側が 402 Payment Required(x402 v1/v2 または MPP)を返すと、spendctl は次の順に処理します。

  1. 支払い条件から価格と受取先を読み取る
  2. そのエージェントのポリシー(予算、許可リスト、受取先の固定、承認しきい値、価格の急変、連鎖の深さ)と照らす
  3. ポリシーが求めれば人間に確認する
  4. 予算を原子的に予約し、あなたのウォレットに一度だけ署名を依頼する
  5. 試行・判定・金額・取引ハッシュを、書き出し可能な台帳に記録する

エージェントは鍵を持ちません。ポリシーはモデルが編集できないファイルにあり、モデルが手を出せないプロセスで強制されます。拒否の理由は、モデルが読める平文で返ります。

プロンプトや SDK の設定ではだめな理由

Section titled “プロンプトや SDK の設定ではだめな理由”
  • x402 v2 の仕様は “Client-side budget management” を対象外としています。
  • @x402/core の spendControls が抑えられるのは1回あたりの支払い(既定 $1)だけで、しかもエージェントのプロセス内で動きます。
  • CDP SDK の x402 spend controls はローリング上限を持ちますが、やはりプロセス内で動き、既定の保存先はメモリです。
  • ウォレットのポリシーエンジンは自社の鍵しか見えず、ホスト型のエージェント決済基盤が管理できるのは自社が預かるウォレットだけです。

spendctl は、エージェントがどのウォレット・どのプロトコルに出会っても、ポリシーと台帳をひとつで済ませます。AI エージェントの支出ポリシーを一元管理するコントロールプレーンで、実行はお客様が動かすサイドカーの中です。鍵も資金も私たちは預かりません。