RTP is a set of contracts plus integration surfaces. Frontends (including rtp.fun) sit above the contracts and are replaceable.
Layers
- Issuance — RH Launch factory (bonding → graduation) and Crowdfund factory (campaigns).
- Shared modules — referral registry, vesting, LP lock.
- Settlement — Uniswap v4 pool + hooks configured per platform.
- Treasury — destination for opening tax.
- Integrate — platform registration, TypeScript SDK, quote interface, agent-facing docs.
flowchart LR
P[Platform] --> F[Factories]
F --> RH[RH Launch]
F --> CF[Crowdfund]
RH --> G[Graduation]
CF --> G
G --> V4[Uniswap v4 pool]
G --> Lock[LP lock]
CF --> Vest[Vesting]
P --> Ref[Referral registry]
G --> T[Treasury]
Path isolation
A market is created on one path. Shared modules still apply: a Crowdfund campaign uses vesting and referral; an RH Launch market uses LP lock at graduation. Platforms may enable one or both paths.
Hooks
Uniswap v4 hooks are the integration point for listing behavior. Per-platform hook configuration is a later-phase item; today a registered platform receives the profile the factory supports.
Sources of truth
| Question | Source |
|---|---|
| Is a market live? | Factory / campaign state |
| What is the opening tax? | Parameter reader on-chain |
| Who earned referral credit? | Referral registry |
| When does a position unlock? | Vesting module |
| Can LP be withdrawn? | LP lock |
Docs on rtp.sh can lag. If they disagree with a contract, the contract wins.