Case Study - Smart contracts for NFT collection
ERC721 smart contracts for 666 NFT collection with phased minting system and Merkle whitelists.
- Client
- Sons of Evil
- Year
- Service
- Smart contract development
Overview
Successful NFT collections require a fair minting system that rewards the early community while maintaining accessibility. Sons of Evil implements four sale phases with different access levels.
The whitelist system uses Merkle Trees for gas-efficient on-chain verification, allowing thousands of whitelisted addresses without increasing transaction costs.
What we did
- Solidity
- Hardhat
- OpenZeppelin
- Merkle Trees
- ERC721
- ERC2981
- Total NFTs
- 666
- Minting phases
- 4
- ETH per mint
- 0.03
- Per wallet
- 1
Phase system
Each phase has its configurable timestamp: Team Mint reserves 66 NFTs for the team, GTD allows guaranteed minting to the Demon List, FCFS opens the Zurak's List in first-come-first-served mode, and finally Public opens to everyone.
Timestamps are updatable before finalizing the contract, allowing schedule adjustments according to launch needs.
Reveal and metadata
The contract supports dynamic reveal: initially all tokens point to a placeholder, and at reveal time the baseURI is updated to show final metadata stored on IPFS.
ERC2981 royalties allow configuring default and individual token percentages, guaranteeing secondary income on compatible marketplaces.