日本語

Solana、Stellar、BNB Chain などから x402 API を支払う

Shawn Muggle

x402 の考え方はシンプルです。サーバーはリクエストに 402 Payment Required で応答し、受け付ける支払い方法を示します。クライアントは支払ってからリクエストを再送します。アカウントも請求書もカード入力フォームも要りません。小さな有料 API を何度も呼び出す AI エージェントにとって、ほぼ理想的な仕組みです。

ただし一つ問題があります。支払い方法を決めるのはエンドポイント側で、エージェントが出会う x402 エンドポイントは通常、Base や Solana など特定のネットワーク上の USDC を求めます。一方でエージェントが持っているのは別のものかもしれません。Solana の USDT、Stellar の USDC、あるいは BNB Chain の USDT です。呼び出しのたびにブリッジするのも現実的ではありません。x402 の支払い要件は数分しか有効でなく、チェーン間の送金はたいていそれより時間がかかるからです。

ROZO は独立したサービスで、どの x402 販売者とも提携していません。

一度チャージして、何度でも支払う

ROZO の x402 ペイヤーは、この問題を二つに分けます。まず、すでに持っているコインで、いつも使っているチェーンから ROZO 残高に一度だけチャージします。その後は、Base の USDC を受け付けるエンドポイントへの x402 呼び出しごとに、その残高から数秒で、支払い期限内に支払いが行われます。

エージェントがシェルコマンドを実行できるなら、連携はこれだけです。

  1. 残高に一度チャージします。使い切りの入金アドレスが表示されるので、自分のウォレットから支払います:npx @rozoai/checkout x402 topup 20 --with usdt-solana
  2. 有料エンドポイントを呼び出します。CLI が 402 を読み、ROZO が署名し、支払い付きでリクエストが再送されます:npx @rozoai/checkout x402 pay https://api.example.com/v1/search --method POST --body '{"q":"..."}'
  3. 残高を確認します:npx @rozoai/checkout x402 balance

x402 pay の中で起きていること

リクエストはあなたのマシンからエンドポイントへ直接送られます。402 が返ってくると、CLI は支払い要件を読み取り、Base の USDC の選択肢だけを残して、その一件の支払いへの署名を ROZO に依頼します。その後、PAYMENT-SIGNATURE ヘッダーを付けて元のリクエストを再送し、レスポンスを表示します。

各支払いには idempotencyKey が付き、同じ支払いの再試行では同じキーを使うため、タイムアウトしても二重に請求されることはありません。

シェルがない場合は、同じ支払いを二つの主要な HTTP エンドポイント /v1/x402/topup と /v1/x402/sign で行えます。エージェントキーを bearer token として送り、エージェントが署名付きで自分のリクエストを再送します。x402 のページに両方の呼び出し例があります。

お金を守る仕組み

エージェントにウォレットを持たせるのは現実的なリスクです。そのためペイヤーは最小限の権限を前提に作られています。

チャージに使えるもの、支払われるもの

経路は二つあり、あえて分けて示しています。

チャージ側(あなたから ROZO へ):

ネイティブコインや sats をお持ちですか?それらは checkout.rozo.ai の ROZO Checkout で OpenRouter のチャージに使えます。

支払い側(ROZO から x402 販売者へ):

販売者が受け取るのは常に USDC です。x402 の exact 支払いはトークン送金だからです。USDT は残高へのチャージにだけ使われ、販売者には USDC が支払われます。Solana の USDC しか受け付けないエンドポイントの場合、CLI は請求が発生する前に X402_UNSUPPORTED で停止します。

最低チャージ額は $5 で、チャージには 1% の手数料がかかります。残高からの x402 支払いは、販売者が求める金額だけです。残高の払い戻しはまだセルフサービスではありません。マスクしたキーと金額を hi@rozo.ai にメールすると、指定したチェーンで残高が返送されます。

今すぐ使えます

ペイヤーはすでに利用できます。checkout.rozo.ai/x402 のページに、三つのコマンド、HTTP 呼び出し、上限、FAQ がまとまっています。すべてのエラーコードを含む完全なリファレンスは docs.rozo.ai にあります。エージェントは同じ手順を、安全ルールと再試行の指針とあわせて、checkout.rozo.ai/llms.txt と GitHub の RozoAI/rozo-checkout-skill リポジトリで読めます。

手持ちのコインで一度チャージして、エージェントが呼び出す API の支払いはエージェント自身に任せましょう。

よくある質問

x402 API を支払う前に、なぜチャージが必要なのですか?
x402 の支払い要件は数分しか有効でなく、チェーン間の送金はたいていそれより時間がかかります。すでに用意された残高から支払うことで、その期限内に支払いが届きます。チャージはまれにまとまった額で、支払いは頻繁に少額で行う形です。
x402 販売者はどのネットワークで受け取れますか?
Base の USDC(eip155:8453)、x402 スキーム exact です。Solana での支払いは今後対応予定です。Solana しか受け付けないエンドポイントでは、CLI が X402_UNSUPPORTED で停止し、何も請求されません。
これはサブスクリプションですか?
いいえ。呼び出しのたびに販売者からの新しい 402 と ROZO の新しい署名が必要なので、販売者があなたに再び請求する継続的な権限を得ることはありません。
上限と手数料は?
デフォルトで 1 回 $5、キーごとに 1 日 $100 で、キーごとに調整できます。最低チャージ額は $5、チャージ時に 1% の手数料がかかり、各 x402 支払いは販売者が求める金額だけです。
残高を払い戻すには?
払い戻しはまだセルフサービスではありません。マスクしたキーと金額を hi@rozo.ai にメールすると、指定したチェーンで残高が返送されます。

手持ちのコインで x402 API を支払う

いつも使っているチェーンの USDT か USDC で ROZO 残高に一度チャージすれば、エージェントはその残高から、Base の USDC を受け付ける x402 エンドポイントに支払えます。

x402 ペイヤーを開く

手持ちのコインで x402 API を支払う

x402 ペイヤーを開く