本文へ移動
hanzochang

技術と実践のノート

x402とは? AIエージェント × MCP × 暗号資産が交差するHTTP自動決済プロトコル

公開

著者:株式会社hanzochang

HTTP 402を活用した決済プロトコル「x402」の入門ガイド。暗号資産(USDC)即時決済、AIエージェントによるMCP経由の自動購入、マルチチェーン対応まで、全体像を解説します。

はじめに

Webの歴史には「未完成のステータスコード」があります。HTTP 402 Payment Required — 1990年代に定義されながら、30年以上にわたり「将来の使用のために予約」とされてきたステータスコードです。

2025年、Coinbaseがこのステータスコードをついに実用化しました。x402はHTTPの仕組みに決済を組み込むオープンプロトコルです。APIコールの中にステーブルコイン決済を埋め込むことで、アカウント作成もAPIキー管理も不要な、インターネットネイティブの支払いを実現します。

この記事では、x402の基本概念からアーキテクチャ、対応チェーン、AIエージェントとの連携まで、全体像を解説します。

対象読者
  • Web3やステーブルコイン決済に関心があるエンジニア
  • AIエージェントの自律的な決済フローに興味がある方
  • API収益化の新しい手法を探している方

目次

HTTP 402の歴史とx402の誕生

HTTP 402 Payment Requiredは、RFC 7231で定義されているHTTPステータスコードです。「将来の使用のために予約」とされたまま、具体的な仕様が策定されることなく放置されていました。

x402はこのステータスコードに命を吹き込みます。クライアントがリソースにアクセスしようとすると、サーバーが402 Payment Requiredを返し、支払い条件を提示します。クライアントが署名付きの支払いを添えてリクエストを再送すると、サーバーがブロックチェーン上で決済を実行し、リソースを返却します。

この仕組みにより、以下のような「インターネットの原罪」とも呼ばれる課題が解消されます。

  • アカウント登録・KYC不要
  • APIキーの事前発行不要
  • クレジットカード情報の入力不要
  • 即時決済(従来の数日ではなく数秒)
x402の6つの設計原則

x402は以下の原則に基づいて設計されています。

原則説明
オープン標準誰でも自由にアクセスでき、特定の組織に依存しない
HTTPネイティブ既存のHTTPインフラに自然に統合される
ネットワーク非依存複数のブロックチェーンと通貨形式をサポート
後方互換性セキュリティ上の正当な理由なく既存ネットワークのサポートを廃止しない
トラスト最小化Facilitatorやサーバーがクライアントの意図外の資金移動を防止
ユーザーフレンドリーガス代やRPCの複雑さをクライアント・サーバーから抽象化
原則説明
オープン標準誰でも自由にアクセスでき、特定の組織に依存しない
HTTPネイティブ既存のHTTPインフラに自然に統合される
ネットワーク非依存複数のブロックチェーンと通貨形式をサポート
後方互換性セキュリティ上の正当な理由なく既存ネットワークのサポートを廃止しない
トラスト最小化Facilitatorやサーバーがクライアントの意図外の資金移動を防止
ユーザーフレンドリーガス代やRPCの複雑さをクライアント・サーバーから抽象化

アーキテクチャ

x402のアーキテクチャは3つのコアコンポーネントと3つのアクターで構成されています。

3つのコアコンポーネント

  1. Types(型): PaymentRequirementsPaymentPayloadSettlementResponseなどのコアデータ構造。トランスポートや決済スキームに依存しない
  2. Logic(ロジック): 決済スキーム(exact、deferredなど)とネットワーク(EVM、Solanaなど)に依存する決済の構築・検証ロジック
  3. Representation(表現): トランスポート層(HTTP、MCP、A2Aなど)に依存するデータの伝送方法

3つのアクター

アクター役割
Client(クライアント)リソースにアクセスしたいエンティティ。AIエージェントやアプリケーション
Resource Server(リソースサーバー)APIやコンテンツを提供するHTTPサーバー
Facilitator(ファシリテーター)決済の検証とブロックチェーン上での決済実行を担うサーバー
アクター役割
Client(クライアント)リソースにアクセスしたいエンティティ。AIエージェントやアプリケーション
Resource Server(リソースサーバー)APIやコンテンツを提供するHTTPサーバー
Facilitator(ファシリテーター)決済の検証とブロックチェーン上での決済実行を担うサーバー

Facilitatorは決済処理の複雑さを引き受ける重要な存在です。リソースサーバーはブロックチェーンの知識を持つ必要がなく、Facilitatorの/verify/settleエンドポイントを呼ぶだけで決済を完了できます。

決済フロー

x402の決済フローは以下の4ステップです。

Step 1: クライアントがリソースをリクエスト
text
GET /premium-data HTTP/1.1
Host: api.example.com
text
GET /premium-data HTTP/1.1
Host: api.example.com

Step 2: サーバーが402で支払い条件を返す

サーバーは402 Payment Requiredステータスとともに、PAYMENT-REQUIREDヘッダーで支払い条件をBase64エンコードして返します。

http
HTTP/1.1 402 Payment Required
PAYMENT-REQUIRED: <Base64エンコードされたPaymentRequired>
http
HTTP/1.1 402 Payment Required
PAYMENT-REQUIRED: <Base64エンコードされたPaymentRequired>

デコードすると以下のようなJSONになります。

json
{
  "x402Version": 2,
  "error": "PAYMENT-SIGNATURE header is required",
  "resource": {
    "url": "https://api.example.com/premium-data",
    "description": "Access to premium market data",
    "mimeType": "application/json"
  },
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "amount": "10000",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x209693Bc6afc0C5328bA36FaF03C514EF312287C",
      "maxTimeoutSeconds": 60,
      "extra": { "name": "USDC", "version": "2" }
    }
  ]
}
json
{
  "x402Version": 2,
  "error": "PAYMENT-SIGNATURE header is required",
  "resource": {
    "url": "https://api.example.com/premium-data",
    "description": "Access to premium market data",
    "mimeType": "application/json"
  },
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "amount": "10000",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x209693Bc6afc0C5328bA36FaF03C514EF312287C",
      "maxTimeoutSeconds": 60,
      "extra": { "name": "USDC", "version": "2" }
    }
  ]
}
Step 3: クライアントが署名付き決済を送信

クライアントはPAYMENT-SIGNATUREヘッダーに署名付きのPaymentPayloadをBase64エンコードして添付し、リクエストを再送します。

http
GET /premium-data HTTP/1.1
Host: api.example.com
PAYMENT-SIGNATURE: <Base64エンコードされたPaymentPayload>
http
GET /premium-data HTTP/1.1
Host: api.example.com
PAYMENT-SIGNATURE: <Base64エンコードされたPaymentPayload>
Step 4: サーバーが検証・決済・レスポンスを返す

サーバーはFacilitatorの/verify/settleを順に呼び出し、ブロックチェーン上でトランザクションを実行します。成功すると200 OKとともにPAYMENT-RESPONSEヘッダーで決済結果を返します。

http
HTTP/1.1 200 OK
PAYMENT-RESPONSE: <Base64エンコードされたSettlementResponse>
http
HTTP/1.1 200 OK
PAYMENT-RESPONSE: <Base64エンコードされたSettlementResponse>
ここまでの流れをシーケンス図にまとめると

Step 1〜4の流れを、Client・Resource Server・Facilitator・Blockchainの4者間のやり取りとして時系列で整理したものが以下のシーケンス図です。各ステップがどのタイミングで、誰から誰へ何が送られるかを俯瞰できます。

x402 決済シーケンス図
100%
図のソース
sequenceDiagram
    participant C as Client
    participant S as Resource Server
    participant F as Facilitator
    participant BC as Blockchain
    C->>S: GET /premium-data
    S-->>C: 402 Payment Required + PAYMENT-REQUIRED
    Note over C: 支払い条件を確認 EIP-3009署名を構築
    C->>S: GET /premium-data + PAYMENT-SIGNATURE
    S->>F: POST /verify
    F-->>S: VerifyResponse (isValid true)
    S->>F: POST /settle
    F->>BC: transferWithAuthorization USDC送金
    BC-->>F: トランザクション確認
    F-->>S: SettlementResponse (success true)
    S-->>C: 200 OK + リソース + PAYMENT-RESPONSE

対応ネットワークとアセット

x402はV2仕様でCAIP-2(Chain Agnostic Improvement Proposal)形式のネットワーク識別子を採用しています。

EVMチェーン

ネットワークCAIP-2識別子Chain ID
Base メインネットeip155:84538453
Base Sepolia(テスト)eip155:8453284532
Avalanche メインネットeip155:4311443114
Avalanche Fuji(テスト)eip155:4311343113
ネットワークCAIP-2識別子Chain ID
Base メインネットeip155:84538453
Base Sepolia(テスト)eip155:8453284532
Avalanche メインネットeip155:4311443114
Avalanche Fuji(テスト)eip155:4311343113

EVMではEIP-3009(Transfer with Authorization)に対応したERC-20トークンが利用可能です。現時点ではUSDCが主なサポート対象です。

Solana
ネットワークCAIP-2識別子
Solana メインネットsolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Solana Devnet(テスト)solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1
ネットワークCAIP-2識別子
Solana メインネットsolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Solana Devnet(テスト)solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1

SolanaではSPLトークンおよびToken-2022プログラムのトークンが利用可能です。

Coinbaseホスト型Facilitator

Coinbaseが提供するホスト型Facilitatorは、BaseとSolanaの両方をサポートしています。月間1,000トランザクションまで無料、以降は1トランザクションあたり$0.001です。

サポートされるトランスポート

x402はトランスポート非依存の設計で、現在以下のトランスポートが仕様化されています。

トランスポート用途
HTTPWeb API、RESTサービス(Express.js、Hono、Next.js、FastAPI)
MCPAIエージェントのツール・リソース(Model Context Protocol)
A2Aエージェント間直接通信(Agent-to-Agent Protocol)
トランスポート用途
HTTPWeb API、RESTサービス(Express.js、Hono、Next.js、FastAPI)
MCPAIエージェントのツール・リソース(Model Context Protocol)
A2Aエージェント間直接通信(Agent-to-Agent Protocol)

HTTPトランスポートが最も成熟しており、サーバーサイドのミドルウェアとして数行で統合できます。

SDK・ライブラリ

x402は複数の言語でSDKを提供しています。

TypeScript

パッケージ用途リンク
@x402/coreコアプロトコルnpm
@x402/evmEVM(Base、Avalancheなど)対応npm
@x402/svmSolana対応npm
@x402/fetchFetchクライアントラッパーnpm
@x402/axiosAxiosクライアントラッパーnpm
@x402/expressExpressミドルウェアnpm
@x402/honoHonoミドルウェアnpm
@x402/nextNext.js統合npm
@x402/paywallペイウォールnpm
パッケージ用途リンク
@x402/coreコアプロトコルnpm
@x402/evmEVM(Base、Avalancheなど)対応npm
@x402/svmSolana対応npm
@x402/fetchFetchクライアントラッパーnpm
@x402/axiosAxiosクライアントラッパーnpm
@x402/expressExpressミドルウェアnpm
@x402/honoHonoミドルウェアnpm
@x402/nextNext.js統合npm
@x402/paywallペイウォールnpm

その他の言語

AIエージェントとの連携

x402がとりわけ注目を集めている理由は、AIエージェントによる自律的な決済を可能にする点です。

AIエージェントはAPIを呼び出す過程で402レスポンスを受け取ると、自動的に決済を行い、リソースにアクセスできます。アカウント作成やAPIキーの取得といった人間の介入が不要なため、エージェント間の経済活動がシームレスに実現します。

x402がサポートするユースケースは以下の通りです。

  • 自動決済処理: リソースアクセス時の支払いを自動化
  • リソースディスカバリ: Facilitatorサービス経由で利用可能なリソースを発見
  • 予算管理: 支出制御(実装依存)
  • マルチトランスポート: HTTP、MCP、A2Aを横断した決済
MCPとの統合

MCP(Model Context Protocol)トランスポートにより、Claude CodeやCursorといったAIツールのツール呼び出しの中にx402決済を組み込むことができます。

MCP x402 連携フロー
100%
図のソース
sequenceDiagram
    participant U as ユーザー
    participant AI as AIツール(Claude Code等)
    participant MCP as MCPサーバー(x402対応)
    participant F as Facilitator
    U->>AI: タスクを指示
    AI->>MCP: ツール呼び出し
    MCP-->>AI: 402 Payment Required
    Note over AI: ウォレットで自動署名
    AI->>MCP: ツール呼び出し + PAYMENT-SIGNATURE
    MCP->>F: /verify → /settle
    F-->>MCP: 決済完了
    MCP-->>AI: ツール実行結果
    AI-->>U: タスク結果を返却
A2Aとの統合

A2A(Agent-to-Agent)トランスポートにより、エージェント同士が直接決済を行う仕組みが実現されます。

A2A x402 エージェント間決済
100%
図のソース
sequenceDiagram
    participant A1 as エージェントA(リクエスト側)
    participant A2 as エージェントB(サービス提供側)
    participant F as Facilitator
    participant BC as Blockchain
    A1->>A2: サービスをリクエスト(A2A)
    A2-->>A1: 402 + 支払い条件
    Note over A1: 自律的に支払い判断 予算内であれば署名
    A1->>A2: 署名付き決済 + リクエスト
    A2->>F: /verify → /settle
    F->>BC: USDC送金
    BC-->>F: 確認
    F-->>A2: 決済完了
    A2-->>A1: サービス結果を返却

x402 Foundation

2025年末、CoinbaseとCloudflareはx402 Foundationの設立を発表しました。Foundationはx402の標準化、ツーリング、エッジプロバイダーやエージェントSDK全体での普及推進を担います。

Cloudflare Workersとの統合により、エッジでx402ペイウォールを展開できる仕組みが整備されています。

まとめ

x402は、HTTPに決済を組み込むというシンプルなアイデアを、実用的なプロトコルとして具体化したものです。

  • HTTP 402ステータスコードを活用したネイティブ決済
  • Base、Solana、Avalancheなど複数チェーンに対応
  • ステーブルコイン(USDC)による即時決済
  • AIエージェントによる自律的な支払いに最適
  • HTTP、MCP、A2Aなど複数のトランスポートをサポート
  • Coinbaseホスト型Facilitatorで月1,000txまで無料

x402.orgの統計によれば、プロトコルはすでに7,500万件以上のトランザクションを処理し、$24M以上のボリュームを記録しています。

参考リンク

公式ソース

参考記事

この記事が参考になったら

Xでフォローするお問い合わせ

この記事を書いた人

Webプランナー、開発会社の創業メンバーを経て、Fintech・DX・Web3の企画・開発に従事。2021年に独立し、2023年に株式会社hanzochangを設立。現在はAIを活用した業務改善と、自社サービス「指定管理者制度AI」の開発・運用に取り組んでいます。

半澤勇大のXアカウント(新しいタブで開く)

この記事の株式会社hanzochangについて
少し紹介させてください!

この記事に関連する当社のサービス

Web3アプリ開発受託サービス

ウォレット連携やNFTを、使いやすいアプリに。

Solanaなどのブロックチェーンを使ったアプリを、企画・検証から開発・運用まで支援します。ウォレット連携やコントラクトだけでなく、利用者が操作する画面までまとめて設計します。

サービスの詳細を見る
Jくんが接続されたアプリを組み立て、鉛筆で原稿を作るイラスト。Web3サービス開発とコンテンツ作成を表す。
  • 企画・技術検証

    事業の目的に合わせ、必要な機能と技術を検討。

  • アプリ・連携開発

    ウォレットやコントラクトと画面を一体で開発。

  • 公開・運用支援

    公開後の保守や機能改善まで継続して対応。

Web3アプリの開発について、お気軽にご相談ください。