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

LaunchLab 解决的问题

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

生命周期

每次启动都会完全按照这个序列进行一次。BuySell 是中间阶段面向用户的指令。一旦阈值被跨越,存储在 GlobalConfig 上的迁移钱包会签署 MigrateToCpswap

两个固定方

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。升级仅改变未来迁移执行。它不改变早期迁移创建的创建者费用密钥。
2026-09 程序升级。 LaunchLab 在 Anchor 1.0.2 / Solana 3.1.10 上重建,并获得了一个管理指令 CollectExcessLamports,用于回收 SIMD-0437 释放的租金。同时清除了三个过渡机制:已弃用的 Initialize 现在总是失败,MigrateToAmm 失去了其参数和每个 OpenBook 账户,基于时钟的 get_upgrade_timestamp 门已消失。交易、费用和归属保持不变。见 2026-09-09 更新日志条目

重要不变量

  • 基础币种从创建时起无通胀。 初始化指令在同一调用中铸造完整供应并撤销 mint_authorityfreeze_authority 从未设置。
  • 所有新启动都是仅 CPMM。 InitializeV2InitializeWithToken2022 需要 migrate_type = CPSWAP,自 2026-09 升级以来,旧版 Initialize 完全失败。现有旧版状态仍可使用 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 是规范接口。