통합 API
Integration API
Last updated February 19, 2026
Genesis Integration 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는 속도 제한이 있는 공개 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"] }
