インテグレーションAPI
Integration APIs
Last updated February 19, 2026
Genesis Integration APIs により、アグリゲーターやアプリケーションが Genesis トークンローンチのデータをクエリできます。REST エンドポイントを通じてメタデータにアクセスしたり、SDK でリアルタイムのオンチェーン状態を取得したりできます。
ベース 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 | /listings | アクティブおよび今後のローンチリスティングを取得 |
GET | /spotlight | 注目のスポットライトローンチを取得 |
POST | /launches/create | 新しいローンチのオンチェーントランザクションを構築 |
POST | /launches/register | 確認済みローンチをリスティング用に登録 |
CHAIN | fetchBucketState | オンチェーンからバケット状態を取得 |
CHAIN | fetchDepositState | オンチェーンからデポジット状態を取得 |
POST エンドポイント(/launches/create と /launches/register)は新しいトークンローンチを作成するために組み合わせて使用します。ほとんどのユースケースでは、SDK API クライアントが両方のエンドポイントをラップしたシンプルなインターフェースを提供します。
エラーコード
| コード | 説明 |
|---|---|
400 | 不正なリクエスト - 無効なパラメータ |
404 | ローンチまたはトークンが見つからない |
429 | レート制限超過 |
500 | 内部サーバーエラー |
エラーレスポンスの形式:
{
"error": {
"message": "Launch not found"
}
}
共有型
TypeScript
interface Launch {
launchPage: string;
type: string;
genesisAddress: string;
status: 'upcoming' | 'live' | 'graduated';
startTime: string;
endTime: string;
}
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,
#[serde(rename = "type")]
pub launch_type: String,
pub genesis_address: String,
pub status: String,
pub start_time: String,
pub end_time: 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"] }
