はじめに
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の複雑さをクライアント・サーバーから抽象化 |
アーキテクチャ
x402のアーキテクチャは3つのコアコンポーネントと3つのアクターで構成されています。
3つのコアコンポーネント
- Types(型):
PaymentRequirements、PaymentPayload、SettlementResponseなどのコアデータ構造。トランスポートや決済スキームに依存しない - Logic(ロジック): 決済スキーム(exact、deferredなど)とネットワーク(EVM、Solanaなど)に依存する決済の構築・検証ロジック
- Representation(表現): トランスポート層(HTTP、MCP、A2Aなど)に依存するデータの伝送方法
3つのアクター
| アクター | 役割 |
|---|---|
| Client(クライアント) | リソースにアクセスしたいエンティティ。AIエージェントやアプリケーション |
| Resource Server(リソースサーバー) | APIやコンテンツを提供するHTTPサーバー |
| Facilitator(ファシリテーター) | 決済の検証とブロックチェーン上での決済実行を担うサーバー |
Facilitatorは決済処理の複雑さを引き受ける重要な存在です。リソースサーバーはブロックチェーンの知識を持つ必要がなく、Facilitatorの/verifyと/settleエンドポイントを呼ぶだけで決済を完了できます。
決済フロー
x402の決済フローは以下の4ステップです。
Step 1: クライアントがリソースをリクエスト
GET /premium-data HTTP/1.1
Host: api.example.com
Step 2: サーバーが402で支払い条件を返す
サーバーは402 Payment Requiredステータスとともに、PAYMENT-REQUIREDヘッダーで支払い条件をBase64エンコードして返します。
HTTP/1.1 402 Payment Required
PAYMENT-REQUIRED: <Base64エンコードされたPaymentRequired>
デコードすると以下のような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エンコードして添付し、リクエストを再送します。
GET /premium-data HTTP/1.1
Host: api.example.com
PAYMENT-SIGNATURE: <Base64エンコードされたPaymentPayload>
Step 4: サーバーが検証・決済・レスポンスを返す
サーバーはFacilitatorの/verify→/settleを順に呼び出し、ブロックチェーン上でトランザクションを実行します。成功すると200 OKとともにPAYMENT-RESPONSEヘッダーで決済結果を返します。
HTTP/1.1 200 OK
PAYMENT-RESPONSE: <Base64エンコードされたSettlementResponse>
ここまでの流れをシーケンス図にまとめると
Step 1〜4の流れを、Client・Resource Server・Facilitator・Blockchainの4者間のやり取りとして時系列で整理したものが以下のシーケンス図です。各ステップがどのタイミングで、誰から誰へ何が送られるかを俯瞰できます。
図のソース
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:8453 | 8453 |
| Base Sepolia(テスト) | eip155:84532 | 84532 |
| Avalanche メインネット | eip155:43114 | 43114 |
| Avalanche Fuji(テスト) | eip155:43113 | 43113 |
EVMではEIP-3009(Transfer with Authorization)に対応したERC-20トークンが利用可能です。現時点ではUSDCが主なサポート対象です。
Solana
| ネットワーク | 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はトランスポート非依存の設計で、現在以下のトランスポートが仕様化されています。
| トランスポート | 用途 |
|---|---|
| HTTP | Web API、RESTサービス(Express.js、Hono、Next.js、FastAPI) |
| MCP | AIエージェントのツール・リソース(Model Context Protocol) |
| A2A | エージェント間直接通信(Agent-to-Agent Protocol) |
HTTPトランスポートが最も成熟しており、サーバーサイドのミドルウェアとして数行で統合できます。
SDK・ライブラリ
x402は複数の言語でSDKを提供しています。
TypeScript
| パッケージ | 用途 | リンク |
|---|---|---|
@x402/core | コアプロトコル | npm |
@x402/evm | EVM(Base、Avalancheなど)対応 | npm |
@x402/svm | Solana対応 | npm |
@x402/fetch | Fetchクライアントラッパー | npm |
@x402/axios | Axiosクライアントラッパー | npm |
@x402/express | Expressミドルウェア | npm |
@x402/hono | Honoミドルウェア | npm |
@x402/next | Next.js統合 | npm |
@x402/paywall | ペイウォール | npm |
その他の言語
- Python:
x402パッケージ - Go:
github.com/coinbase/x402/go - Java: 利用可能(最小限のドキュメント)
AIエージェントとの連携
x402がとりわけ注目を集めている理由は、AIエージェントによる自律的な決済を可能にする点です。
AIエージェントはAPIを呼び出す過程で402レスポンスを受け取ると、自動的に決済を行い、リソースにアクセスできます。アカウント作成やAPIキーの取得といった人間の介入が不要なため、エージェント間の経済活動がシームレスに実現します。
x402がサポートするユースケースは以下の通りです。
- 自動決済処理: リソースアクセス時の支払いを自動化
- リソースディスカバリ: Facilitatorサービス経由で利用可能なリソースを発見
- 予算管理: 支出制御(実装依存)
- マルチトランスポート: HTTP、MCP、A2Aを横断した決済
MCPとの統合
MCP(Model Context Protocol)トランスポートにより、Claude CodeやCursorといったAIツールのツール呼び出しの中にx402決済を組み込むことができます。
図のソース
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)トランスポートにより、エージェント同士が直接決済を行う仕組みが実現されます。
図のソース
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以上のボリュームを記録しています。
参考リンク
公式ソース
参考記事
- What is x402? The HTTP-402 payments standard powering AI agents — CryptoSlate
- How to Implement a Crypto Paywall with x402 — QuickNode


