메인 콘텐츠로 건너뛰기

Documentation Index

Fetch the complete documentation index at: https://docs.raydium.io/llms.txt

Use this file to discover all available pages before exploring further.

이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
LaunchLab은 간결한 명령어 집합을 제공합니다: 사용자 대면 6개 호출과 소수의 관리 기본 명령어들입니다. SDK가 모두 래핑하고 있으며, 이 페이지는 애그리게이터, 모니터링 도구, CPI가 필요한 프로그램을 위한 원본 인터페이스를 문서화합니다.

명령어 목록

그룹명령어호출 가능
글로벌 설정CreateConfig / UpdateConfig관리자
출시 라이프사이클Initialize / InitializeV2누구나 (생성자) — SPL Token 출시; V2는 향후 CPMM 졸업을 위해 amm_creator_fee_on 기록
출시 라이프사이클InitializeWithToken2022누구나 (생성자) — Token-2022 출시, 선택적 TransferFeeConfig
거래BuyExactIn / BuyExactOut누구나 — 본딩 곡선에서 정액 입력 / 정액 출력 매수
거래SellExactIn / SellExactOut누구나 — 본딩 곡선에서 정액 입력 / 정액 출력 매도
졸업MigrateToAmm마이그레이션 지갑 (GlobalConfig에 설정) — AMM v4로 졸업. amm_creator_fee_on = BothToken일 때 사용되므로 생성자 수수료를 양쪽에서 수집할 수 있습니다.
졸업MigrateToCpswap마이그레이션 지갑 — CPMM으로 졸업. amm_creator_fee_on = QuoteToken일 때 사용되며 Token-2022 출시에 필수입니다. CPMM의 InitializeWithPermission을 래핑합니다.
수수료CollectFee관리자 — 출시에서 프로토콜 수수료 수집
수수료CollectMigrateFee관리자 — 누적된 마이그레이션 수수료 수집
수수료ClaimCreatorFee생성자 — 곡선 단계에서 누적된 생성자 수수료 청구
베스팅CreateVestingAccount생성자 — 잠금 토큰을 수혜자에게 할당, 졸업 후 잠금 해제
베스팅CreatePlatformVestingAccount플랫폼 관리자 — 플랫폼 측 수혜자에게 잠금 토큰 할당
베스팅ClaimVestedToken수혜자 — 클리프 후 잠금 해제 토큰 청구
플랫폼 설정CreatePlatformConfig / UpdatePlatformConfig플랫폼 관리자
플랫폼 설정UpdatePlatformCurveParam / RemovePlatformCurveParam플랫폼 관리자 — 허용된 곡선 형태의 플랫폼별 목록 관리
플랫폼 수수료ClaimPlatformFee / ClaimPlatformFeeFromVault플랫폼 관리자
플랫폼 접근CreatePlatformGlobalAccess / ClosePlatformGlobalAccess관리자 — 주어진 GlobalConfig를 사용할 수 있는 플랫폼 제어
“ExactIn/ExactOut” 분할은 CPMM의 SwapBaseInput / SwapBaseOutput을 반영합니다 — 온체인에서는 약간 다른 반올림을 가진 별도 명령어 판별자입니다. 졸업 경로 선택. migrate_typeInitialize{V2,WithToken2022} 시점에 PoolState에 기록되며 실행 가능한 두 졸업 명령어 중 하나를 결정합니다. Token-2022 출시는 항상 CPMM으로 마이그레이션합니다. SPL Token 출시는 amm_creator_fee_on 설정에 따라 AMM v4 또는 CPMM으로 마이그레이션합니다:
  • BothTokenMigrateToAmm → AMM v4 풀 (생성자 수수료를 양쪽에서 수집할 수 있음; AMM v4는 네이티브 생성자 수수료 필드가 없으므로 생성자 수수료는 LP 잠금 NFT 메커니즘으로 대신 취함).
  • QuoteTokenMigrateToCpswapcreator_fee_on = OnlyQuoteToken을 가진 CPMM 풀 (생성자는 LaunchLab 수수료 키 NFT를 통해 CPMM 풀에서 계속 수수료를 얻습니다 — products/launchlab/creator-fees 참조).
AmmCreatorFeeOn 열거형 이름 참고. Rust 소스는 이 열거형을 AmmCreatorFeeOn이라 호칭하며 변종은 QuoteTokenBothToken입니다. 이름이 오해의 소지가 있습니다: 현재 운영 실무에서 변종은 졸업 후 CPMM 풀에서 생성자 수수료가 수집되는 쪽을 제어할 뿐만 아니라 졸업 대상 프로그램 (AMM v4 vs CPMM)도 선택하며 출시의 PoolStatemigrate_type과 쌍을 이룹니다. 이 필드를 “마이그레이션 대상 + 졸업 후 생성자 수수료 쪽”으로 하나로 묶인 것으로 생각하세요. 온체인 열거형 이름은 리팩터링되지 않았지만, MigrationTarget으로 추론하는 것이 현실과 더 일치합니다.

Initialize

새 출시를 생성합니다. 인수
launch_params: {
    curve_type:                 u8,
    base_supply_max:            u64,
    base_supply_graduation:     u64,
    k:                          u128,              // 또는 curve_type=1에 대한 initial_virtual_quote_reserve
    open_time:                  u64,
    quote_mint:                 Pubkey,
    base_token_metadata: {                         // 인라인 name/symbol/uri; 프로그램이 Metaplex로 CPI
        name:   String,
        symbol: String,
        uri:    String,
    },
    fees: {
        buy_numerator:   u64,
        buy_denominator: u64,
        sell_numerator:  u64,
        sell_denominator: u64,
        lp_share:        u64,
        creator_share:   u64,
        protocol_share:  u64,
        total_share:     u64,
    },
    post_graduation_lp_policy:  u8,                // 0 = Burn, 1 = Lock, 2 = ToCreator
}
계정 (축약)
#이름WS참고
1creatorWS렌트 + 베이스 민트 생성 비용 지불.
2launch_config프로토콜 설정 바인딩.
3launch_stateW새 계정.
4launch_authorityPDA.
5base_mintWS신규 Keypair (또는 PDA) — 이 명령어가 초기화합니다.
6base_vaultWlaunch_authoritybase_mint에 대한 ATA.
7quote_mint
8quote_vaultWlaunch_authorityquote_mint에 대한 ATA.
9metadataWMetaplex 메타데이터 PDA.
10metaplex_program
11token_programSPL Token만.
12system_program
13rent
사전 조건
  • quote_mint ∈ launch_config.allowed_quote_mints.
  • base_supply_graduation ≤ base_supply_max.
  • 수수료 파라미터가 launch_config.max_*_fee_rate 검사를 통과합니다.
  • open_time ≥ now − slop (SDK는 ≥ now를 강제; 프로그램은 약간의 과거 날짜를 허용).
  • curve_type이 인식됩니다.
사후 조건
  • base_mintsupply = base_supply_max, 모두 base_vault에 있습니다.
  • base_mint.mint_authority = launch_authority, freeze_authority = None.
  • LaunchStatestatus = Active, base_sold = 0, quote_reserve_real = 0으로 초기화됩니다.
  • quote_reserve_target은 곡선 파라미터 + base_supply_graduation + buy_numerator에서 계산됩니다 (대략적으로).
일반적 오류InvalidQuoteMint, FeeRateTooHigh, InvalidCurveParams, MathOverflow.

Buy (표준 변형: BuyExactIn)

사용자가 고정 quote_in을 제공하고 곡선이 base_out을 계산합니다. 인수
quote_in:          u64
minimum_base_out:  u64
계정
#이름WS
1userWS
2launch_stateW
3launch_authority
4base_vaultW
5quote_vaultW
6user_base_ataW
7user_quote_ataW
8base_mint
9quote_mint
10token_program
11associated_token_program
12system_program
사전 조건
  • launch_state.status == Active.
  • now ≥ open_time.
  • user_quote_ata.balance ≥ quote_in.
  • quote_in > 0.
효과
  1. quote_inquote_in_after_fee와 수수료 부분으로 분할합니다.
  2. 포스트 수수료 견적에 주어진 base_out에 대해 곡선을 Newton 풀이합니다.
  3. require(base_out ≥ minimum_base_out) 아니면 ExceededSlippage로 되돌립니다.
  4. quote_in을 사용자 → 볼트로 이동합니다. base_out을 볼트 → 사용자로 이동합니다.
  5. base_sold += base_out, quote_reserve_real += quote_in_after_fee × (lp_share / total_share)을 업데이트합니다.
  6. 수수료 카운터 (protocol_fees_quote, creator_fees_quote)를 업데이트합니다.
  7. state_data.num_buys += 1.
  8. 업데이트 후 quote_reserve_real ≥ quote_reserve_target이면, SDK는 일반적으로 같은 거래에서 Graduate ix를 연결합니다. 프로그램은 Buy 내에서 자동 졸업하지 않습니다 — 후속 Graduate이 필요합니다.

BuyExactOut

사용자가 정확한 base_out을 지정하고 프로그램이 quote_in을 계산합니다. 인수
base_out:      u64
maximum_quote_in: u64
BuyExactIn과 동일한 계정. Newton 반복 대신 폐쇄형 이차 적분 (또는 curve_type 1에 대한 CPMM 역함수)을 사용합니다.

Sell / SellExactIn / SellExactOut

Buy의 미러. 사용자가 base_in을 곡선에 반환하고 quote_out을 받습니다. 수수료는 quote_out에서 차감되므로 사용자는 원본 통합 수익보다 적게 받습니다. 사전 조건
  • user_base_ata.balance ≥ base_in.
  • 매도는 base_sold를 0 이하로 밀어낼 수 없습니다 (위의 것과 중복이며 회계가 일관성이 있음).
  • 출시는 Active입니다.
효과Buy와 대칭입니다. base_sold는 감소하고, quote_reserve_real은 감소합니다. 수수료는 여전히 누적됩니다.

MigrateToAmm / MigrateToCpswap

곡선이 total_quote_fund_raising에 도달하면 출시를 거래 가능한 AMM 풀로 졸업합니다. 두 명령어는 두 졸업 대상 — AMM v4 및 CPMM —에 해당하며 임의의 주어진 출시에 대해 하나만 유효하며, pool_state.migrate_type에 의해 결정됩니다 (Initialize 시점에 설정). 서명자
  • MigrateToAmm — 바인딩 GlobalConfig에 기록된 migrate_to_amm_wallet.
  • MigrateToCpswap — 바인딩 GlobalConfig에 기록된 migrate_to_cpswap_wallet.
이들 지갑은 일반적으로 Raydium 운영 졸업 크랭크에 의해 보유됩니다; 실무에서 졸업은 임계값이 통과된 후 몇 초 안에 나타나며, 최종 매수를 트리거한 사람과 무관합니다. 인수 MigrateToAmm은 3개를 취합니다 (주로 프로그램이 AMM v4로 전달하는 OpenBook 마켓 파라미터):
base_lot_size:               u64
quote_lot_size:              u64
market_vault_signer_nonce:   u8
MigrateToCpswap은 없습니다. 효과 (둘 다에 공통)
  1. pool_state.status == Migrate 확인 (즉, quote_reserve_target에 도달함). 아니면 PoolMigrated (상태는 이미 Migrated) 또는 PoolFunding (여전히 자금 조성 중)으로 되돌립니다.
  2. pool_state.migrate_type이 명령어와 일치하는지 확인 (0 AMM, 1 CPMM). 아니면 MigrateTypeNotMatch로 되돌립니다.
  3. 졸업 후 예비금을 계산합니다:
    • base_amount_out = base_vault.amount − vesting_schedule.total_locked_amount
    • quote_amount_out = quote_vault.amount − quote_protocol_fee − migrate_fee − platform_fee
  4. 대상 프로그램 (AMM v4 Initialize2 또는 CPMM InitializeWithPermission)으로 CPI하고 졸업 후 풀을 생성합니다.
  5. 결과 LP를 바인딩 PlatformConfig.{platform_scale, creator_scale, burn_scale} (CPMM만)에 따라 분할합니다 — 한 조각은 platform_nft_wallet로 발행되고, 하나는 LP 잠금 프로그램으로 래핑된 생성자 NFT로, 하나는 Burn & Earn으로 소각됩니다. AMM v4 졸업의 경우, LP 배치는 AMM v4의 자체 초기화 파라미터에 의해 관리됩니다.
  6. base_mint.mint_authority 취소 (None으로 설정).
  7. pool_state.status = Migrated로 전환, vesting_schedule.start_time = block_time + cliff_period 설정.
사후 조건BuyExactIn, BuyExactOut, SellExactIn, SellExactOut은 이 시점부터 PoolMigrated로 거부합니다. 결과 AMM 풀은 표준이며 다른 AMM v4 / CPMM 풀처럼 거래됩니다. 일반적 오류PoolFunding, PoolMigrated, MigrateTypeNotMatch, InvalidCpSwapConfig, MathOverflow.

CollectFee

단일 출시에서 프로토콜의 누적 거래 수수료에 대한 관리자 수집. 인수 — 없음. 계정
#이름WS참고
1protocol_fee_ownerSglobal_config.protocol_fee_owner와 같아야 합니다.
2authorityPDA [b"vault_auth_seed"]; 볼트 이전에 서명합니다.
3pool_stateWquote_protocol_fee를 0으로 만들기 위해 변경됩니다.
4global_config서명자의 진실의 원천.
5quote_vaultWquote_protocol_fee로 드레인됩니다.
6recipient_token_accountWprotocol_fee_ownerquote_mint에 대한 ATA.
7quote_mint
8token_programSPL Token (견적 민트는 항상 SPL Token).
효과quote_vault에서 recipient_token_accountpool_state.quote_protocol_fee를 이전한 다음 카운터를 0으로 설정합니다. 첫 매수 후 언제든지 호출 가능합니다.

CollectMigrateFee

졸업 시 누적된 마이그레이션 수수료의 관리자 수집. CollectFee와 동일한 계정 형태이지만 protocol_fee_owner 대신 서명자로 migrate_fee_owner를 사용하고 pool_state.migrate_fee를 드레인 카운터로 사용합니다.

ClaimCreatorFee

생성자가 소유한 동일한 견적 민트를 사용하는 모든 출시에 걸쳐 누적된 생성자 수수료의 생성자별 수집. 풀별 항목이 아닌 생성자별 수수료 볼트를 드레인합니다. 인수 — 없음. 계정
#이름WS참고
1creatorWS풀 생성자.
2fee_vault_authorityPDA [b"creator_fee_vault_auth_seed"].
3creator_fee_vaultW시드 [creator, quote_mint]에서 PDA; 집계된 생성자 볼트.
4recipient_token_accountWinit_if_needed; creatorquote_mint에 대한 ATA.
5quote_mint
6token_program
7system_program필요하면 ATA 생성용.
8associated_token_program
효과creator_fee_vault의 전체 잔액을 recipient_token_account로 이전합니다. 볼트가 비어 있으면 0보다 큼 검사로 되돌립니다.

ClaimPlatformFee

출시의 견적 볼트를 직접 드레인하는 플랫폼별 수집. 집계된 플랫폼 볼트를 거치지 않고 플랫폼이 특정 출시에 대한 조각을 청구하려고 할 때 사용합니다. 인수 — 없음. 계정
#이름WS참고
1platform_fee_walletWSplatform_config.platform_fee_wallet과 같아야 합니다.
2authorityPDA [b"vault_auth_seed"].
3pool_stateWpool_state.platform_fee로 드레인됩니다.
4platform_config서명자의 진실의 원천.
5quote_vaultW드레인됩니다.
6recipient_token_accountWinit_if_needed; platform_fee_wallet의 ATA.
7quote_mint
8token_program
9system_program
10associated_token_program
효과quote_vault에서 recipient_token_accountpool_state.platform_fee를 이전하고 카운터를 0으로 설정합니다.

ClaimPlatformFeeFromVault

플랫폼별 집계 수집. 플랫폼을 통해 라우팅된 모든 출시에서 수수료가 누적되는 견적 민트당 플랫폼 수수료 볼트를 드레인합니다. 인수 — 없음. 계정
#이름WS참고
1platform_fee_walletWSplatform_config.platform_fee_wallet과 같아야 합니다.
2fee_vault_authorityPDA [b"platform_fee_vault_auth_seed"].
3platform_config
4platform_fee_vaultW시드 [platform_config, quote_mint]에서 PDA.
5recipient_token_accountWinit_if_needed; platform_fee_wallet의 ATA.
6quote_mint
7token_program
8system_program
9associated_token_program
효과platform_fee_vault의 전체 잔액을 recipient_token_account로 이전합니다. 볼트가 비어 있으면 되돌립니다.

베스팅 및 플랫폼 설정 명령어

이들은 전용 페이지에 문서화되어 있습니다. 각각 자체 상태 모델을 가지고 있기 때문입니다:

상태 변화 행렬

명령어statusreal_basereal_quote수수료 카운터졸업 후 풀
Initialize{V2,WithToken2022}Funding000
BuyExactIn(q_in)Funding+∆+∆q_after_feequote_protocol_fee += ∆, platform_fee += ∆
SellExactIn(b_in)Funding−∆−∆q_before_fee(동일)
임계값 도달→ Migrate
MigrateToAmm / MigrateToCpswap→ Migrated(고정)(고정)migrate_fee 설정생성됨, LP는 PlatformConfig에 따라 분할
CollectFee / CollectMigrateFee임의카운터 0으로 설정
ClaimCreatorFee / ClaimPlatformFee*임의볼트 드레인
CreateVestingAccountFundingallocated_share_amount 범프
ClaimVestedTokenMigratedbase_vault 드레인

다음 단계

출처: