통합 API

POST런칭 등록

Last updated February 19, 2026

런칭 생성의 온체인 트랜잭션이 확인된 후 Genesis 런칭을 등록합니다. 이 엔드포인트는 온체인 상태를 검증하고, 런칭 목록을 생성하며, 런칭 페이지 URL을 반환합니다.

SDK 사용을 권장합니다

대부분의 통합자는 SDK의 createAndRegisterLaunch를 사용해야 합니다. 이 함수는 트랜잭션 생성, 서명, 전송, 런칭 등록을 한 번의 호출로 처리합니다. 이 엔드포인트는 SDK 없이 직접 HTTP 접근이 필요한 경우에만 사용하세요.

엔드포인트

POST /v1/launches/register

요청 본문

필드타입필수설명
genesisAccountstringGenesis 계정 공개 키 (런칭 생성 응답에서 제공)
networkstring아니오'solana-mainnet' (기본값) 또는 'solana-devnet'
launchobject런칭 생성에서 사용한 것과 동일한 런칭 구성

launch 객체는 런칭 생성 엔드포인트로 전송한 것과 일치해야 API가 온체인 상태가 예상된 구성과 일치하는지 확인할 수 있습니다. 최상위 network 필드는 검증할 Solana 클러스터를 결정하며, launch 내의 network도 이와 일치해야 합니다.

요청 예시

curl -X POST https://api.metaplex.com/v1/launches/register \
-H "Content-Type: application/json" \
-d '{
"genesisAccount": "GenesisAccountPDA...",
"network": "solana-devnet",
"launch": {
"name": "My Token",
"symbol": "MTK",
"image": "https://gateway.irys.xyz/...",
"decimals": 6,
"supply": 1000000000,
"network": "solana-devnet",
"quoteMint": "So11111111111111111111111111111111111111112",
"type": "project",
"finalize": true,
"publicKey": "YourWalletPublicKey...",
"allocations": [...]
}
}'

성공 응답

{
"success": true,
"existing": false,
"launch": {
"id": "uuid-launch-id",
"link": "https://www.metaplex.com/token/MintPublicKey..."
},
"token": {
"id": "uuid-token-id",
"mintAddress": "MintPublicKey..."
}
}
필드타입설명
successboolean성공 시 true
existingboolean?런칭이 이미 등록된 경우 true (멱등성)
launch.idstring고유 런칭 ID
launch.linkstring공개 런칭 페이지 URL
token.idstring고유 토큰 ID
token.mintAddressstring토큰 민트 공개 키

런칭이 이미 등록된 경우, 엔드포인트는 중복 생성 대신 existing: true와 함께 기존 레코드를 반환합니다.

메인넷 런칭은 등록 후 metaplex.com에 표시됩니다. 반환되는 launch.link는 공개 런칭 페이지를 가리킵니다.

오류 응답

{
"success": false,
"error": "Genesis account not found on-chain",
"details": [...]
}

오류 코드

코드설명
400잘못된 입력, 온체인 상태 불일치, 또는 Genesis 계정을 찾을 수 없음
500내부 서버 오류

유효성 검사

등록 엔드포인트는 광범위한 온체인 유효성 검사를 수행합니다:

  • Genesis V2 계정을 가져와 존재 여부를 확인합니다
  • 모든 버킷 계정이 예상된 할당과 일치하는지 검증합니다
  • 토큰 메타데이터(이름, 심볼, 이미지)가 입력과 일치하는지 확인합니다
  • 민트 속성(공급량, 소수점 자릿수, 권한)을 검사합니다

권장: SDK 사용

이 엔드포인트를 직접 호출하는 대신, 트랜잭션 생성, 서명, 전송, 등록의 전체 흐름을 한 번의 호출로 처리하는 createAndRegisterLaunch를 사용하세요:

createAndRegisterLaunch.ts
1import {
2 createAndRegisterLaunch,
3 CreateLaunchInput,
4 genesis,
5} from '@metaplex-foundation/genesis'
6import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'
7import { keypairIdentity } from '@metaplex-foundation/umi'
8
9const umi = createUmi('https://api.mainnet-beta.solana.com')
10 .use(genesis())
11
12// Use keypairIdentity to set a wallet when running server-side:
13// umi.use(keypairIdentity(myKeypair))
14
15const input: CreateLaunchInput = {
16 wallet: umi.identity.publicKey,
17 token: {
18 name: 'My Token',
19 symbol: 'MTK',
20 image: 'https://gateway.irys.xyz/...',
21 },
22 launchType: 'project',
23 launch: {
24 launchpool: {
25 tokenAllocation: 500_000_000,
26 depositStartTime: new Date(Date.now() + 48 * 60 * 60 * 1000),
27 raiseGoal: 200,
28 raydiumLiquidityBps: 5000,
29 fundsRecipient: umi.identity.publicKey,
30 },
31 },
32}
33
34const result = await createAndRegisterLaunch(umi, {}, input)
35console.log(`Launch live at: ${result.launch.link}`)

전체 SDK 문서와 세 가지 통합 모드에 대한 자세한 내용은 API 클라이언트를 참조하세요.