Launch a Collection
Creators launch bPeg collections from app.mirage.garden/launch. The wizard deploys the storage, renderer, and collection contracts from your connected wallet.
In plain terms: a Base token community can launch its own PixelCats-style bPeg collection. Bring an existing ERC-20 token, upload the image set, choose the token threshold, and Mirage turns it into an on-chain art collection that eligible holders can mint.
Before you start
Prepare:
- A wallet on Base with enough ETH for deployment gas.
- The ERC-20 token address that will gate the mint.
- The token's decimals.
- The amount of that token a wallet must hold to mint.
- Your collection name, symbol, max supply, and royalty percentage.
- The images that will become the collection's NFT art.
The app currently targets Base mainnet.
Step 1: Connect
Connect a wallet in the launch wizard. This wallet signs the deployment transactions and becomes the collection creator.
The creator address is stored on the collection contract and receives creator royalties through EIP-2981.
Step 2: Upload images
Upload one or more image files. Each uploaded image becomes a possible NFT output.
These are the images the renderer will use for the collection. The launch wizard stores the image data on-chain through the collection's trait storage contract, then points the collection at a renderer that returns metadata and image data from that storage.
The wizard supports a useful filename convention:
Name#weight.png
Examples:
| Filename | Trait name | Weight |
|---|---|---|
Green Slime#100.png | Green Slime | 100 |
Gold Slime#10.png | Gold Slime | 10 |
Ancient Slime.png | Ancient Slime | 100 default |
You can also edit names and weights in the UI after upload. Drag images to reorder them.
Step 3: Configure
Set the collection details:
| Field | Meaning |
|---|---|
| Collection name | Display name for the ERC-721 collection |
| Symbol | ERC-721 symbol |
| Max supply | Maximum number of NFTs that can be minted |
| Mint order | Random uses rarity weights; In order mints image 1 first |
| Token | ERC-20 that gates minting |
| Tokens required per mint | Minimum ERC-20 balance required to mint |
| Decimals | Decimals for the gate token |
| Royalty % | Creator royalty on secondary sales, capped by the collection contract at 10% |
The app shows the parsed threshold in base units before deployment. Use token-safe decimal values, not JavaScript-style approximations.
Step 4: Deploy
The deploy step performs four on-chain actions:
- Deploy
BpegTraitStorage. - Upload each image into trait storage.
- Deploy
BpegRenderer. - Register the collection through
BpegFactory.deploy.
After deployment, the collection appears in the Mirage marketplace once the app can read it from the factory's collections list.
What gets deployed
Your collection is a standard ERC-721 contract with on-chain metadata generated by the renderer. The collection stores the gate token, threshold, creator, max supply, royalty bps, and token seeds.
Collectors mint through the Mirage router or an authorized minter. The router checks that the collector holds enough of the gate token before minting.
This is the factory version of the ClankerCats/CCAT pattern: instead of one custom pixelcat experiment, each project can deploy its own token-gated, on-chain image collection.