Integration APIs
集成 API
Last updated February 26, 2026
Genesis 集成 API 允许聚合器和应用程序查询 Genesis 代币发行的发行数据。通过 REST 端点访问元数据,或使用 SDK 获取实时链上状态。
Summary
Genesis 集成 API 提供对 Solana 上 Genesis 代币发行数据的只读访问。
- 通过 Genesis 地址、代币铸造地址查询或浏览所有活跃发行
https://api.metaplex.com/v1的公开 REST API — 无需认证- 返回发行元数据、代币信息、网站和社交链接
- 通过
network查询参数支持 Solana 主网(默认)和开发网
基础 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 | /launches | 使用过滤器获取发行列表 |
GET | /launches?spotlight=true | 获取精选推荐发行 |
POST | /launches/create | 为新发行构建链上交易 |
POST | /launches/register | 注册已确认的发行以进行展示 |
CHAIN | fetchBucketState | 从链上获取 bucket 状态 |
CHAIN | fetchDepositState | 从链上获取存款状态 |
POST 端点(/launches/create 和 /launches/register)配合使用以创建新的代币发行。对于大多数用例,SDK API 客户端提供了更简洁的接口,它封装了这两个端点。
错误码
| 状态码 | 描述 |
|---|---|
400 | 错误请求 - 无效参数 |
404 | 未找到发行或代币 |
429 | 超出速率限制 |
500 | 内部服务器错误 |
错误响应格式:
{
"error": {
"message": "Launch not found"
}
}
Notes
- API 有速率限制。如果收到
429响应,请降低请求频率。 - 所有日期字段(
startTime、endTime、graduatedAt、lastActivityAt)以 ISO 8601 字符串返回。 - 默认网络为
solana-mainnet。可通过?network=solana-devnet获取开发网数据。 - 对于
POST端点,建议使用 SDK API 客户端,它封装了/launches/create和/launches/register。
共享类型
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"] }
Glossary
| 术语 | 定义 |
|---|---|
| Genesis Address | 唯一标识特定发行活动的 PDA(Program Derived Address) |
| Base Token | 通过铸造地址标识的待发行代币 |
| Launch Page | 用户可以参与发行的 URL |
| Mechanic | 发行使用的分配机制(例如 launchpoolV2、presaleV2、auction) |
| Launch Type | 发行的类别:project、memecoin 或 custom |
| Spotlight | 平台策划的精选发行标志 |
| Status | 发行的当前状态:upcoming、live、graduated 或 ended |
| Socials | 与代币关联的社交媒体链接(X/Twitter、Telegram、Discord) |
| LaunchData | 包含 launch、baseToken、website 和 socials 的响应包装器 |
| TokenData | 代币查询的响应包装器,包含 launches 数组以及 baseToken、website 和 socials |
