The on-chain
launchpad.
A protocol for launching 10,000-piece NFT collections whose art, supply and economics all live in contract bytecode — nothing on a server, nothing on IPFS, no hidden keys. Two launch modes share one stack: a plain fixed-price collection, and a token-bonded hybrid that graduates to Uniswap.
Abstract
ppand.fun is a launchpad for fully on-chain NFT collections. Everything a collection is — its art, its traits, its supply rules, its price — lives in contract bytecode, not on a server or a metadata endpoint that can go down or be edited.
A creator picks a name, a symbol, and one of two economic models. The contract enforces the rest. The launcher takes one small create fee and otherwise stays out of the creator's way: a plain collection sends every mint straight to the creator, and a token-bonded collection sends 1.5% of each curve trade to the creator while the protocol keeps 0.5%. At graduation, the remaining supply and every raised ETH are deposited into Uniswap V2 and the liquidity is burned — permanently.
The problem
Art that can vanish. Most NFT launches store metadata and images off chain. When the server bill goes unpaid, the DNS lapses, or the owner edits the endpoint, the art a buyer saw at mint is not the art they own. There is nothing they can do about it.
Supply that can inflate. A mint function behind an owner key is a promise, not a guarantee. Collections routinely add supply, change prices, or re-roll traits after the fact.
Price discovery that needs a market maker. A plain mint has no way to discover a fair price before liquidity exists. A creator must either guess a price or pay someone to bootstrap a pool.
Every guarantee on ppand.fun is a property of the bytecode, not a promise in a document. If a behaviour can be enforced by making it structurally impossible, it is. If it cannot, the whitepaper says so.
Two launch modes
Both modes share the same art stack, the same 10,000-piece hard cap, and the same safety rules. The difference is purely economic.
Fixed-price NFT
- One ERC-721 contract.
- Mint price set once at launch, immutable.
- 100% of each mint goes to the creator, claimed by pull.
- No token, no curve, no pool.
Hybrid on a curve
- ERC-20 token + ERC-721 mirror, one supply.
- 8,000 units sold on a constant-product curve.
- 2,000 units + all ETH seed Uniswap at graduation.
- LP tokens burned to 0xdEaD.
A creator who wants a straightforward drop picks kind 0. A creator who wants price discovery before an open market picks kind 1. Both can upload their own art or use the shared generative renderer.
The bonding curve
The token-bonded collection sells its first 8,000 units on a constant-product curve governed by E × T = k, where E is the ETH reserve (a virtual reserve plus the real ETH paid in) and T is the token reserve. Because k is fixed at launch, every buy raises the price and every sell lowers it — price only moves when someone trades, so the curve itself cannot be front-run.
A creator sets a target raise. The virtual reserve is derived from that target so that selling out the curve raises exactly the target, no matter what. The opening price, the final curve price, and the Uniswap opening price are all determined by that one number before a single token moves.
Fees on the curve are 2% — 1.5% to the creator, 0.5% to the protocol — and both are claimed by pull, never pushed, because a push transfer can be silently dropped by the sequencer. After graduation the only fee is Uniswap's 0.3% to liquidity providers.
Art on chain
Every piece's art is a pure function of keccak256(collection address, id) — never block data, which on this chain is not random at all. There are two sources, chosen per launch.
Shared generative renderer. A deterministic pixel-art renderer shared by every collection. Mirror-symmetric, one of twelve palettes, and unique per collection because the collection address is part of the seed.
Creator-uploaded traits. A creator uploads a PSD. Every group becomes a trait category, every layer becomes a trait, and each layer is stored on chain as a palette-indexed bitmap. The store is then sealed — a one-way operation that drops ownership — and a launch refuses to attach art that is not sealed. Once sealed, the art can never be swapped, re-rolled, or rug-pulled.
In both cases the art is frozen before the first public buy: once someone other than the creator buys or mints, the art can no longer change. No buyer can ever have the art they saw swapped out from under them.
Supply & invariants
Every collection is capped at 10,000 pieces, and the cap is structural, not cosmetic. For a plain collection the supply is a constant in the bytecode and ids are handed out sequentially from 1 to 10,000 with no mint function an owner could call. For a token-bonded collection, every piece must be backed by one whole token, and the token supply is fixed at 10,000 with no mint function anywhere — ids released by a sale go back onto a stack and are handed out again, so the collection recycles rather than inflates.
The contracts hold no owner keys that can mint, pause, or change a price. Metadata (name, symbol, blurb, links) is set once in the constructor with no setter. Payments are always pulled, never pushed. Art is sealed before it is attached. These are not promises in a document; they are properties of the bytecode.
The pp reward
Holders of the pp fighter collection receive a claimable allocation on every token-bonded launch — one claim per token id, carved from the curve supply so the 10,000 cap stays intact. A claim never touches the curve reserve or the tokens already sold, and each id can claim exactly once, so the allocation cannot be farmed by moving one fighter through fresh addresses.
This is the distribution mechanism for the ppand ecosystem: the launchpad rewards the community that existed before it, in a way that is deterministic, capped, and un-gameable — while keeping the launch's own supply rules untouched.
Economics
| Item | Plain collection (kind 0) | Token-bonded (kind 1) |
|---|---|---|
| Create fee | one-time, set by protocol | one-time, set by protocol |
| Creator revenue | 100% of mints | 1.5% of curve trades |
| Protocol revenue | create fee only | 0.5% of curve trades |
| After graduation | — | 0% to ppand.fun; Uniswap 0.3% to LPs |
| Liquidity | none | seeded by the curve, LP burned to 0xdEaD |
The protocol's economics are deliberately thin: it earns a create fee and, on curve launches, 0.5% of volume. It never takes a cut of a plain collection's mints, and it takes nothing at all once a collection has graduated. The creator keeps the upside; the protocol keeps the rails.
Contracts
| Contract | Role |
|---|---|
| PadFactory | The registry and launcher; deploys both kinds and tracks every launch. |
| PadNFT | The plain fixed-price collection (kind 0). |
| PadToken | The token-bonded hybrid's ERC-20 face and bonding curve (kind 1). |
| PadMirror | The token-bonded hybrid's ERC-721 face. |
| PadDeployer | Creates the token/mirror pair — kept separate so the factory stays under the code-size limit. |
| PadLens | Read-only aggregator that feeds the dapp. |
| PadArt | The shared generative renderer. |
| PadTraits | The creator's sealed trait store (v1). |
| PadTraitsV2 | The creator's sealed trait store (v2, linear-time renderer). |
Two factories coexist on Robinhood 4663. The current two-mode factory accepts new launches; the original hybrid factory remains live so its existing launches never disappear. Both are listed side by side on the explore page.
Roadmap
- Launched. Two launch modes, on-chain generative art, PSD trait upload, the bonding curve with automatic Uniswap graduation, and the pp-holder claim — all live on Robinhood 4663.
- Discoverability. Curated surfaces, per-launch creator pages with on-chain social links, and a richer explorer.
- More renderers. Additional generative art families and higher-density trait formats, kept fully on chain.
- Cross-chain. The same stack is portable — the contracts target the standard EVM size limit, not Robinhood's larger one — so the launcher can ship to other chains without redesign.
Risks
Nothing here removes market risk. Collections launched on ppand.fun are created by third parties; the launcher does not vet, endorse, or back them. Prices on a bonding curve move with demand and can fall as well as rise. Liquidity burned at graduation is permanent — that is a feature, but it also means the creator can never recover the LP.
Smart contracts can contain bugs, and while the supply cap, sealed art, and pull payments are enforced by code, no code is beyond question. The contracts are auditable and the invariants are stated above; treat them as claims to verify, not as insurance.
ppand.fun is a launchpad. Buying NFTs or tokens is high-risk and you can lose all the money you put in. Always do your own research and only risk what you can afford to lose.