Fees and Discounts
Mirage Garden fees are exposed by the factory and marketplace contracts. The app should show live values near wallet actions because the factory owner can update protocol fees.
Mint fee tiers
BpegFactory.feeFor(minter) returns the mint fee for a wallet.
The factory supports three tiers:
| Wallet holdings | Fee returned |
|---|---|
| No ClankerCats discount qualification | mintFee |
| Holds at least the configured CLKCAT threshold or holds a ClankerCats NFT | discountFee |
| Holds both the configured CLKCAT threshold and a ClankerCats NFT | superDiscountFee |
The deployment script defaults are:
| Fee | Default |
|---|---|
| Standard mint fee | 0.001 ETH |
| Discount fee | 0.0005 ETH |
| Super discount fee | 0.0001 ETH |
| Unlock fee | 0.01 ETH |
These are defaults, not a permanent promise. The active deployed factory exposes setFees.
Discount configuration
The factory's discount config uses:
| Config | Meaning |
|---|---|
clkcat | ERC-20 token checked for the token-holder discount |
clkcatNft | ERC-721 checked for the NFT-holder discount |
clkcatThreshold | Minimum CLKCAT balance required for token-holder discount |
The current app constants point to:
| Contract | Address |
|---|---|
| CLKCAT | 0x84a5637CcAC19250156e582c5bF7C01Eee151b07 |
| ClankerCats NFT | 0xbE76Ce3cE0966fedA606fCF70884dae8FBaa7FCF |
Unlock fee
BpegFactory.unlock(collection) marks a collection as unlocked after the caller pays unlockFee.
Unlocked status affects native marketplace protocol bps:
| Collection status | Marketplace protocol cut |
|---|---|
| Not unlocked | freeProtocolBps, default 5% |
| Unlocked | proProtocolBps, default 3% |
Unlocking is a collection-level status. The contract rejects random/non-bPeg addresses.
Creator royalties
Each bPeg collection stores a creator royalty in basis points. The collection implements EIP-2981 through royaltyInfo(tokenId, salePrice).
Rules:
- The launcher accepts a royalty percentage from 0% to 10%.
- The collection constructor rejects royalties above 10%.
- Marketplace settlement reads EIP-2981 from the collection.
- Mirage Garden protocol fees are separate from creator royalties.
Secondary sale settlement
For native marketplace sales, BpegMarketplace.getFees(collection, tokenId, price) returns:
protocolCutroyaltyCutsellerCut
The marketplace caps royalty payout at 20% during settlement as a seller-protection fallback, even though Mirage-created collections are capped at 10%.