Onchain Atlas

Gradual Dutch Auction

A pricing formula that continuously raises or lowers an asset's price to keep sales on a target schedule, so a stream of new items (not just a single sale) can be issued at a fair, self-adjusting price.

Also called: VRGDA · variable rate gradual dutch auction · continuous dutch auction

What it is

A gradual Dutch auction (GDA), and its refinement VRGDA (variable rate gradual Dutch auction), extends the classic descending-price Dutch auction idea to an ongoing stream of issuance rather than a single one-time sale. Instead of one item whose price falls until it sells, the mechanism continuously issues a whole series of items — think NFTs minted one at a time over weeks — while a pricing formula automatically raises the price when sales run ahead of a target pace and lowers it when sales lag behind. It's a way to sell a continuous supply at close to its true market-clearing price without a human ever setting or adjusting the price manually.

How it works

  1. The issuer sets a target issuance schedule — for example, "we expect to sell roughly one item per day" — expressed as a function of time.
  2. The contract also defines a base price and a decay/growth rate, which control how quickly price reacts when actual sales diverge from the target schedule.
  3. At any moment, the current price is computed by comparing actual cumulative sales so far to the number that should have sold by now according to the target schedule.
  4. If sales are running ahead of schedule (more demand than expected), the formula raises the price to slow down buying and avoid selling out too early at too low a price.
  5. If sales are lagging the schedule (less demand than expected), the formula lowers the price, mimicking a classic Dutch auction's decay to attract buyers back to the target pace.
  6. Each individual purchase is a simple on-chain transaction at the currently quoted price — buyers don't wait for a scheduled "auction event," they can buy any time, and the price they see already reflects real-time demand.
  7. Over the full issuance period, this self-correcting mechanism tends to track a price close to what a perfectly informed seller would have set in advance, without anyone needing to forecast demand precisely upfront.

Why designers use it

  • Lets an issuer sell a continuous or open-ended supply (not just a single lot) while still getting Dutch-auction-style market-driven pricing.
  • Removes the guesswork of setting a single fixed mint price for a long-running sale, since the price adapts automatically to real demand.
  • Prevents both failure modes of fixed-price continuous mints: selling out instantly at too low a price, and stalling because the price is too high.
  • Provides a transparent, deterministic, auditable pricing rule that buyers can model and reason about, rather than an opaque or manually adjusted price.

Failure modes

  • If the target issuance schedule is badly mis-calibrated relative to real demand, the price can swing to extremes (very high or near-zero) for extended periods before correcting.
  • Sophisticated buyers can model the exact formula and time their purchases to moments of local underpricing, capturing more value than buyers who purchase based on need rather than formula-timing.
  • Because price depends on cumulative sales-to-date, a single large burst of buying (or a bot sweep) can spike the price for everyone else shortly after, even if underlying demand hasn't structurally changed.
  • Overly aggressive growth/decay rate parameters make the price swing so sharply that it becomes hard for ordinary buyers to predict what they'll actually pay from one moment to the next.
  • If the underlying asset's true demand curve shifts permanently (not just noise around the schedule), a static target schedule set at launch can become stale and require a redeploy or governance update.

What to check before using it

  • Base the target issuance schedule on the best available demand research, not an arbitrary round number, since the whole mechanism's accuracy depends on it.
  • Model how the price responds to a burst of bot or whale buying in a short window, and whether that's an acceptable outcome for your launch.
  • Choose growth/decay rate parameters conservatively at first — a schedule you can tune is safer than one that swings to extremes on day one.
  • Decide whether the schedule and parameters can be updated post-launch if real demand diverges structurally from the initial assumption, and who controls that.
  • Communicate the pricing logic clearly to buyers up front; because price changes with real-time sales, buyers need to understand it's not a bug when the price differs from what they saw minutes earlier.

Experiments that used it · 2

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
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