集成API

集成 API

Last updated February 19, 2026

Genesis 集成 API 允许聚合器和应用程序查询 Genesis 代币发行的发行数据。通过 REST 端点访问元数据,或使用 SDK 获取实时链上状态。

基础 URL

https://api.metaplex.com/v1

网络选择

默认情况下,API 返回 Solana 主网的数据。要查询开发网发行,请添加 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注册已确认的发行以进行展示
CHAINfetchBucketState从链上获取 bucket 状态
CHAINfetchDepositState从链上获取存款状态

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"] }