All Guides
NFTsNFTMinting

NFT Minting: Allowlists, Public Sales, and Dutch Auctions

The mechanics of NFT mint events — allowlist (whitelist) systems, Dutch auctions, free claims, and the smart contract patterns behind each.

Updated April 17, 2026 8 min read

The NFT mint event is one of the highest-stakes moments in a project's lifecycle. A poorly designed mint can result in gas wars, bot captures, and community backlash. The smart contract pattern you choose significantly affects the outcome.

Allowlist (Whitelist) Minting

The most common mint mechanism. Users are placed on an allowlist that grants them priority access to mint before the public. The contract verifies allowlist membership using a Merkle tree: the allowlist is hashed off-chain, the Merkle root is stored on-chain, and users submit Merkle proofs to verify inclusion. Efficient and cheap — no on-chain list storage required.

Allowlist minting typically runs for 24–48 hours before public mint. Allowlist spots are usually non-transferable in the contract. Common pattern: limit to 1–2 mints per allowlisted address to prevent single-user hoarding.

Public Mint with Fixed Price

Anyone can mint by paying the fixed price. Simple to implement; risks include gas wars (everyone trying to mint at the same block) and bot capture (bots can buy hundreds of tokens instantly). Mitigations: per-address mint limits, anti-bot checks (ERC-721A for batching efficiency, bot detection on the frontend).

Dutch Auction

Price starts high and decreases over time (e.g., from 2 ETH to 0.1 ETH over 60 minutes). Buyers can mint at any point at the current price. Remaining tokens after auction end settle at the final price. This reduces gas wars (price-sensitive buyers wait) and lets the market determine fair value. Settlement refunds are common (everyone who minted above the final price gets the difference back).

Implementation: price decreases via a simple formula (startPrice - decrement * elapsed), usually stored as a function rather than stored state. Settlement refunds require careful reentrancy protection.

Free Claim / Airdrop

Tokens distributed for free — either to existing holders of another collection (cross-collection airdrop) or to community members. Gas-free minting (where the project sponsors gas) uses account abstraction or a relay. Standard free claims still require user-paid gas for the mint transaction. Merkle tree allowlists work for free claims too — just verify proof and mint without payment.

Randomization and Reveal

Sequential minting (token IDs assigned in mint order) allows anyone to identify rare traits before the reveal — they can specifically avoid or target certain IDs. Randomization via Chainlink VRF shuffles token ID assignment, ensuring no one knows which traits they'll get until after the reveal. The reveal pattern: mint assigns sequential IDs, a VRF call sets a random offset after mint closes, traits map to (id + offset) % totalSupply.

ERC-721A

ERC-721A (Azuki) dramatically reduces gas for batch minting by treating consecutive IDs as a range rather than individual slots. Minting 10 tokens costs similar gas to minting 1 with standard ERC-721. Downside: transfers are slightly more expensive for subsequent buyers. For large mints (50,000+ supply, batch-incentivized mint events), ERC-721A is standard.

Ready to build your Web3 project?

Tell us about your project and get a precise quote.

Get a Project Quote