Integration APIs

Integration APIs

Last updated February 26, 2026

Genesis Integration APIs により、アグリゲーターやアプリケーションが Genesis トークンローンチのデータをクエリできます。REST エンドポイントを通じてメタデータにアクセスしたり、SDK でリアルタイムのオンチェーン状態を取得したりできます。

Summary

Genesis 統合 API は、Solana 上の Genesis トークンローンチのデータへの読み取り専用アクセスを提供します。

  • Genesis アドレス、トークンミント、またはすべてのアクティブなローンチを検索可能
  • https://api.metaplex.com/v1 の公開 REST API — 認証不要
  • ローンチメタデータ、トークン情報、ウェブサイト、ソーシャルリンクを返却
  • Solana メインネット(デフォルト)およびデブネットを network クエリパラメータでサポート

ベース 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確認済みローンチをリスティング用に登録
CHAINfetchBucketStateオンチェーンからバケット状態を取得
CHAINfetchDepositStateオンチェーンからデポジット状態を取得

POST エンドポイント(/launches/create/launches/register)は新しいトークンローンチを作成するために組み合わせて使用します。ほとんどのユースケースでは、SDK API クライアントが両方のエンドポイントをラップしたシンプルなインターフェースを提供しており、利用を推奨します。

エラーコード

コード説明
400不正なリクエスト - 無効なパラメータ
404ローンチまたはトークンが見つからない
429レート制限超過
500内部サーバーエラー

エラーレスポンスの形式:

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

共有型

TypeScript

interface Launch {
launchPage: string;
mechanic: string;
genesisAddress: string;
spotlight: boolean;
startTime: string;
endTime: string;
status: 'upcoming' | 'live' | 'graduated' | 'ended';
heroUrl: string | null;
graduatedAt: string | null;
lastActivityAt: string;
type: 'project' | 'memecoin' | '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: 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"] }

Notes

  • API にはレート制限があります。429 レスポンスを受け取った場合は、リクエスト頻度を下げてください。
  • すべての日付フィールド(startTimeendTimegraduatedAtlastActivityAt)は ISO 8601 文字列として返されます。
  • デフォルトのネットワークは solana-mainnet です。デブネットのデータは ?network=solana-devnet で利用可能です。
  • POST エンドポイントは、ほとんどのユースケースで SDK API クライアントを使用してください。

Glossary

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