Graduation & liquidity.

Turn buyer-funded reserves into an AMM pool while preserving the community commitment.

The launch
In this guide

Completion and migration are separate

A curve completes when its published completion condition is reached. Migration creates the official AMM pool using the designated liquidity tokens and accumulated real quote assets. Curve completion alone does not prove that a pool exists.

The native reference closes curve trading at completion so the migration inputs cannot change underneath the operation. If migration fails, protected balances remain in custody and the documented retry path can run. A UI must distinguish this waiting state from active AMM trading.

Only real assets enter the pool

Migration inputs
token input = designated liquidity allocation L
quote input = accounted real funding Q
              minus only explicitly budgeted costs
community reserve R stays separate

Virtual SOL is not moved into the pool. A migration fee or account-creation cost needs real funding from the published budget. Community tokens cannot cover an undisclosed shortfall.

The terminal curve price and initial pool price should be calibrated together. Removing costs from the quoted funding changes the pool’s opening price unless the preset was designed for that deduction. Rounding surplus and maximum price deviation also need explicit treatment.

The engine determines who can migrate

The native reference lets a caller trigger a fixed migration path without choosing the destination, amounts or beneficiaries. RalliPad validates the pool program, input accounts, balances and published LP policy. This adapter still needs an actual multi-program integration test.

LaunchLab’s documented migration uses an authorized migration wallet. Current new-launch instructions target CPMM; the deprecated initializer is not the supported creation path. An integration must pin the actual instruction and configuration versions instead of assuming a permissionless migration.

Liquidity protection is a different lock

The community reserve protects reward inventory. The initial LP policy controls the ability to withdraw the launch’s liquidity position. Burning or locking an LP position is not the same action as locking community tokens, and it does not create funding for prizes.

The exact burn/lock/ownership policy must be disclosed and verified for the selected pool. Other users may later add and withdraw their own liquidity. Neither LP controls nor vesting guarantee a token’s price or future demand.