I’m wondering if it’s possible to implement a minting function with the following mechanism:
- 20% chance users will receive 0.1 ETH per mint (subsidized)
- 50% chance free mint
- 30% chance users will need to pay 0.15 ETH per mint. But they will get NFTs with rarer traits as a compensation.
The questions I have are:
- How to implement the feature such that users with paid mints can get NFTs with rarer traits?
- What is the best way to implement randomization?
- Is it possible that this mechanism may be exploited in some manner?
- How many ETH need to kept in the contract to ensure the minting experience is smooth? (i.e. no lack of funds in case users are receiving 0.1 ETH)
Thanks for your help in advance.