x402
Metaplex x402 APIリファレンス
Last updated September 8, 2026
Metaplex x402 APIはhttps://api.metaplex.com/x402で提供され、3つの有料サービス、2つの無料ディスカバリーエンドポイント、4つのエージェント委任ルートを公開しています。このページはエンドポイント、料金、クライアントエクスポートのリファレンスです。有料エンドポイントに必要な支払い対応fetchの構築方法は支払いモードガイドで説明しています。
概要
すべての有料エンドポイントは、未払いのリクエストに対してHTTP 402と、何をいくら支払えばよいかを正確に記述したPAYMENT-REQUIREDヘッダーを返し、クライアントは支払い証明と共に再試行します。標準ウォレットモードと、Coreアセットまたはエージェントが直接支払うモードでは、支払いごとにローカルで署名します。委任されたエージェントの場合は、メッセージ署名で一度認証を行い、サービスがエージェントのウォレットから支払いを構築します。ディスカバリーエンドポイントには支払いも署名者も不要です。
- ベースURL — APIは
https://api.metaplex.com/x402、Solana JSON-RPCはhttps://api.metaplex.com/x402/rpc - ワイヤーフォーマット — チャットと画像は正規のOpenAIリクエスト/レスポンスボディ、RPCは標準のSolana JSON-RPC
- 決済 — Solanaメインネット上のUSDC、x402プロトコルバージョン2、
exactスキーム - クライアントバージョン —
@metaplex-foundation/x4020.1.0、Node.js 20.18+、ESMのみ
ベースURLと定数
クライアントは両方のベースURLをエクスポートしているため、アプリケーション側でハードコードする必要はありません。
| 定数 | 値 |
|---|---|
METAPLEX_X402_BASE_URL | https://api.metaplex.com/x402 |
METAPLEX_X402_RPC_URL | https://api.metaplex.com/x402/rpc |
エンドポイント
有料エンドポイントには支払い対応のfetchが必要で、無料エンドポイントには不要です。
| メソッド | パス | 支払い | 説明 |
|---|---|---|---|
GET | /x402/models | 無料 | 利用可能なモデルID |
GET | /x402/pricing | 無料 | モデル単価、リクエスト最低額、RPCメソッド別価格、法務URL |
POST | /x402/chat/completions | 有料 | OpenAI互換のチャット補完 |
POST | /x402/images/generations | 有料 | OpenAI互換の画像生成 |
POST | /x402/rpc | 有料 | Solana JSON-RPCとDAS、HTTPのみ |
GET | /x402/core-execute-delegate/status | 無料 | Coreアセットの委任ステータス |
POST | /x402/core-execute-delegate/approve | 無料 | 実行委任の承認 |
POST | /x402/core-execute-delegate/revoke | 無料 | 実行委任の取り消し |
POST | /x402/core-execute-delegate/auth | 無料 | Sign-In-With-X署名を24時間有効なベアラートークンと交換 |
委任ルートはクライアントエクスポートに挙げたSDKヘルパーでラップされています。ルートを直接呼ばず、これらのヘルパーを使ってください。
ディスカバリーエンドポイント
ディスカバリーエンドポイントは無料で呼び出せ、クライアントのヘルパー経由で型付きデータを返します。
import { getModels, getPricing } from '@metaplex-foundation/x402';
// Available model IDs, e.g. 'openai/gpt-5.4-mini'.
const models = await getModels();
// Per-model token rates, request minimums, RPC method prices, and legal URLs.
const pricing = await getPricing();
GET /x402/modelsはOpenAI形式のモデル一覧を返します。
{
"object": "list",
"data": [
{ "id": "anthropic/claude-opus-4.8", "object": "model", "created": 0, "owned_by": "anthropic" },
{ "id": "openai/gpt-5.4-mini", "object": "model", "created": 0, "owned_by": "openai" }
]
}
チャット補完エンドポイント
POST /x402/chat/completionsは正規のOpenAIチャット補完ボディを受け取って返し、モデルは<provider>/<model>形式で指定します。
import { METAPLEX_X402_BASE_URL } from '@metaplex-foundation/x402';
import OpenAI from 'openai';
const openai = new OpenAI({
// The OpenAI SDK requires a value, but this gateway authenticates by payment.
apiKey: 'x402',
baseURL: METAPLEX_X402_BASE_URL,
fetch: fetchWithPayment,
});
const completion = await openai.chat.completions.create({
model: 'openai/gpt-5.4-mini',
messages: [{ role: 'user', content: 'Say hi in one word.' }],
});
Vercel AI SDKは、OpenAI互換プロバイダーを介して同じエンドポイントに到達します。
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
import { METAPLEX_X402_BASE_URL } from '@metaplex-foundation/x402';
import { generateText } from 'ai';
const metaplex = createOpenAICompatible({
name: 'metaplex-x402',
apiKey: 'x402',
baseURL: METAPLEX_X402_BASE_URL,
fetch: fetchWithPayment,
});
const { text } = await generateText({
model: metaplex.chatModel('openai/gpt-5.4-mini'),
prompt: 'Say hi in one word.',
});
画像生成エンドポイント
POST /x402/images/generationsは正規のOpenAI画像生成ボディを受け取ります。
const image = await openai.images.generate({
model: 'openai/gpt-image-1.5',
prompt: 'A yellow square.',
size: '1024x1024',
});
import { generateImage } from 'ai';
const { image } = await generateImage({
model: metaplex.imageModel('openai/gpt-image-1.5'),
prompt: 'A yellow square.',
size: '1024x1024',
});
Solana RPCエンドポイント
POST /x402/rpcは標準のSolana JSON-RPCリクエストを受け付け、DASメソッドをパススルーし、リクエストごとに個別に課金・決済します。
import { createSolanaRpcFromTransport, type RpcTransport } from '@solana/kit';
import { METAPLEX_X402_RPC_URL } from '@metaplex-foundation/x402';
const rpcTransport: RpcTransport = async ({ payload, signal }) => {
const response = await fetchWithPayment(METAPLEX_X402_RPC_URL, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload),
signal: signal ?? null,
});
return response.json();
};
const rpc = createSolanaRpcFromTransport(rpcTransport);
const slot = await rpc.getSlot().send();
import { METAPLEX_X402_RPC_URL } from '@metaplex-foundation/x402';
import { Connection } from '@solana/web3.js';
const connection = new Connection(METAPLEX_X402_RPC_URL, {
fetch: fetchWithPayment,
});
const slot = await connection.getSlot();
x402のRPCエンドポイントはHTTP専用です
WebSocket接続とサブスクリプションはサポートされていません。accountSubscribeやlogsSubscribeなどのサブスクリプションメソッドには従来のRPCプロバイダーを使ってください。
支払いチャレンジのフィールド
有料エンドポイントへの未払いリクエストは、base64エンコードされたPAYMENT-REQUIREDヘッダーとともにHTTP 402を返します。@metaplex-foundation/x402で構築したクライアントはこれを自動的に解析します。以下のフィールドは、デバッグ用途およびJavaScript以外のクライアント向けのドキュメントです。
| フィールド | 値の例 | 意味 |
|---|---|---|
x402Version | 2 | プロトコルバージョン |
accepts[].scheme | exact | 支払いスキーム |
accepts[].network | solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp | SolanaメインネットのCAIP-2ネットワーク識別子 |
accepts[].asset | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v | USDCのミント |
accepts[].amount | 1000 | アセットの最小単位での金額 — 1000は$0.001 |
accepts[].payTo | 9AYgwvWMhZuir6rZoto13jrU1oZA1XxRDhqPznxyomHv | 受取アカウント |
accepts[].maxTimeoutSeconds | 300 | 支払いを送信しなければならない時間枠 |
accepts[].extra.quoteId | UUID | 支払い対象の見積もりを識別 |
accepts[].extra.usage | OpenAIのusageオブジェクト | 見積もりの算出根拠となった実測トークン使用量 |
accepts[].extra.memo | metaplex:x402:chat.completions | 決済とともに書き込まれるMemo |
accepts[].extra.feePayer | 公開鍵 | 支払いトランザクションのネットワーク手数料を負担するアカウント |
extensions["metaplex-core-execute-delegate"] | オブジェクト | 委任認証の詳細 — sign-in-with-x、ベアラートークン、トークンエンドポイント、支払い元アセットを指定するX-METAPLEX-CORE-ASSETヘッダー |
見積もりは実測使用量から算出されます
推論リクエストの402チャレンジにはquoteIdと値の入ったusageオブジェクトが含まれるため、金額は見積もりではなくリクエストが実際に消費したトークンを反映します。レスポンスヘッダーのPAYMENT-REQUIREDとPAYMENT-RESPONSEはどちらもCORSで公開されています。
チャット補完の料金
チャットモデルは100万トークンあたりの単価で、入力・キャッシュ入力・出力それぞれに個別のレートがあり、1リクエストあたり$0.001の最低額が適用されます。以下のレートは2026-09-08にGET /x402/pricingから取得したものです。
| モデル | 入力 | キャッシュ入力 | 出力 |
|---|---|---|---|
anthropic/claude-opus-4.8 | $5.00 | $0.50 | $25.00 |
anthropic/claude-opus-4.7 | $5.00 | $0.50 | $25.00 |
anthropic/claude-opus-4.6 | $5.00 | $0.50 | $25.00 |
anthropic/claude-opus-4.5 | $5.00 | $0.50 | $25.00 |
anthropic/claude-sonnet-4.6 | $3.00 | $0.30 | $15.00 |
anthropic/claude-sonnet-4.5 | $3.00 | $0.30 | $15.00 |
anthropic/claude-haiku-4.5 | $1.00 | $0.10 | $5.00 |
openai/gpt-5.5 | $5.00 | $0.50 | $30.00 |
openai/gpt-5.4 | $2.50 | $0.25 | $15.00 |
openai/gpt-5.4-mini | $0.75 | $0.075 | $4.50 |
openai/gpt-5.4-nano | $0.20 | $0.02 | $1.25 |
openai/gpt-5.5とopenai/gpt-5.4は、入力272,000トークンを超えるとロングコンテキストの高いレートが適用されます — gpt-5.5は入力$10.00・出力$45.00、gpt-5.4は入力$5.00・出力$22.50です。
画像生成の料金
画像モデルは4区分について100万トークンあたりで課金され、同じく1リクエストあたり$0.001の最低額が適用されます。
| モデル | 入力テキスト | 入力画像 | 出力画像 | 出力テキスト |
|---|---|---|---|---|
openai/gpt-image-1.5 | $5.00 | $8.00 | $32.00 | $10.00 |
openai/gpt-image-2 | $5.00 | $8.00 | $30.00 | $10.00 |
Solana RPCの料金
RPC呼び出しはデフォルトで1リクエストあたり$0.00001、負荷の重いメソッドには高いレートが設定されています。
| メソッド | 1リクエストあたりの価格 |
|---|---|
| デフォルト(一覧にないすべてのメソッド) | $0.00001 |
getBlockTime | $0.00001 |
getTransaction | $0.00002 |
getBlocks | $0.00002 |
getBlocksWithLimit | $0.00002 |
getConfirmedTransaction | $0.00002 |
getBlock | $0.00005 |
getConfirmedBlock | $0.00005 |
getSignaturesForAddress | $0.00010 |
MetaplexSvmExactSchemeのオプション
MetaplexSvmExactSchemeは、Coreアセットおよびエージェントの支払いに使う支払いスキームです。
| オプション | 必須 | 説明 |
|---|---|---|
rpcUrl | はい | 支払いトランザクションの構築に使うRPCエンドポイント |
coreExecute.asset | Coreアセット支払いの場合 | 支払いの資金元となるシグナーPDAを持つCoreアセットまたはエージェント |
coreExecute.collection | アセットがコレクションに属する場合 | そのアセットのCoreコレクション |
coreExecute.executionDelegateRecord | いいえ | 上級者向け: 実行デリゲートレコードを上書きします |
commitment | いいえ | ブロックハッシュ取得時のコミットメント。既定はconfirmed |
computeUnitLimit | いいえ | Core execute支払いでは既定200,000、それ以外では20,000 |
このスキームはUmiの署名者とSolana Kitのパーシャルトランザクション署名者を受け付けますが、sign-and-send署名者は受け付けません。Kitの署名者は内部で変換されます。
クライアントエクスポート
@metaplex-foundation/x402は、公開APIをパッケージルートに集約しています。
| カテゴリ | エクスポート |
|---|---|
| 支払い | MetaplexSvmExactScheme、MetaplexSvmSigner、kitPartialTransactionSignerToUmiSigner |
| エージェント委任 | fetchMetaplexCoreExecuteDelegateStatus、approveMetaplexCoreExecuteDelegate、revokeMetaplexCoreExecuteDelegate、authorizeMetaplexCoreExecuteDelegate |
| エージェント支払いトランスポート | createMetaplexCoreExecuteDelegateClientExtension、wrapFetchWithMetaplexCoreExecuteDelegate、各トークンストア実装 |
| ディスカバリー | getModels、getPricing、METAPLEX_X402_BASE_URL、METAPLEX_X402_RPC_URL |
オプション型と結果型、プロトコル定数、委任ルートのスキーマもパッケージルートからエクスポートされています。
環境変数
x402リポジトリの実行可能なサンプルは、以下の変数を読み込みます。
| 変数 | 必須 | 説明 |
|---|---|---|
SVM_PRIVATE_KEY | はい | Base58エンコードされた64バイトの開発用キーペア |
CORE_ASSET_ADDRESS | Coreアセット・エージェントのサンプル | そのキーペアが所有するMetaplex Coreアセット |
SVM_RPC_URL | いいえ | x402のSVMスキームが使うカスタムSolana RPC URL |
METAPLEX_X402_BASE_URL | いいえ | APIベースURL。既定はhttps://api.metaplex.com/x402 |
METAPLEX_X402_RPC_URL | いいえ | RPC URL。既定はhttps://api.metaplex.com/x402/rpc |
METAPLEX_API_BASE_URL | いいえ | ローカル開発用のAPIルート上書き。例: http://localhost:3000/api |
注意事項
- このリファレンスの価格は2026-09-08に取得したスナップショットです。実効的な価格表はライブサービスの
GET /x402/pricingであり、無料で呼び出せます。 - 支払いはクラシックなSPL Tokenの関連トークンアカウントからUSDCで決済されます。Token-2022の支払いミントは現在サポートされていません。
- Coreアセットおよびエージェントの支払いモードでは、Core
execute手数料のためにアセットシグナーPDAにSOLが必要です。標準ウォレットの支払いには不要です。 - ホストされたサーバーはオープンソースではありません。クライアント、そのサンプル、プロトコル型はApache-2.0で公開されています。
- 本APIの利用は、Metaplex.com利用規約およびプライバシーポリシーへの同意を意味します。
クイックリファレンス
| 項目 | 値 |
|---|---|
| APIベースURL | https://api.metaplex.com/x402 |
| RPC URL | https://api.metaplex.com/x402/rpc |
| JSクライアント | @metaplex-foundation/x402(0.1.0) |
| ランタイム | Node.js 20.18+、ESM |
| プロトコル | x402バージョン2、exactスキーム |
| ネットワーク | solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp(Solanaメインネット) |
| 支払いミント | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v(USDC) |
| 運用エージェント | MECHjj31U1hBapoVeJtZo5U5WGRd2293JEwRErvPTuF |
| ソース | GitHub(Apache-2.0) |
Metaplex Foundationが管理。最終確認日: 2026-09-08。クライアントバージョン: @metaplex-foundation/x402 0.1.0。GitHubでソースを見る。
