Перейти к основному содержанию

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.

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

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

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

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

             ┌───────────────────────┐
creator  ──▶ │  Initialize (Launch)  │   ▸ mints the base token, funds the curve vaults,
             │                        │     sets curve params and graduation threshold
             └───────────┬────────────┘


             ┌───────────────────────┐       repeated N times
             │   Buy  /  Sell        │ ◀─── traders interact with the curve
             └───────────┬────────────┘
                         │ curve quote_reserve
                         │ crosses threshold

             ┌───────────────────────┐   ▸ snapshots curve state
             │      Graduate         │   ▸ deploys CPMM pool seeded with curve reserves
             │                        │   ▸ locks / burns remaining base supply per policy
             └───────────┬────────────┘


             ┌───────────────────────┐
             │   CPMM pool live      │   ▸ standard CPMM behavior going forward
             └───────────────────────┘
Каждый запуск проходит эту последовательность ровно один раз. Buy и Sell — единственные вызываемые пользователем инструкции на промежуточном этапе; Graduate не требует прав (кто угодно может вызвать его, когда порог пройден), но на практике SDK автоматически его вызывает внутри транзакции, которая пересекает порог.

Две фиксированные стороны

Состояние LaunchLab имеет два выделенных аккаунта:
  • Базовый минт — запускаемый токен. Его полномочия минтера удерживаются программой LaunchLab до градации; после градации они отзываются.
  • Квотовый минт — залог. Всегда основной минт (SOL / USDC / RAY). Конфигурация запуска выбирает один при Initialize; это нельзя изменить.
Плюс два хранилища:
  • base_vault — хранит часть базового предложения, которая предварительно минтирована на кривую, но ещё не продана. Уменьшается по мере покупок пользователями.
  • quote_vault — накапливает квоту, внесённую покупателями. Увеличивается по мере покупок. Остаток в этом хранилище проверяется против порога градации.

Модель ценообразования

LaunchLab поддерживает несколько формул кривых (см. bonding-curve). Наиболее распространённой является квадратичная бондинг-кривая, аналогичная линии Pump.fun / Curve.fi / Bancor:
price(s) = k × (s / S_max)²     (or similar — exact formula is curve-config dependent)
где s — количество базового токена, уже проданного пользователям, а S_max — максимальное предложение кривой. Цена растёт монотонно с каждой покупкой и падает с каждой продажей. Так как программа вычисляет интегрированную стоимость, согласованную с AMM, покупка любого размера возвращает правильное интегрированное количество; нет проскальзывания за сделку кроме естественной выпуклости кривой.

Градация

Запуск градирует, когда quote_vault.balance ≥ graduation_threshold. Порог устанавливается при Initialize и обычно выбирается так, чтобы при градации подразумеваемая цена кривой соответствовала цене открытия пула AMM с собранными резервами. Конкретно:
threshold ≈ S_graduate × price(S_graduate) × f
где 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 влечёт комиссию, распределяемую между:
  • Стороной ликвидности кривой — увеличивает подразумеваемый k кривой, что выгодно более поздним покупателям (более плотная цена).
  • Протоколом — аккумулируется у админа LaunchLab, собирается через CollectFees.
  • Создателем — опционально, настраивается при Initialize. Некоторые запуски направляют долю создателю как постоянный поток доходов.
Ставки по умолчанию задокументированы на bonding-curve. Точное распределение хранится на LaunchState.fees и может отличаться для каждого запуска. После градации комиссии следуют конфигурации CPMM, с которой был создан пул (обычно AmmConfig[0], уровень 0.25%).

Кто владеет LP после градации?

LaunchLab поддерживает несколько политик LP после градации:
  • Burn — LP минтируется мёртвому адресу. Пул становится постоянным; никто не может вывести ликвидность.
  • Lock — LP минтируется в заблокированное по времени хранилище, которое освобождается создателю после периода вестинга.
  • Creator-received immediately — используется только для разрешённых запусков.
Политика устанавливается при Initialize и не может быть изменена. Большинство открытых запусков используют burn — как только пул существует, его ликвидность там навсегда.

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

  • Базовый минт свободен от инфляции после градации. Его mint_authority отзывается; freeze_authority никогда не устанавливается.
  • Token-2022 поддерживается через initialize_with_token_2022. Стандартные Initialize / InitializeV2 создают запуски SPL Token; выделенная инструкция InitializeWithToken2022 создаёт запуск, чей базовый минт — Token-2022 (с опциональным TransferFeeConfig). Запуски Token-2022 должны градировать в пул CPMM — они не могут градировать в AMM v4, который только SPL Token.
  • Состояние кривой монотонно в одном направлении. 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 module (IDL under src/raydium/launchpad/).
  • LaunchLab program source is not currently published as a standalone repo. The IDL bundled with the SDK above is the canonical interface.