Graduation
How a filled curve becomes a permanently locked Ramses V3 pool, automatically.
Graduation is the launchpad's defining moment: the bonding curve hands its collected quote and reserved tokens to Ramses V3, and the liquidity is locked forever.
Auto-graduation
The buy that empties the curve's sellable supply triggers the whole sequence in the same transaction:
- The curve sweeps —
realQuoteReserveand the reserved tokens are snapshotted (CurveCompleted). - The factory calls the
RamsesGraduationBridge(the registeredIGraduationExecutor). - The bridge wraps native ETH into WETH, creates and initializes the Ramses V3 pool at the curve's closing price, and mints a full-range LP position.
- The LP NFT is minted directly to the
RamsesLpLocker— a contract with no withdrawal function. The liquidity is locked permanently. - A
RamsesPoolWrapperis registered on the curve as its graduated pool.
If pool creation ever fails transiently, the terminal buy still succeeds —
the curve stays in the Swept phase and anyone can retry via
TokenFactory.createGraduatedPool. Reserves are never stranded.
Pool fee tiers
The bridge derives the pool's fee tier from the launch's total trade fee, so every swap on the pool — including routes that bypass the launchpad frontend entirely, like relay.link — pays the same rate the curve charged:
| Curve fee + creator tax | Pool fee tier | Tick spacing |
|---|---|---|
| ≤ 1% | 1% | 100 |
| > 1% | 2% (max) | 200 |
The wrapper
The RamsesPoolWrapper implements the minimal pool interface the curve
expects (token0 / token1 / swap):
- Frontend swaps route through it, and it auto-collects the locker's accrued LP fees on every swap.
forwardFeesroutes collected fees into the curve's own fee accounting, where the standard 30/70 protocol/creator split applies.- External swaps that bypass the wrapper are still taxed by the pool fee
tier; a permissionless
collectFees(driven by a keeper) picks those up.
What graduation cannot do
- It cannot be triggered early — only a filled curve graduates.
- It cannot be blocked by the creator or the protocol.
- The LP position can never be withdrawn — only its fees can be collected.