コンテンツへスキップ

MetaMask Agent WalletでX402を使ってAPIの支払いをする方法:8つのヒント

あなたのエージェントは、x402経由でUSDCを使い、有料APIやデータ、MCPツールの料金を支払えます。MetaMask Agent Walletが各取引を検査、承認、署名する仕組みをご紹介します。

10分
MetaMask Agent WalletでX402を使ってAPIの支払いをする方法:8つのヒント

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 は適用されません。

x402とMetaMask Agent Walletに関するよくある質問

AIによる翻訳です。エラーが含まれている可能性があります。常に情報を確認してください。

翻訳を評価する

この記事の執筆者:

  • MetaMask

    MetaMask(旧Consensys Software Inc)は、世界最大のセルフカストディ型金融プラットフォームです。暗号資産と従来の資産の両方にわたって、資産の保有・支払い・貯蓄・運用を一か所で行える環境をユーザーに提供しています。同社は、決済・貯蓄・投資・デジタル資産をシームレスな体験として統合したコンシューマー向けプラットフォームの構築を進めています。世界で最も広く利用されているセルフカストディウォレットとして成長を遂げたMetaMaskは、約190か国にわたるユーザーが自身の資金と資産を直接管理できる手段を提供しています。MetaMaskは2016年以来、Ethereumの成長において基盤的な役割を果たしてきました。現在、MetaMaskはブロックチェーン経済の中心に位置し、「Open Money」のオペレーティングシステムを構築することで、人々が自らの金融生活を完全にコントロールできる世界を目指しています。

    すべての記事を読む