Skip to main content
本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →

LaunchLab 解决的问题

在 LaunchLab 推出之前,在 Raydium 上启动新代币需要创建者预先向 AMM 池注入交易对的两侧流动性——这意味着团队必须自掏腰包提供报价端流动性(SOL 或 USDC)。这种方式偏向资金充足的项目,并且将启动板机制的访问权限限制在初始资本上。 LaunchLab 用联合曲线替代了这个初始步骤:代币部署在以报价币种(通常是 SOL 或 USDC)定价的曲线上。买家通过向曲线发送报价币来获取代币,程序根据曲线公式和当前供应量自动铸造或释放基础代币单位。无需预先注入流动性。 一旦曲线积累足够的报价币来匹配真实 AMM 池的流动性公式,它就会毕业:程序在主网上创建一个 CPMM 池,用曲线的基础储备和报价储备进行初始化,之后交易转移到 AMM。

生命周期

每次启动都会完整经历这个序列一次。BuySell 是中间阶段面向用户的指令。一旦阈值被突破,存储在 GlobalConfig 上的迁移钱包会签署 MigrateToC​pswap

两个固定方

LaunchLab 状态有两个特殊账户:
  • 基础币种 — 被启动的代币。其铸造权限由 LaunchLab 程序持有,直到毕业;毕业后被撤销。
  • 报价币种 — 抵押品。始终是主流币种(SOL / USDC / RAY)。启动配置在 Initialize 时选择一个;无法更改。
加上两个金库:
  • base_vault — 持有已预铸造到曲线但尚未售出的基础供应部分。随着用户购买而减少。
  • quote_vault — 累积买家支付的报价币。随着用户购买而增加。这个余额会与毕业阈值进行比较。

定价模型

LaunchLab 支持多种曲线公式(见 bonding-curve)。最常见的是二次联合曲线,类似于 Pump.fun / Curve.fi / Bancor 系列:
其中 s 是已售给用户的基础代币数量,S_max 是曲线的最大供应量。每次购买时价格单调上升,每次出售时下降。由于程序精确计算 AMM 集成成本,任何规模的购买都会返回正确的集成数量;除了曲线的自然凸性外,没有额外的每笔交易滑点。

毕业

quote_vault.balance ≥ graduation_threshold 时,启动毕业。阈值在 Initialize 时设置,通常选择使得毕业时曲线的隐含价格与 AMM 池用收集的储备开盘时的价格相匹配。具体来说:
其中 S_graduate 是已售出的基础代币数量,price(S_graduate) 是曲线在该点的边际价格,f 是考虑费用线的小因子(1–2%)。 毕业时:
  1. 程序快照 (base_vault_remaining, quote_vault)
  2. 它用这两个储备调用 CPMM CreatePool CPI,将初始 LP 铸造到程序拥有的权限账户(通常根据政策被销毁/锁定)。
  3. 它撤销基础币种的铸造权限(因此永远无法再铸造更多基础代币)。
  4. LaunchState.status 翻转为 Graduated
毕业后,BuySell 被拒绝。交易继续在生成的 CPMM 池上进行,该池与任何其他 Raydium CPMM 池无异。

费用

在曲线阶段,每次 BuySell 都会产生费用,分配给:
  • 曲线 LP 端 — 增加曲线的隐含 k,使后续买家受益(更紧的价格)。
  • 协议 — 累积到 LaunchLab 管理员,通过 CollectFees 收集。
  • 创建者 — 可选,在 Initialize 时可配置。某些启动将一部分作为创建者的持续收入流。
默认费率记录在 bonding-curve。确切的分配存储在 LaunchState.fees 上,每次启动可能不同。 毕业后的费用遵循创建池时使用的 CPMM 配置(通常是 AmmConfig[0],0.25% 层级)。

毕业后谁持有 LP?

LaunchLab 使用平台的三个存储的比例来产生两个有效的 LP 目的地:
  • 平台锁定 — 对于 2026-08-17 升级后执行的迁移,platform_scale + creator_scale 通过 LP-Lock 锁定,当此份额非零时,一个费用密钥转到 platform_nft_wallet。升级前,creator_scale 产生单独的创建者费用密钥。
  • 销毁burn_scale 永久销毁,没有费用密钥。
比例存储在 PlatformConfig 上,必须总和为 1_000_000。升级仅改变未来迁移执行。它不改变早期迁移创建的创建者费用密钥。

重要不变量

  • 基础币种在毕业后无通胀。mint_authority 被撤销;freeze_authority 从未设置。
  • 所有新启动仅限 CPMM。 InitializeInitializeV2InitializeWithToken2022 需要 migrate_type = CPSWAP。现有遗留状态仍可使用 MigrateToAmm
  • 曲线状态在一个方向上单调。 base_sold 仅在 Buy 期间上升,quote_vault 仅在 Buy 期间上升(在 Sell 期间下降——对称地减少 base_sold)。程序永远不会让曲线变为负数。
  • 毕业是单向门。 即使毕业后交易将 AMM 池价格推回到毕业价格以下,启动也不会恢复到曲线。

何时使用 LaunchLab

本页仅描述协议机制。此处任何内容都不构成财务、法律或投资建议。代币启动涉及重大财务风险。在启动涉及公开融资的代币之前,请咨询适当的专业人士。
  • 你正在启动一个没有现有市场的新代币。
  • 你希望市场决定开盘 CPMM 价格,而不是预先声明。
  • 你希望允许任何人——包括团队本身——以相同的曲线确定价格购买,而不是以折扣价预分配给内部人士。
不要在以下情况使用 LaunchLab:
  • 具有既定市场的现有代币(直接在 CPMM 上使用 CreatePool)。
  • 需要精确控制开盘 AMM 价格的启动(你可以通过仔细的曲线配置近似它,但机制仍然是曲线驱动的)。
  • 需要 LaunchLab 不允许列表的 Token-2022 扩展的代币(启动程序即使在 Token-2022 路径上也拒绝 TransferHookPermanentDelegate 等扩展)。

章节内容

  • bonding-curve — 曲线公式、成本和收益数学、毕业阈值推导。
  • accountsLaunchConfigLaunchState、金库、权限 PDA。
  • instructionsInitializeBuySellGraduateCollectFeesSetParams
  • code-demos — 端到端 TypeScript 示例。

接下来去哪里

来源:
  • Raydium SDK v2 LaunchLab 模块(IDL 在 src/raydium/launchpad/ 下)。
  • LaunchLab 程序源代码目前未作为独立仓库发布。上述 SDK 附带的 IDL 是规范接口。