Architecture
The contract set of each path and its role, how liquidity is held, and how a deployment can be verified.
Two sets of contracts
The two launch paths are separate. The Fixed-Price Launch contracts deploy their own core, hook, graduator, token, vesting and distributor. They share design patterns with RTP Curve Launch but none of its deployed instances, so neither path can affect the other.
RTP Curve Launch
A compact set of contracts. One core holds curve accounting and the fee ledger; graduation hands each token to its own Uniswap v4 pool through an immutable graduator and fee hook.
| Contract | Role |
|---|---|
| RtpCore | Launches, bonding-curve trading, opening-buy tax, pull-based fee ledger and claims, launch tiers, graduation hand-off, per-launch buyback reserve and time-locked role changes. |
| RtpToken | Minimal ERC-20 minted once per launch. No owner, no later mint, no transfer tax, no blacklist. Holders may burn their own tokens. |
| RtpGraduator | Opens the token's v4 pool at the exact curve price and holds its single full-range position permanently. No owner, no setters. |
| RtpFeeHook | Uniswap v4 hook that charges the pool fee, one value fixed for the deployment (1%), on pool swaps and credits it to the core ledger. Only the graduator can initialise pools or add liquidity. |
| RtpV4Router, RtpV4Quoter | Router and quoter for hooked pools: exact-in and exact-out, minimum-out bounds and deadlines; quotes equal settled amounts. |
| RtpBuybackEngine | Buy-and-burn from a launch's buyback reserve, which anyone can call, priced against a time-weighted average and rate-limited. No owner, no setters. Deployed with the next testnet instance. |
| RtpCoreLens | Read-only previews: predicted token address, reserves, opening tax, buy and sell quotes. Holds no funds. Deployed with the next testnet instance. |
| Uniswap v4 PoolManager | On mainnet the chain's canonical PoolManager must be wired; the deploy pipeline refuses a private copy unless a documented fallback is chosen. |
RTP Fixed-Price Launch
One core holds the ledger of every launch; settlement creates the token's own Uniswap v4 pool, and dedicated contracts handle platform terms, referrals, token contributions and creator yield.
| Contract | Role |
|---|---|
| FundCore | Registry and ledger of every launch: creation, batch roots, contributions, refunds, claims, settlement (anyone can settle), the fee ledger and the operator's powers. Singleton. |
| CreateLib, SettleLib | Creation checks and settlement, reached by FundCore through delegatecall to libraries fixed when FundCore is built. They keep FundCore under the size limit and change no permission. |
| FundGraduator | Initialises the pool and adds full-range liquidity in a single unlock. Takes no graduation fee and has no liquidity-removal path. |
| FundHook | Uniswap v4 hook: the 1% pool fee and its split; the closed-market delay before opening; the decaying opening buy tax. |
| FundToken | One per launch, minted once at settlement. Fixed supply that can only decrease, through burns by holders: no owner, no mint, no tax, no blacklist, no pause, no proxy. |
| FundVesting | Per-second linear release of the creator's ETH, team-batch tokens and, if the creator chose it, participant tokens. Schedules are irrevocable. |
| FundDistributor | Merkle airdrops of launch tokens and each launch's airdrop reserve; recipients claim, or anyone pushes tokens to the listed account. |
| FundPlatforms | The register of platforms and the fee terms each one sets within the compiled caps. |
| FundReferral | Each launch's referrer list, what each referrer can draw, and social identities bound to wallets. |
| FundZap | Contributing with another token: swaps it to ETH through the pool manager and contributes for the caller. |
| FundVault, ERC4626Adapter | Optional deposit of the creator's undrawn ETH, after settlement, into an enabled ERC-4626 vault over WETH; one adapter per venue. |
| FundRouter, FundQuoter | Trading and quotes for fixed-price pools, in ETH. |
Liquidity held by a graduator
On both paths the pool is seeded by an immutable graduator that holds one full-range position and has no withdrawal path. There is no LP token. The liquidity exists and is tradable, but no one can remove it; on both paths only the graduator may add liquidity.
Deterministic, verifiable deployment
Every chain-specific value lives in configuration rather than code. Addresses are predicted before broadcast and checked afterwards. On Curve Launch, every contract is deployed through CREATE3 except the fee hook, which goes through CREATE2 with a salt mined so that its address carries the Uniswap v4 hook permission flags; that address depends on the chain's PoolManager, so it differs between chains. Fixed-Price Launch contracts are deployed through CREATE3 from a dedicated deployment Safe, so they share one address on each supported chain.
