Skip to main content

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 holdingsFee returned
No ClankerCats discount qualificationmintFee
Holds at least the configured CLKCAT threshold or holds a ClankerCats NFTdiscountFee
Holds both the configured CLKCAT threshold and a ClankerCats NFTsuperDiscountFee

The deployment script defaults are:

FeeDefault
Standard mint fee0.001 ETH
Discount fee0.0005 ETH
Super discount fee0.0001 ETH
Unlock fee0.01 ETH

These are defaults, not a permanent promise. The active deployed factory exposes setFees.

Discount configuration

The factory's discount config uses:

ConfigMeaning
clkcatERC-20 token checked for the token-holder discount
clkcatNftERC-721 checked for the NFT-holder discount
clkcatThresholdMinimum CLKCAT balance required for token-holder discount

The current app constants point to:

ContractAddress
CLKCAT0x84a5637CcAC19250156e582c5bF7C01Eee151b07
ClankerCats NFT0xbE76Ce3cE0966fedA606fCF70884dae8FBaa7FCF

Unlock fee

BpegFactory.unlock(collection) marks a collection as unlocked after the caller pays unlockFee.

Unlocked status affects native marketplace protocol bps:

Collection statusMarketplace protocol cut
Not unlockedfreeProtocolBps, default 5%
UnlockedproProtocolBps, 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:

  • protocolCut
  • royaltyCut
  • sellerCut

The marketplace caps royalty payout at 20% during settlement as a seller-protection fallback, even though Mirage-created collections are capped at 10%.