Skip to main content
Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →

Проблема, которую решает LaunchLab

Раньше запуск нового токена на Raydium требовал от создателя предварительного заполнения пула AMM обеими сторонами пары — то есть команда должна была предоставить ликвидность на стороне котировки (SOL или USDC) из собственного кармана. Это благоприятствовало хорошо финансируемым проектам и ограничивало доступ к механизму лаунчпада начальным капиталом. LaunchLab заменяет этот начальный этап кривой связи: токен развертывается против кривой, оцененной в котировочном минте (обычно SOL или USDC). Покупатели получают токен, отправляя котировку на кривую, которая атомарно чеканит или выпускает единицы базового токена по цене, определяемой формулой кривой и текущим предложением. Никакой предварительно заполненной ликвидности не требуется. Когда кривая собирает достаточно котировки для соответствия формуле ликвидности реального пула AMM, она выпускается: программа создает пул CPMM в мейннете, заполненный базовым резервом и резервом котировки кривой, и с этого момента торговля переходит на AMM.

Жизненный цикл

Каждый запуск проходит через эту последовательность ровно один раз. Buy и Sell — это инструкции, обращенные к пользователю, на средней фазе. После пересечения порога кошелек миграции, хранящийся на 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.
После выпуска Buy и Sell отклоняются. Торговля продолжается на полученном пуле CPMM, который неотличим от любого другого пула Raydium CPMM.

Комиссии

Во время фазы кривой каждый Buy и Sell несет комиссию, разделенную между:
  • Стороной 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 и один Fee Key переходит на platform_nft_wallet, когда эта доля ненулевая. До обновления creator_scale создавал отдельный Fee Key создателя.
  • Сжиганиеburn_scale сжигается навсегда и не имеет Fee Key.
Шкалы находятся на PlatformConfig и должны суммироваться до 1_000_000. Обновление изменяет только будущее выполнение миграции. Оно не изменяет Fee Keys создателя, созданные более ранними миграциями.
Обновление программы 2026-09. LaunchLab был перестроен на Anchor 1.0.2 / Solana 3.1.10 и получил одну инструкцию администратора, CollectExcessLamports, для возврата ренты, освобожденной SIMD-0437. Три механизма переходов были очищены одновременно: устаревший Initialize теперь всегда не срабатывает, MigrateToAmm потерял свои аргументы и каждый счет OpenBook, и основанный на часах шлюз get_upgrade_timestamp исчез. Торговля, комиссии и вестинг не изменились. См. запись журнала изменений от 2026-09-09.

Важные инварианты

  • Базовый минт не имеет инфляции с момента создания. Инструкция инициализации чеканит полное предложение и отзывает mint_authority в одном вызове; freeze_authority никогда не устанавливалась.
  • Все новые запуски только CPMM. InitializeV2 и InitializeWithToken2022 требуют migrate_type = CPSWAP, а устаревший Initialize полностью не срабатывает с обновления 2026-09. Существующее устаревшее состояние все еще может использовать MigrateToAmm.
  • Состояние кривой монотонно в одном направлении. base_sold только растет во время Buy, quote_vault только растет во время Buy (падает во время Sell — что симметрично уменьшает base_sold). Программа никогда не позволяет кривой стать отрицательной.
  • Выпуск — это односторонний шлюз. Даже если торговля после выпуска толкает цену пула AMM обратно ниже цены выпуска, запуск не возвращается к кривой.

Когда использовать LaunchLab

Эта страница описывает только механику протокола. Ничто здесь не является финансовым, юридическим или инвестиционным советом. Запуски токенов несут значительный финансовый риск. Проконсультируйтесь с соответствующими специалистами перед запуском токена, который включает публичный сбор средств.
  • Вы запускаете новый токен без предыдущего рынка.
  • Вы хотите, чтобы рынок определил открывающую цену CPMM, а не предварительно объявлял ее.
  • Вы хотите позволить кому-либо — включая саму команду — покупать по одинаковым ценам, определяемым кривой, а не предварительно выделять инсайдерам со скидкой.
Не используйте LaunchLab для:
  • Существующих токенов с установленными рынками (используйте CreatePool на CPMM напрямую).
  • Запусков, где вам нужен точный контроль над открывающей ценой AMM (вы можете приблизить ее с помощью тщательной конфигурации кривой, но механизм все еще управляется кривой).
  • Токенов, которые требуют расширений Token-2022, которые LaunchLab не разрешает (программа запуска отклоняет расширения, такие как TransferHook и PermanentDelegate, даже на пути Token-2022).

Содержание раздела

  • bonding-curve — формула кривой, математика затрат и доходов, вывод порога выпуска.
  • accountsLaunchConfig, LaunchState, хранилища, PDA органов.
  • instructionsInitialize, Buy, Sell, Graduate, CollectFees, SetParams.
  • code-demos — сквозные примеры TypeScript.

Куда дальше

Источники:
  • Модуль Raydium SDK v2 LaunchLab (IDL в src/raydium/launchpad/).
  • Исходный код программы LaunchLab в настоящее время не опубликован как отдельный репозиторий. IDL, поставляемый с SDK выше, является каноническим интерфейсом.