紹介

Metaplex API

Last updated August 1, 2026

Metaplex API は api.metaplex.com のパブリック REST API です。Genesis ローンチデータの提供、ローンチ作成トランザクションの構築に加え、Metaplex Agent Registry — エージェントの閲覧、A2A AgentCard の提供、エージェントウォレットトランザクションの構築 — を公開しています。metaplex.com のローンチプラットフォームを支えているのも同じ API であり、ここに記載されているエンドポイントはサイト自体が使用しているものです。

Summary

Metaplex API は、Genesis ローンチデータ、ローンチ作成、エージェントレジストリへのパブリックな HTTP アクセスを提供します — SDK も認証も不要です。

  • Genesis アドレスまたはトークンミントでローンチをクエリ、あるいはすべてのアクティブなローンチを閲覧
  • 新しい Genesis ローンチの作成と登録
  • エージェントレジストリの閲覧・検索、エージェントごとの A2A AgentCard の取得
  • エージェントのミント、資金供給、引き出しトランザクションの構築
  • https://api.metaplex.com/v1 のパブリック REST API — 認証不要
  • metaplex.com のローンチプラットフォームを支える API — インテグレーターはプラットフォームと同じエンドポイントを利用
  • Solana メインネット(デフォルト)およびデブネットを network クエリパラメータでサポート
  • 機械可読な OpenAPI 3.1 仕様:YAML(正規版)/ JSON、RFC 9727 API カタログから発見可能

ベース URL

https://api.metaplex.com/v1

ネットワーク選択

デフォルトでは、API は Solana メインネットのデータを返します。devnet のローンチをクエリするには、network クエリパラメータを追加します:

?network=solana-devnet

例:

# Mainnet (default)
curl https://api.metaplex.com/v1/launches/7nE9GvcwsqzYcPUYfm5gxzCKfmPqi68FM7gPaSfG6EQN
# Devnet
curl "https://api.metaplex.com/v1/launches/7nE9GvcwsqzYcPUYfm5gxzCKfmPqi68FM7gPaSfG6EQN?network=solana-devnet"

認証

認証は不要です。API はレート制限付きで公開されています。

ローンチエンドポイント

メソッドエンドポイント説明
GET/launches/{genesis_pubkey}Genesis アドレスでローンチデータを取得
GET/tokens/{mint}トークンミントに対する全ローンチを取得
GET/launchesフィルタ付きでローンチ一覧を取得
GET/launches?spotlight=true注目のスポットライトローンチを取得
POST/launches/create新しいローンチのオンチェーントランザクションを構築
POST/launches/register確認済みローンチをリスティング用に登録
POST/twitter/verifyローンチ登録用の Twitter アカウント所有権を検証
POST/creator-rewards/claimクリエイター報酬請求トランザクションを構築

POST エンドポイント(/launches/create と /launches/register)は新しいトークンローンチを作成するために組み合わせて使用します。ほとんどのユースケースでは、SDK API クライアントが両方のエンドポイントをラップしたシンプルなインターフェースを提供します。リアルタイムのオンチェーンローンチ状態は、SDK チェーンメソッドの fetchBucketState と fetchDepositState で直接読み取れます。

エージェントエンドポイント

メソッドエンドポイント説明
GET/agents登録済みエージェントの一覧・検索(ページネーション付き)
GET/agents/{address}単一エージェントをトークンとメタデータ付きで取得
GET/agents/{address}/agent-card.jsonホストされた A2A AgentCard を取得
POST/agents/mintエージェントのミント+登録トランザクションを構築
POST/agents/{address}/fundエージェントウォレットへの SOL 送金を構築
POST/agents/{address}/withdrawエージェントウォレットからの引き出しを構築(オーナーのみ)

ガイド付きのウォークスルーでエージェントをミントするには、エージェントのミントをご参照ください。

トランザクション構築エンドポイント

トランザクションを構築する POST エンドポイントは、ユーザーの鍵を保持することも、トランザクションを送信することもありません。各エンドポイントは、base64 でシリアライズされた1つ以上のトランザクションと、その構築に使用されたブロックハッシュを返します。アプリケーション側でデシリアライズし、ユーザーのウォレットで署名し、ネットワークに送信してください。

エラーコード

コード説明
400不正なリクエスト - 無効なパラメータ
403操作の権限がない(例:所有していないエージェントからの引き出し)
404ローンチ、トークン、またはエージェントが見つからない
429レート制限超過
500内部サーバーエラー

レスポンスエンベロープ

API の進化を反映して、2つのエンベロープ規約が使われています:

ローンチ読み取りエンドポイント(/launches*、/tokens/*、/creator-rewards/claim)は結果を data で、エラーを error.message でラップします:

{ "data": { "…": "…" } }
{ "error": { "message": "Launch not found" } }

エージェントエンドポイント、ローンチ書き込みエンドポイント、/twitter/verify は success ディスクリミネーターを使用します:

{ "success": true, "…": "…" }
{ "success": false, "error": "Agent not found" }

例外は /agents/{address}/agent-card.json で、A2A クライアントが直接利用できるよう、エンベロープなしの生の AgentCard JSON を返します。正確なレスポンス形式は各エンドポイントページと OpenAPI 仕様に記載されています。

機械可読仕様

API の完全なコントラクトは OpenAPI 3.1 ドキュメントとして公開されており、API のリクエストバリデーターから直接生成されるため、実装と乖離することはありません:

フォーマットURL
YAML(正規版)https://api.metaplex.com/v1/openapi.yaml
JSONhttps://api.metaplex.com/v1/openapi.json
現行バージョンのエイリアスhttps://api.metaplex.com/openapi.json / openapi.yaml
RFC 9727 API カタログhttps://api.metaplex.com/.well-known/api-catalog

仕様を Postman、Swagger UI、コードジェネレーター、エージェントフレームワークにインポートすると、すべてのエンドポイントに対する型付きクライアントや呼び出し可能なツールを生成できます。

Notes

  • API にはレート制限があります。429 レスポンスを受け取った場合は、リクエスト頻度を下げてください。
  • すべての日付フィールド(startTime、endTime、graduatedAt、lastActivityAt)は ISO 8601 文字列として返されます。ボンディングカーブのローンチには終了時刻がないため、endTime は null になります。
  • デフォルトのネットワークは solana-mainnet です。デブネットのデータは ?network=solana-devnet で利用可能です。
  • POST エンドポイントについては、/launches/create と /launches/register の両方をラップする SDK API クライアントの使用を推奨します。

共有型

TypeScript

interface Launch {
launchPage: string;
mechanic: string;
genesisAddress: string;
spotlight: boolean;
startTime: string;
endTime: string | null;
status: 'upcoming' | 'live' | 'graduated' | 'ended';
heroUrl: string | null;
graduatedAt: string | null;
lastActivityAt: string;
type: 'launchpool' | 'presale' | 'bondingCurve' | 'auction' | 'custom';
}
interface BaseToken {
address: string;
name: string;
symbol: string;
image: string;
description: string;
}
interface Socials {
x?: string;
telegram?: string;
discord?: string;
}
interface ErrorResponse {
error: {
message: string;
};
}

Rust

use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Launch {
pub launch_page: String,
pub mechanic: String,
pub genesis_address: String,
pub spotlight: bool,
pub start_time: String,
pub end_time: Option<String>,
pub status: String,
pub hero_url: Option<String>,
pub graduated_at: Option<String>,
pub last_activity_at: String,
#[serde(rename = "type")]
pub launch_type: String,
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct BaseToken {
pub address: String,
pub name: String,
pub symbol: String,
pub image: String,
pub description: String,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct Socials {
pub x: Option<String>,
pub telegram: Option<String>,
pub discord: Option<String>,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct ApiError {
pub message: String,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct ErrorResponse {
pub error: ApiError,
}

Cargo.toml に以下の依存関係を追加してください:

[dependencies]
reqwest = { version = "0.12", features = ["json"] }
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }

Glossary

用語定義
Genesis Address特定のローンチキャンペーンを一意に識別する PDA(Program Derived Address)
Base Tokenミントアドレスで識別される、ローンチされるトークン
Launch Pageユーザーがローンチに参加できる URL
Mechanicローンチに使用される割り当てメカニズム(例:launchpoolV2、presaleV2、bondingCurveV2)
Launch Typeローンチの基盤メカニズム:launchpool、presale、または bondingCurve
Spotlightプラットフォームが厳選した注目ローンチを示すフラグ
Statusローンチの現在の状態:upcoming、live、graduated、ended
Socialsトークンに関連するソーシャルメディアリンク(X/Twitter、Telegram、Discord)
LaunchDatalaunch、baseToken、website、socials を含むレスポンスラッパー
TokenDataトークンクエリ用のレスポンスラッパー。launches 配列と baseToken、website、socials を含む