About this document
This overview explains RTP Protocol, launch infrastructure for EVM networks, in plain, verifiable terms: what the contracts do, what they cannot do, and which rules a creator or participant can rely on.
How to read the figures
This overview summarises both launch paths. Bounds, formulas and worked examples are in the technical overviews of Curve Launch and Fixed-Price Launch. Values marked testnet are the published testnet configuration.
Status at the time of writing
Curve Launch runs on a public EVM testnet with test tokens only, from an earlier build. Fixed-Price Launch is not yet deployed. GIWA stays on testnet; both launch paths go to Robinhood Chain mainnet, and Fixed-Price Launch also to Base. Security review in progress: internal review rounds are under way and an external audit is being arranged. Mainnet deployment follows the review rounds and one complete verification run; the external audit may not be complete by then, and its results are published when it is.
Related papers
Three papers are published together on rtp.sh: RTP Protocol: Overview; RTP Curve Launch: Technical Overview; RTP Fixed-Price Launch: Technical Overview. Where two papers describe the same rule, the technical overview of that launch path is the reference.
Not an offer. Nothing in this document is an offer to sell, a solicitation to buy, or investment, legal or tax advice. Participation in any token launch carries the risk of total loss.
Launch rules that are code, not promises
RTP Protocol is neutral token-launch infrastructure for EVM networks. Its two launch paths share one philosophy: terms are fixed when a launch is created, liquidity cannot be withdrawn, and every payout is pulled by its owner from a contract ledger.
RTP Curve Launch
Any creator can launch, on an enabled launch tier, a token that trades on a constant-product bonding curve. When the curve reaches its funding threshold the token graduates, at the same price, into its own Uniswap v4 pool governed by an RTP fee hook. The pool's single full-range position is held permanently by an immutable graduator contract.
Fixed-Price Launch
A separate, self-contained set of contracts for projects that prefer a structured raise: up to six batches, Merkle-whitelisted or public, one price for everyone, at least 70% of the raise placed into permanently locked liquidity, creator funds vested on-chain, full refunds if the raise fails, and a protected market opening.
At a glance
What participants can rely on
- Terms are snapshotted at creation. Later configuration changes apply to new curve launches or new fixed-price launches only.
- Graduated liquidity has no removal path in code. It is locked, not burned: the position exists and is held by a contract that has no function to withdraw it.
- The platform cannot pause trading, refunds, claims or settlement, cannot move funds credited to others and cannot upgrade contracts.
- Protections are described with their limits. The opening tax raises the cost of sniping; it does not make sniping impossible.
Neutral infrastructure with visible rules
Token launches fail participants in familiar ways: liquidity that can be pulled, insiders who buy at a different price, parameters that change mid-sale, and refunds that depend on goodwill. RTP Protocol is designed so that each of these is either impossible in code or disclosed up front.
Neutral by construction
Any front end can integrate the protocol through a namespaced platform id and receive the platform share of fees. RTP.fun is one integrator among potentially many. The contracts contain no logic specific to any single token or community.
Terms fixed at creation
Every curve launch and every fixed-price launch snapshots its parameters when it is created. Operators can adjust settings for future curve and fixed-price launches only, within bounds compiled into the contracts.
Liquidity that stays
Pools are seeded by an immutable graduator that holds one full-range position per token and has no withdrawal path. The rule that matters most to holders is enforced by the absence of code.
Pull, never push
Fees, refunds, vested amounts and claims are credited to on-chain ledgers and collected by their owners. Trades never push value to third parties, which removes whole classes of re-entrancy and denial-of-service risk.
Immutable contracts
No proxy, no upgrade path and no self-destruct. The trust surface is smaller; the trade-off, accepted deliberately, is that there is no emergency stop.
Threat model
The project keeps a threat model, to be published with the code, that quantifies the economic limits of its own design, including the costs of sniping, self-trading and predictable buyback flows.
Two products, one standard
| Question | Curve Launch | Fixed-Price Launch |
|---|---|---|
| Price discovery | Continuous bonding curve, then a Uniswap v4 pool | One fixed price for all participants; the pool opens at that price or at a premium of up to 50% fixed at creation |
| Who can create | Any creator, on an enabled launch tier; verified tiers also need an identity attestation | Any address; display on RTP.fun is a separate platform decision |
| Liquidity | Raised quote plus reserved supply, locked at graduation | At least 70% of the raise, locked at settlement |
| Early-market protection | Decaying opening-buy tax on the curve | 300 s closed market, then a 600 s decaying buy tax |
| Failure path | Not applicable: trading is continuous | Full refunds, pulled by each contributor |
| Upgradeability | None | None |
Curve Launch in brief
A token launched on Curve Launch trades on a constant-product bonding curve with a virtual quote reserve. When the quote raised, net of fees, reaches the threshold, the curve's reserves become the token's own Uniswap v4 pool at the same price, in the same transaction. The Curve Launch technical overview gives the formulas, bounds and security model.
From curve to pool
On testnet, 80% of a 1,000,000,000-token supply is sold on the curve and 20% seeds the pool. The price rises 16x to graduation and the pool opens at the last curve price; there is no LP token and no way to remove the liquidity.
Opening protection
Buys in the opening seconds pay a tax that decays with the cube of the time left: 90% over 15 s or 50% over 30 s on the testnet tiers. The tax goes to the protocol treasury only. The launcher's initial buy pays no tax and can receive at most 10% of the supply.
Fees and buy-and-burn
Every trade pays a fee, 1% on testnet, booked to a pull-based ledger and split between the creator, the protocol, the platform and an optional referrer. After the migration a share of the protocol's fees funds a permissionless, rate-limited buy-and-burn.
The deployed testnet instance. It comes from an earlier build (source commit 8cae3fc, deployed 2026-10-22). Until the next instance deploys v1.0.0-r4, its owner can pause new launches and change the treasury at once, an attestor change waits 2 days, unbound social-handle balances can be swept after 60 days, the owner and the treasury are one address, and the buy-and-burn engine and the lens are not deployed.
Fixed-Price Launch in brief
A fixed-price launch raises ETH in up to six batches, each whitelisted or public, at one price for everyone, the team included. The Fixed-Price Launch technical overview gives the formulas, bounds, worked examples and security model.
Success or refund
If non-team contributions reach the soft cap, anyone can settle, until 72 hours after the end. One transaction creates the token and the pool, burns the unsold supply and registers vesting. Otherwise every contributor pulls back the full amount.
Vesting
The creator's ETH and the team batch's tokens vest linearly from market opening, within fixed bounds; an optional airdrop reserve of at most 5% of supply vests the same way and is burned if unclaimed.
Opening
Trading opens 300 seconds after settlement, then buys pay a tax that falls linearly from 50% to zero over 600 seconds. The pool fee of 1% is split by terms frozen when the launch was created; the creator's share is never below 50%.
What is enforced, and by what
Trust claims are only as good as the mechanism behind them. This section separates guarantees enforced by contract code from commitments made at the platform layer.
Enforced by contract
- No upgrade path: no proxy, no upgradeable delegatecall, no self-destruct, no initialiser to front-run.
- Pool liquidity has no removal path; only the graduator may add it.
- The treasury is fixed as an immutable constructor parameter of FundCore, FundHook and FundGraduator.
- Parameters snapshotted per curve launch and per fixed-price launch; no setter for existing terms, roots or reserve lists.
- Pull payments behind re-entrancy guards; ETH only for fixed-price contributions; forced ETH is never counted.
- Fixed-price settlement is atomic, permissionless and constant-gas; refunds need no approval.
Curve Launch powers, in full (v1.0.0-r4)
| Owner | Add launch tiers and enable or disable them; approve quote assets and set their curve values; set the launch fee, at most 1 ETH. These take effect at once and apply to new launches only. Revoke the attestor at once. |
| Owner, with a delay | Treasury, attestor and verification-gate changes wait 7 days in public. The owner or the current treasury can cancel a treasury or attestor change; the owner can cancel a verification-gate change. |
| Owner or treasury | Cancel a pending social-handle binding during its 72-hour notice. |
| No one | Pause trading or claims: no pause mechanism exists. |
The deployed testnet instance differs until it is replaced; see Curve Launch in brief.
Fixed-Price Launch powers, in full
| Who | What they can do |
|---|---|
| Operator (the platform Safe) | Pause the creation of new fixed-price launches. Change the success fee (at most 3%) and the team limit (at most 25%), each after a 48-hour delay and only for launches created afterwards. Enable yield-venue adapters after a 48-hour delay, with a fixed capacity, and disable them at once, which stops new deposits only. Propose a new referral attestor, which takes 7 days, or revoke it at once; cancel an identity binding during its 72-hour public notice (the treasury can cancel too). |
| Each platform | Set its own fee terms and payee within the compiled caps: platform share up to 20% and referral budget up to 20% of the pool fee, a creation fee up to 0.1 ETH and a FundZap fee up to 1%. A change reaches only launches created afterwards; the payee can be moved at any time. |
| Never, by anyone | Pause trading, contributions, refunds, claims or settlement; move funds credited to others; touch a pool; change an existing launch; change the treasury; upgrade a contract. |
Platform-layer controls (Fixed-Price Launch on RTP.fun)
Display on RTP.fun
Launch creation is permissionless, so look-alike launches can exist on-chain. RTP.fun shows as verified only launches that pass name, symbol and logo checks; others are labelled unverified, and verification is never inferred from on-chain fields.
Terms and regions
On RTP.fun, users and creators sign the applicable terms with a gas-free wallet signature before creating, contributing or trading, and participation is not offered in restricted regions. These controls do not bind someone who calls the contracts directly. Refunds and claims are never blocked.
Airdrop list rules
Lists come from the creator and are signed by the creator. Screening can only remove addresses, never add them. Eligibility may not depend on buying, holding or promotion, and snapshots precede announcements.
Design boundaries
- On-chain rules cannot identify multiple wallets controlled by one person. A team using secondary wallets in public batches is addressed by platform-layer controls and documented in the threat model.
- Platform-layer controls such as terms signatures apply on RTP.fun; they do not cover a user who calls the contracts directly or uses another front end.
- Sequencer behaviour on each network is outside the contracts' control. The design assumes worst-case ordering, and the failure direction of a stalled settlement is a full refund.
From testnet to mainnet
Curve Launch
- Testing covers properties, permissions, re-entrancy and heavy invariants (102,400 calls), with mutation testing of every line changed in this version: 152 mutants, 143 killed, the other 9 equivalent.
- Full suite of 473 passing tests across 107 suites, plus fork suites run separately; every one of the 88 static-analysis findings triaged.
- Security review in progress: internal review rounds are under way and an external audit is being arranged; a bug bounty programme follows the external audit.
- Testnet source verified on the explorer; runtime codehashes recorded in the deployment manifest, to be published in a public deployment repository that holds no source code.
Fixed-Price Launch
- Development and internal testing complete: settlement, pricing identities, fee split, opening protection and cross-chain deployment covered by dedicated tests.
- Deployment split into three Safe transactions, each below half of the per-transaction gas limit, rehearsed on forks.
- Every release is gated by its full test, invariant and fuzz suite, mutation testing and static analysis.
- Security review in progress. Mainnet deployment on Robinhood Chain and Base follows the internal review rounds and one complete verification run.
Roadmap
Stages are sequential milestones rather than calendar commitments, so no dates are given.
| RTP Curve Launch | ||||
|---|---|---|---|---|
| Testnet | Next | In progress | Next | Being arranged |
| GIWA Sepolia Source-verified instance with test tokens; GIWA stays on testnet |
Next testnet instance Deploys v1.0.0-r4: adds the buy-and-burn engine and the read-only lens |
Internal review and verification Review rounds, then one complete verification run |
Robinhood Chain mainnet On the chain's canonical Uniswap v4 |
External audit Results published when complete |
| Fixed-Price Launch | ||||
| Complete | Complete | In progress | Next | Being arranged |
| Protocol design Parameters, state machine and threat model |
Development and testing Full specified test set and invariants |
Internal review and verification Review rounds, then one complete verification run |
Robinhood Chain and Base mainnet Deployed directly, without a public testnet stage |
External audit Results published when complete |
Same address on every supported network. Fixed-Price Launch contracts are deployed through CREATE3 from a dedicated deployment Safe, so they share one address on each supported network. Because the same address does not prove the same code, each deployment publishes a manifest of addresses, code hashes, configuration hashes and post-deployment state for independent verification, in a public deployment repository that holds no source code.
Glossary
| Term | Meaning |
|---|---|
| Bonding curve | A pricing function that sets the token price from the reserves on each trade; here constant-product with a virtual quote reserve. |
| Graduation | The hand-over of a launch from the curve to its own Uniswap v4 pool, at the final curve price, normally within the same transaction. |
| Launch tier | A configuration the operator enables: supply, fee and split, opening tax and window, and whether a verified creator is required. |
| Basis points (bps) | Hundredths of a percent. The pool fee split is expressed in parts of 10,000. |
| Fee split | The shares of the pool fee credited to the protocol, the platform, referrers and the creator, frozen per launch at creation. |
| Hook | A Uniswap v4 contract invoked by the pool on swaps and liquidity events. |
| Locked liquidity | A pool position held by a contract with no withdrawal function. The liquidity exists and is tradable, but no one can remove it. |
| Soft cap / hard cap | The minimum raise for a fixed-price launch to succeed, and the maximum it can accept. |
| Batch | A time window within a fixed-price launch, with its own Merkle whitelist or public flag, an optional cap and a per-address limit. |
| Merkle root | A single hash committing to a whole whitelist or airdrop list, against which each participant proves inclusion. |
| Settlement | The single, permissionless transaction that finalises a successful fixed-price launch: token deployment, pool creation, burns and vesting. |
| Market opening | The moment trading opens in a fixed-price pool, 300 seconds after settlement. Every vesting schedule starts here. |
| Opening premium | An optional amount, 0 to 50%, by which the pool's opening price exceeds the sale price; fixed at creation. |
| Success fee | A share of the raise booked to the protocol treasury at settlement: 1% in this deployment, at most 3%. |
| Cliff / linear release | A period with no release, followed by per-second proportional release until the full amount is available. |
| Pull payment | A design in which recipients withdraw amounts credited to them, instead of contracts sending funds during other operations. |
| Creator-designated free allocation | The front-end label for the optional airdrop reserve, the only free token allocation a fixed-price launch can contain. |
References and revision history
References
| Key | Reference |
|---|---|
| [UNI-V4] | Uniswap Labs, Uniswap v4 Core: the singleton PoolManager and hooks. |
| [EIP-7825] | Transaction Gas Limit Cap: at most 16,777,216 (224) gas per transaction. |
| [ERC-20] | Token Standard. |
| [EIP-712] [ERC-1271] | Typed structured data signing; signature validation for contracts. |
| [CREATEX] | CreateX factory, CREATE3 deployment to the same address on every chain. |
| [BUSL] | Business Source License 1.1. |
| [ROBINHOOD-CHAIN] | Robinhood Chain, an Ethereum Layer 2; mainnet chain id 4663, testnet 46630. |
| [GIWA] | GIWA Chain, an Ethereum Layer 2 on the OP Stack; testnet GIWA Sepolia, chain id 91342. |
| [DOJANG] | The attestation registry read by verified launch tiers on GIWA chain. |
| [CODE-CL] | RTP Curve Launch contracts, v1.0.0-r4, commit 1f339ee. The source is published with the public release; the source of the deployed testnet build is verified on the explorer. |
| [ERC-4626] | Tokenized Vault Standard, used by the optional yield venues. |
| [SAFE] | Safe 1.4.1 (SafeL2) and the Safe Transaction Builder format, used for the deployment batches. |
| [BASE] | Base, an Ethereum Layer 2 on the OP Stack; mainnet chain id 8453. |
| [CODE-FP] | RTP Fixed-Price Launch contracts, r3, commit f761cbe. The source is published with the public release. |
Revision history
| Version | Date | Change |
|---|---|---|
| draft 18 | 2026-11-03 | Initial draft, in two documents. |
| draft 19 | 2026-11-04 | Every statement checked against the contracts and corrected where it differed. |
| draft 20 | 2026-11-04 | Names: RTP Protocol, RTP Curve Launch, RTP Fixed-Price Launch. Material not yet public is no longer described as published. |
| 1.0-draft.21 | 2026-11-04 | Three documents: the protocol overview and a technical overview of each launch path. Document control, notation, trust assumptions and known limitations, references. |
| 1.0-draft.22 | 2026-11-04 | Security status stated as it stands: internal review rounds under way, external audit being arranged. Deployment plan: GIWA stays on testnet; both launch paths go to Robinhood Chain mainnet after the review rounds and one complete verification run. |
| 1.0-draft.23 | 2026-11-05 | Document identifiers removed; the papers refer to each other by title. Runtime codehashes and the deployment manifest are published in the code repository; rtp.sh lists the addresses. |
| 1.0-draft.24 | 2026-11-05 | References name GIWA and Robinhood Chain. The Fixed-Price Launch targets Robinhood Chain mainnet directly. |
| 1.0-draft.25 | 2026-11-05 | Fixed-Price Launch also targets Base mainnet. Deployment manifests go to a public repository that holds no source code. RTP.fun named for the platform layer; the Curve Launch fee hook stated as CREATE2. |
| 1.0-draft.26 | 2026-11-05 | Fixed-Price Launch: the success fee in this deployment is 1%; the worked examples show it. |
Licensing
RtpCore, RtpCoreLens, RtpGraduator, RtpFeeHook and RtpBuybackEngine are licensed under the Business Source License 1.1 (Licensor RTP.fun, change date 2029-10-25, then MIT); RtpToken, the interfaces, the router, the quoter, the scripts and the SDK are MIT. The Fixed-Price Launch contracts and libraries, FundToken and FundZap included, are licensed under the Business Source License 1.1 (Licensor RTP.fun, change date 2029-10-25, then MIT). FundRouter, FundQuoter and the interfaces are MIT. The licences grant no trademark rights.
Verification and contact
Only addresses listed in the official deployment registry on rtp.sh are official, whatever name a front end presents. Security reports: security@rtp.fun, by private disclosure. Licensing enquiries: licensing@rtp.fun.
Important information. This document describes software under development and testnet deployments that carry no real value. Parameters, designs and timelines may change before any mainnet deployment, and a mainnet deployment may come before the external audit is complete. Digital assets are volatile and may lose all value. Smart contracts may contain undiscovered defects despite review. Availability may be restricted in certain jurisdictions. This document is not an offer, a solicitation or advice of any kind.
