API、データフィード、MCPツールがエージェントに 402 Payment Required を返した場合、MetaMask Agent Wallet ならサインアップもAPIキーも不要で、USDCで支払えます。エージェントはサーバーの提示内容を読み取り、アセット、金額、ネットワーク、受取先をあなたに表示し、あなたが承認すると、1回限りの支払い認可に署名します。秘密鍵はウォレットの中にとどまります。また、署名リクエストはウォレットサービスの脅威スキャンも通過します。
免責事項:このガイドは教育目的のみを意図したものです。金融アドバイスや勧誘ではなく、英国の読者向けでもありません。AIエージェントによる暗号資産決済にはリスクがあり、すべてのユーザーに適しているわけではありません。
これは、Agent Wallet を使って x402 で支払うための操作ガイドです。x402 とは何か、402 のハンドシェイクがどのように機能するか、誰がプロトコルを管理しているかについては、x402 とはをご覧ください。委任ベースの x402 決済を自社アプリに組み込む開発者の方は、代わりに Smart Accounts Kit の x402 ガイドから始めてください。Agent Wallet をまだセットアップしていない場合は、クイックスタートから始めましょう。
エージェントがAPIキーを持たず、呼び出しごとに支払う理由
有料APIを使うには、通常アカウントと長期間有効なAPIキーが必要です。AIエージェントの場合、そのキーはエージェントが読み取れる場所に置かなければならず、攻撃の標的になります。2026年2月5日に公開された調査で、Snyk は ClawHub マーケットプレイス上の3,984件のスキルをスキャンし、283件(約7.1%)のスキルが、APIキー、パスワード、カード番号をモデルのコンテキストウィンドウ経由で、あるいはプレーンテキストのメモリファイルに渡していることを発見しました。そこではプロンプトインジェクションによってそれらが引き出されるおそれがあります。
x402 は、常時保持される秘密情報をなくします。エージェントはリクエストごとに、特定の受取先への正確な金額に対する署名付き認可を、短い有効期間付きで発行して支払います。Agent Wallet では、その署名は mm wallet sign-typed-data を通じてウォレットサービスから提供されるため、エージェントが秘密鍵やAPIキーを扱うことはありません。各認可にはランダムなノンスが含まれるため、二重に決済されることはありません。x402 がエージェントコマースに何をもたらすのか、エージェントが他のエージェントにサービスを販売するケースも含めた幅広い考察は、今後の記事で取り上げる予定です。
x402 の機能を詳しく見る
x402 のサポートは、mm のサブコマンドではなく、metamask-agent-wallet スキルに含まれる Python のヘルパースクリプトとして提供されます。エージェントは、リクエストが 402 を返したときにこれを呼び出します。通常は、普通の言葉で依頼するだけで済みます(「このURLからプレミアムデータを取得して、402が返ってきたら支払って」など)。あとはエージェントが次の手順を実行します。
ステップ | コマンド(エージェントが実行) | 動作内容 | 資金を使用するか |
HTTP 402 を確認する | x402_pay.py inspect
| サーバーの提示内容(アセット、金額、ネットワーク、受取先、リソース)を読み取る | いいえ |
HTTP 402 を支払う | x402_pay.py pay --confirm
| 認可に署名し、リクエストを再試行して、決済ハッシュとレスポンスを返す | はい |
有料MCPツールを確認する | x402_pay.py mcp-inspect --challenge
| 有料MCPツールが返した支払いチャレンジを読み取る | いいえ |
有料MCPツール用に署名する | x402_pay.py mcp-sign --challenge --confirm
| 認可に署名し、再試行するツール呼び出し用のペイロードを出力する | はい |
提示内容から選択する | --asset または --network
| サーバーが複数の選択肢を提示している場合に、1つを選ぶ | 該当なし |
GET 以外のエンドポイントに支払う | --method POST --data ''
| 支払い情報を添付して、同じリクエストを再送する | 該当なし |
詳細なリファレンスは、x402 支払いガイドとスキルの x402 リファレンスをご覧ください。
この流れを踏まえて、Agent Wallet で x402 決済を行うための9つのヒントをご紹介します。
1. サービスが指定するネットワークでUSDCを用意する
どのアセットとネットワークに対応するかは、サーバーが決めます。エージェントは、サーバーが提示した選択肢でしか支払えません。
Agent Wallet が支払えるのは EVM の提示のみで、対象は mm chains list に含まれるネットワークです。残高はチェーンごとに分かれているため、Ethereum 上の USDC では Base 上の提示を支払えません。別のチェーンにUSDCがある場合は、必要なチェーンへ資金を移すようエージェントに依頼することもできます。支払い自体は、ガスレスのオフチェーン認可です。サービスのファシリテーターがオンチェーンで決済するため、ウォレットにネットワーク手数料用のネイティブトークンを用意する必要はありません。
2. 支払う前に提示内容を確認する
inspect は、署名も支払いも行わずに 402 を読み取ります。アセット、人が読める形式の金額、ネットワーク、受取先の payTo、そしてリソースが返されます。スキルはエージェントに対し、これらの詳細をあなたに表示し、pay を実行する前にあなたの承認を待つよう指示しており、pay は --confirm がないと実行を拒否します。
署名の前には、いくつかのチェックが行われます。リソースのURLは https:// でなければなりません。スクリプトはリダイレクトを追跡しないため、ホストをまたぐリダイレクトによって、あなたが選んでいないサーバーへ支払いが転送されることはありません。金額は、トークンの最小単位で表した正の整数でなければならず、受取先とアセットは有効なアドレスでなければなりません。exact スキームでは、署名される金額は提示された金額と同じです。サーバーが上限までなら請求できる、という金額ではありません。
3. すべての支払いで確認を求める設定をデフォルトにする
Agent Wallet スキルを使うと、x402 での支払いのたびに、資産、金額、ネットワーク、受取人、リソースをデフォルトでエージェントからユーザーに確認させるよう指示できます。確認はエージェントとの会話の中で行われます。これは 2FA とは別のものです。2FA は、リクエストにフラグが立てられた場合、またはポリシーの範囲外となった場合にのみ、ウォレットサービスによって要求されます。
これは、1 回のセッションでリサーチレポートの購入、いくつかのデータ取得、ギフトカードの購入を行うようなエージェントに向いています。一方、有料エンドポイントを数秒ごとに呼び出すループには不向きです。呼び出しのたびにユーザーの確認を待つことになるためです。複数のステップで課金される購入の場合は、各ステップで確認が求められます。
4. x402 の支払いで Guard Mode が確認する内容を把握する
サーバーウォレットモードでは、すべての署名リクエストがウォレットサービスに送られ、署名の前に脅威スキャンが実行されます。フラグが立てられたリクエストは、承認するまで AWAITING_MFA の状態で一時停止します。x402 の認可には、サーバーが設定する短い有効期間があります。Guard Mode が 2FA のために署名を一時停止し、有効期間が終了した後に承認した場合、その認可は未使用のまま失効します。その場合は、エージェントに pay を再実行させてください。新しい 402 を取得し、新しい値で署名します。承認は、サインイン方法に応じた場所に届きます。Google またはメールでサインインした場合はメールのリンク、QR でサインインした場合は MetaMask Mobile の通知メニューです。
ローリング 24 時間の送金上限は、ここでは仕組みが異なります。送金ポリシーの対象はトークン転送、スワップ、デposit であり、2026 年 10 月 27 日時点では、Permit2 などの署名は送金額の計算に含まれないと明記されています。x402 の認可は署名であるため、24 時間の上限は x402 での支出を確実に制限するものではありません。確認ステップはエージェントがスキルに従うことに依存しており、実質的な上限は支払い元ウォレットのトークン残高です。リスクを抑える方法の 1 つは、有料 API の呼び出し専用に資金を入れた別のウォレットを用意することです。複数のウォレットは mm wallet create と mm wallet select で管理できます。
5. サーバーが複数の選択肢を提示した場合は 1 つを選ぶ
402 が、サポートされている複数のネットワークまたはアセットで同じスキームを提示している場合、スクリプトは代わりに選択することなく、「multiple eligible options」エラーで停止します。Base と Monad の両方で USDC を受け付けるサービスでは、このエラーが発生することがあります。--network(たとえば Base なら eip155:8453)、またはトークンコントラクトを指定した --asset を付けて再実行してください。資金を入れたネットワークをエージェントに伝えておけば、最初からそのフラグを渡してもらえます。
6. Agent Wallet が署名できるオファーかどうかを確認する
このヘルパーは、x402 プロトコル v1 と v2 に対応し、EVM ネットワークで EIP-3009 の transferWithAuthorization を使って exact スキームに署名します。次のようなものを検出した場合は、明確なエラーを返し、何にも署名しません。
オファー | 拒否される理由 |
Permit2 のアセット転送方式のみ | ヘルパーが署名するのは EIP-3009 のみ |
upto またはその他のスキーム
| サポートされているのは exact のみ |
Solana またはその他の非 EVM ネットワーク | mm chains list にある EVM ネットワークのみ
|
EIP-712 ドメインの name と version がない | ヘルパーは署名ドメインを推測しない |
標準的な x402 チャレンジではない 402 | 先に支払ってからハッシュを送るスキームは x402 ではない |
サービスが同じアセットで Permit2 と EIP-3009 の両方を提示している場合は、EIP-3009 のオプションが使用されます。各エラーについては、トラブルシューティングページに一覧があります。
7. 支払いを確認せずに再実行しない
スクリプトは過去の支払いの記録を保持しません。EIP-3009 の nonce により、同じ署名済み認可が 2 回決済されることは防がれますが、pay を新たに実行するたびに新しい支払いが作成されます。pay が「payment not accepted」を返した場合は、再試行する前に、決済の出力内容と認可の有効期間が切れていないかを確認してください。同じリソースに対して 2 回実行すると、2 回課金されます。x402 ガイドでも、呼び出し側に重複した呼び出しを防ぐよう求めています。
8. MCP ツールや POST エンドポイントにも支払える
x402 は GET リクエストに限定されません。--method と --data を指定すると、ヘルパーは支払い情報を添付して同じリクエストボディを再送するため、有料の POST(たとえば AI のチャット補完エンドポイント)も、有料ダウンロードと同じように利用できます。
有料の MCP ツールは、x402 v2 の MCP トランスポートを使用します。未払いのツール呼び出しでは、支払いチャレンジを含むエラー結果が返されます。エージェントは mcp-inspect を実行してオファーを提示し、ユーザーの承認後に mcp-sign --confirm を実行して、署名済みペイロードを _meta["x402/payment"] に入れてツール呼び出しを再試行します。スクリプトは署名のみを行い、MCP のやり取りは行わないため、再試行はエージェント自身の MCP セッションが送信します。再試行で再びチャレンジが返ってきた場合は、支払いが決済されていないことを意味します。その場合、エージェントは再度署名せず、その旨をユーザーに報告します。
エージェントが x402 で購入するもの
1 つの用途は有料データです。たとえば、トレーディングエージェントは行動に移る前にシグナルやプロジェクトのリサーチを取得し、その後スワップやパーペチュアルに引き継いで実行できます。以下は x402 に対応しているサービスの例で、詳細は 2026 年 10 月 27 日時点の各サービスのドキュメントに基づいています。
サービス | エージェントが購入できるもの | x402 の料金 | 支払いネットワーク |
Nansen | オンチェーン分析:ウォレットプロフィール、トークンスクリーナー、Smart Money のフロー | 1 回の呼び出しあたり $0.01(ベーシック)、$0.05(プレミアムおよび Smart Money) | Base、Monad 上の USDC(Monad は x402 v2 のみ) |
Messari | マーケットデータ、ネットワーク指標、資金調達、ニュース、シグナル、トークンアンロック、Messari AI | エンドポイントに応じて 1 リクエストあたり $0.00~$1.00 | Base上のUSDC |
Bitrefill | 180以上の国と地域で使えるギフトカード、携帯電話のチャージ、eSIM | 商品価格 | x402経由のUSDCなど |
オファーの形式はサービスごとに異なるため、まずエージェントに inspect を実行させて、そのオファーがAgent Walletで署名できるものかどうかを確認しましょう(ヒント6)。たとえば、Nansenのx402エンドポイントは POST リクエストを受け付け、x402 v2のみに対応しています。リクエストの例:「EthereumのNansen Smart Money純フローを取得して。402が返ってきたら、費用を表示して、私が確認したあとに支払って。」さらに多くのx402サービスを探すには、x402エコシステムのエクスプローラーであるx402scanが便利です。
Agent Walletがx402でできないこと
流出上限によるx402の支出制限。流出ポリシーでは、現時点では署名が24時間の集計から除外されます。
すべてのx402オファーへの署名。Permit2のみのオファー、upto、およびEVM以外のオファーは拒否されます。
支払いの重複排除。支払い台帳はまだありません。pay を再実行すると、再度支払いが行われます。
x402での販売。このヘルパーは購入者側専用です。他のエージェント向けに有料エンドポイントをホストするには、別途セットアップが必要です。
mm コマンドとしての実行。スキル内のPython 3スクリプトです。常にJSONを出力するため、--toon と --format は適用されません。
はい。metamask-agent-wallet スキルをインストールし、Python 3 が使える状態であれば、エージェントは 402 を検出してオファーを表示し、あなたが承認すると、mm wallet sign-typed-data を通じて EIP-3009 の支払い承認に署名します。HTTP エンドポイントでも、有料の MCP ツールでも利用できます。
支払いそのものには必要ありません。ウォレットはオフチェーンの承認に署名し、サービスのファシリテーターがオンチェーンでの決済を送信します。サービスが指定するネットワーク上に、要求されたトークン(通常はUSDC)を十分な量だけ保有している必要があります。
2026年10月27日時点では、アウトフローポリシーにより、Permit2などの署名はアウトフローの計算に含まれないと定められており、x402の承認は署名にあたります。ウォレットサービスは引き続き署名リクエストに対してスレットスキャンを実行し、スキルは各支払いについてエージェントがユーザーに確認するようにしています。
Agent Wallet は、この方法で設定できます。デフォルトでは、スキルがエージェントに対し、x402 の支払いのたびにユーザーの確認を取るよう指示します。
2FA の待機中に認可の有効期限が切れた場合は、pay を再実行して新しい値で署名してください。サーバーが支払いを拒否した場合は、再試行する前に settlement の出力を確認してください。pay を実行するたびに新たな支払いが発生するためです。
Agent Wallet は、ご自身が運用する AI エージェントが、mm CLI とスキルを通じて専用ウォレットから支払いを行うためのものです。Smart Accounts Kit は、ERC-7710 のデリゲーションを使って x402 決済を自社アプリに組み込みたい開発者向けで、定期的な予算設定にも対応しています。