How it works.
ppand.fun launches on-chain NFT collections of 10,000 pieces. A creator picks between two kinds: a plain fixed-price collection, or a collection bonded to a token on a bonding curve.
The two kinds of launch
Plain collection. A single ERC-721 with a fixed mint price. Buyers mint at that price; the full price goes to the creator. There is no token, no curve, no pool.
Token-bonded. A hybrid with two faces: an ERC-20 token, and an ERC-721 mirror where every whole token is backed by one NFT. 8,000 tokens are sold on a constant-product bonding curve; when the last one sells, the contract deposits the remaining 2,000 tokens plus everything raised into Uniswap V2 and burns the LP.
Both share the same art: the creator can upload their own PSD (sealed on chain as trait layers), or use the shared generative renderer. Both are hard-capped at 10,000 pieces.
The plain-collection lifecycle
- Launch. One transaction deploys the ERC-721. Art written and sealed on chain first is adopted in the same transaction, so nothing can be sniped in between.
- Mint. Anyone mints at the fixed price. The full price goes to the creator, held in the contract and claimed when they like — never pushed, because a push transfer can be screened out at the sequencer.
- Sell out. At 10,000 pieces the collection is done. Ids are never recycled.
The token-bonded lifecycle
- Launch. One transaction deploys the token/mirror pair and mints all 10,000 units into the curve. No pre-mint, no allocation, no owner keys.
- Curve. 8,000 units are sold along a constant product curve (E × T = k). Price is a pure function of how much has been sold, so it can only move when someone actually trades. Selling back into the curve is always available at the same curve price, minus the 2% fee.
- Graduation. The moment the 8,000th unit is sold, the contract deposits the remaining 2,000 units plus every ETH raised into Uniswap V2 and burns the LP to 0xdEaD. Nobody triggers it and nobody can skip it.
- After. The curve is closed. The same collection trades on Uniswap like any ERC-20 — buying hands you pieces, selling releases them.
Why 10,000 is a real cap
For the plain collection the supply is a constant in the bytecode and ids are handed out sequentially from 1 to 10,000. For the token-bonded version, every piece must be backed by one whole token, and the token supply is fixed at 10,000 with no mint function anywhere. Either way the piece count cannot exceed 10,000 — not by an owner call, not by a bug in a mint counter.
Art is written 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. A creator can upload their own 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, and a launch refuses art that is not sealed, so it can never be swapped or rug-pulled afterwards.
Art is frozen before the first public buy: once someone other than the creator buys, the art can no longer change, so no buyer can ever have the art they saw swapped out from under them.