Crypto Newbie

Crypto Newbie / Simulators / NFT Mint

NFT Mint Dutch Auction Simulator

When a 10,000-supply NFT project does a fixed-price 'open mint', the result is a gas war that costs buyers $50-500 each in failed transactions and rewards the FASTEST bot, not the highest bidder. Dutch auctions solve this: start the price HIGH (say 5 ETH), drop linearly toward a floor (0.1 ETH) over a few hours. Every buyer pays the highest price they're willing to pay; the project captures more revenue than a fixed price; gas wars don't exist because the price-discovery mechanism is the bid. This simulator runs the math.

Mint config

Buyer pool

BuyerTypeWillingness-to-pay (ETH)Attempt minute
AL-1Allowlist
AL-2Allowlist
AL-3Allowlist
AL-4Allowlist
AL-5Allowlist
P-APublic
P-BPublic
P-CPublic
P-DPublic
P-EPublic
P-FPublic
P-GPublic

Auction results

Total minted

4 / 15

Total revenue (ETH)

0.1200 ETH

Average mint price

0.0300 ETH

Clearing price (last public mint)

Public mint not started or no fills

Capture vs. max-revenue theoretical

1.2%

Per-buyer outcomes

BuyerTypeTime (min)PriceStatus
AL-1Allowlist00.0300 ETH✓ Minted
AL-2Allowlist00.0300 ETH✓ Minted
AL-3Allowlist00.0300 ETH✓ Minted
AL-4Allowlist00.0300 ETH✓ Minted
AL-5Allowlist00.0300 ETH✗ Price too high
P-APublic20.9683 ETH✗ Price too high
P-BPublic80.8733 ETH✗ Price too high
P-CPublic150.7625 ETH✗ Price too high
P-DPublic250.6042 ETH✗ Price too high
P-EPublic350.4458 ETH✗ Price too high
P-FPublic450.2875 ETH✗ Price too high
P-GPublic500.2083 ETH✗ Price too high

Why Dutch beats fixed-price open mints

Fixed-price open mints invite gas wars. With a 10k supply at 0.1 ETH each, if demand is 50k, the marginal buyer pays MORE in gas than the mint price to even attempt. Bots win because they pay 10x gas; humans miss out. Project captures 10k × 0.1 ETH = 1,000 ETH revenue but burns ~$2M in failed-tx gas across the community. Dutch auction: start at 1 ETH, drop to 0.1 ETH over an hour. First buyers willing to pay 1 ETH get in; less willing wait for price to drop. Project captures up to 10× more revenue (the area under the demand curve); buyers self-sort by willingness; no gas wars.

Allowlist economics

Allowlist (whitelist) provides community access at a discount BEFORE public mint. Typical setup: 10-30% of supply at a fixed lower price (say 50% of Dutch start). Pros: rewards early supporters, builds community pre-launch. Cons: AL spots become tradeable on secondary markets (Premint, etc.), so AL itself becomes a speculation. Modern projects use SNAPSHOT-based allowlists (snapshot of users who held a previous NFT/token) to prevent farming.

The decay curve choice

LINEAR decay drops at constant rate per minute. Predictable, easy to reason about. EXPONENTIAL decay drops faster at the start, slower at the end. Captures more revenue from impatient whales while still letting later buyers benefit from low prices. Most modern projects use linear because it's easier to communicate ('halves every 30 min'). Yuga's Otherside used a fixed price open mint and broke Ethereum — projects learned from that example and now mostly use Dutch.

Common failure modes

(1) START TOO LOW — buyers wait, demand is insufficient, project under-captures. (2) END TOO HIGH — public mint never clears, leftover supply hurts secondary market dynamics. (3) DURATION TOO SHORT — buyers don't have time to evaluate, panic-mint at high prices. (4) ALLOWLIST TOO LARGE — public mint gets minimal supply, no real price discovery. The simulator above lets you stress-test these — try different configs against the same buyer pool to see what optimises revenue + community satisfaction.

Frequently asked questions

+Why don't all projects use Dutch auctions?

Three reasons: (1) Marketing complexity — explaining 'price drops over time' to retail is harder than 'mint price is 0.1 ETH'. (2) Whale resistance — whales LIKE gas wars because their capital advantage wins; Dutch auctions neutralize this. (3) Some founders genuinely don't understand the economics. The best-managed projects (Azuki, Pudgy, Doodles) use Dutch; the worst-managed (random rug Gen-Z mints) use fixed price.

+What if everyone waits for the floor price?

Game theory says some buyers will defect: 'if I wait, supply might sell out before reaching floor'. So the price stays well above floor most of the time. The 'clearing price' (where last public mint happens) is usually 30-70% of start, not at the floor. Try the simulator with different buyer willingness distributions to see this dynamic.

+Can I prevent bots from beating humans in Dutch?

Less critical than fixed-price because bot speed advantage matters less when the price-discovery mechanism is the bid not the gas fee. But yes, projects can: require Sybil-resistant signatures (Allowlist via NFT holdings), use Optimism's permission-less Bedrock for cheaper gas (reduces bot advantage), use Sumer for sub-second commits. Most projects don't bother because Dutch already mostly fixes the problem.

+What's the difference between Dutch and English auctions?

English: prices go UP as buyers bid against each other. Last bid wins. Used in Sotheby's, eBay. Dutch: prices go DOWN over time. First buyer who clicks gets it. Used in flower markets, NFT mints. For supply > 1 unit, Dutch is much faster (each buyer makes a binary decision; no bid-counter-bid loops) and captures more revenue from heterogeneous buyer preferences.

+Why does the simulator show partial revenue capture sometimes?

Because some buyers' willingness-to-pay is BELOW the price at their attempt minute. In a real Dutch, those buyers would wait for price to drop. The simulator assumes each buyer attempts at a FIXED minute (you set it). To model 'wait until price drops', set willingness-to-pay LOW and attempt minute LATE. Real auctions involve buyers timing entry; the simulator captures the static slice of that complex dynamic.