Onchain Atlas

Dutch Auction

The price starts high and falls over time until a buyer accepts it, letting the market — not the seller — discover the true clearing price.

Also called: descending-price auction · declining-price auction

What it is

A Dutch auction is a sale mechanism where the price starts artificially high and decreases continuously (or in steps) over time until a buyer is willing to pay the current price, at which point the sale executes at that price. It's the inverse of a typical English auction where bidders raise the price — here the price falls until demand meets it.

How it works

  1. The seller sets a starting price (deliberately above expected fair value), a floor price (the minimum it will ever fall to), and a decay schedule — either continuous or stepped, over a fixed duration.
  2. The auction begins at the high starting price; no rational buyer purchases immediately unless they urgently want first-mover priority or believe the price will fall more slowly than others expect.
  3. As time passes, the smart contract lowers the quoted price according to the pre-set curve.
  4. The first buyer(s) willing to transact lock in the price at the moment they submit their transaction; if oversubscribed at a given block, some designs process orders in submission order while others use the closing price as the clearing price for everyone in the same block.
  5. Buyers face a real strategic trade-off: wait for a lower price and risk someone else buying first (or the item selling out), or buy early and risk overpaying relative to where the price will settle.
  6. The auction ends either when the floor price is reached, the supply sells out, or a fixed time elapses — whichever happens first.
  7. Variants like VRGDA (Variable Rate Gradual Dutch Auction) tie the decay rate to a target issuance schedule, speeding up or slowing down price decline based on whether sales are running ahead of or behind a target pace, which is especially useful for continuously-minted (rather than fixed-supply) NFT drops.

Why designers use it

  • Removes the need for the seller to guess the "right" price in advance — the market finds it through real-time buyer behavior.
  • Eliminates the "gas war" / bot-sniping problem of fixed-price mints, where the first transaction in a block wins regardless of willingness to pay, because a falling price naturally spreads out buyer timing.
  • Extracts more value than a fixed underpriced sale would, since early urgent buyers pay a premium while the price still discovers a fair level for patient buyers.
  • Provides predictable, transparent price mechanics that buyers can strategize around openly, rather than opaque allowlists or first-come-first-served scrambles.

Failure modes

  • Bots with faster infrastructure or MEV (miner/validator-extractable-value) access can still front-run human bidders by monitoring the price curve and submitting transactions at the optimal instant, reintroducing the "who's fastest" problem the auction was meant to avoid.
  • If the starting price is set unrealistically high relative to true demand, the auction can spend most of its duration at prices no one will pay, wasting time and creating a poor user experience.
  • Coordination/collusion among sophisticated buyers to wait out the auction can suppress the clearing price below what genuine demand would support.
  • Gas-price volatility on the underlying chain can distort effective cost — a "cheap" quoted price can still be expensive to execute if network congestion spikes at the same moment many buyers try to transact.
  • Poorly tuned decay curves (too steep or too shallow) either sell out instantly at a high price, defeating price discovery, or drag on so long that buyer interest evaporates.

What to check before using it

  • Model expected demand carefully to set a starting price and decay rate that will actually clear across a meaningful range, not just at the extremes.
  • Decide how simultaneous transactions within the same price tick or block will be resolved (first-in, pro-rata, or uniform clearing price) and make it explicit up front.
  • Consider whether a continuous or stepped price curve better fits your item's granularity and your buyers' technical sophistication.
  • If issuance is ongoing rather than fixed-supply, consider a demand-responsive variant (like VRGDA) instead of a fixed decay schedule.
  • Test the mechanism under realistic network congestion and gas-price conditions, not just an idle testnet, since real usage will be bursty around the launch moment.

Experiments that used it · 5

Shown oldest first, so you can watch the design evolve.

Dutch Auctions
A descending-price auction mechanism ported onchain — pioneered at scale by Gnosis's 2017 token sale and DutchX exchange, and later refined into gas-efficient Gradual Dutch Auctions — used for permissionless price discovery of tokens and NFTs.
2017 major success
Art Blocks
A platform where generative art scripts live on-chain and each mint deterministically renders a unique output from the transaction's token hash.
2020 major success
MakerDAO Liquidations 2.0
MakerDAO's post-Black-Thursday redesign of its collateral liquidation engine, replacing capital-locking English auctions with flash-loan-composable Dutch auctions (MIP45) that settled $41M of debt nearly losslessly in the May 2021 crash.
2021 major success
Sushi MISO
SushiSwap's open-source token-launchpad suite (crowdsale, Dutch, and batch auctions) that raised ~$340M for BitDAO, survived a whitehat-averted $350M bug, suffered a $3M frontend supply-chain hack, and was sunset in early 2023 for lack of resources.
2021 technically successful commercially unsuccessful
VRGDA (Gradual Dutch Auctions)
A Paradigm-designed token/NFT issuance primitive that sells assets on a predefined schedule by algorithmically raising prices when sales run ahead of schedule and lowering them when sales lag.
2022 partial success