PantheonPANTHEON DOCS
Introduction

Reflexive Dutch Auction

The continuous, self-regulating Dutch auction that prices each Holy Spirit — one per round, with each clearing price setting the next round's ceiling.

The Reflexive Dutch Auction (RDA) is the pricing primitive behind the Holy Spirit mint. Each Holy Spirit is the right to summon one unclaimed deity. The RDA sells them one per round, continuously, in native $M, with one distinctive twist: the clearing price of each round directly sets the ceiling of the next. Demand raises the ceiling, patience resets it. The mechanism finds its own equilibrium without a preset schedule.

what if I told you the auction prices itself

One round at a time

Each round is a standalone Dutch auction:

  • Price starts at a ceiling Hr and decays toward a floor Lr over a fixed duration.
  • The decay curve is quadratic, not linear — price drops fast early, then flattens near the floor.
  • Exactly one Holy Spirit is available per round.
  • The first buyer who pays the current price wins and mints. The next round starts immediately, with no gap or cooldown.

The price curve

Within a round, the price at time t since round start follows:

ti = elapsed / duration      (clamped to [0, 1])
Pr(t) = Lr + (Hr − Lr) · (1 − ti)²

At t=0 the price is the ceiling Hr. At t=duration it's the floor Lr. The quadratic shape front-loads the decay: the first half of the round covers ~75% of the drop from ceiling to floor, and the second half handles the final ~25%. This gives eager buyers a strong reason to act early, and patient buyers a long, flat tail near the floor.

spongebob a few moments later

The reflexivity — what makes it different

After each successful purchase at clearing price Pr, the next round's parameters are:

H(r+1) = Hi + Pr − Li
L(r+1) = Li    (constant)

where Hi and Li are the initial ceiling and floor set at deploy. The floor never moves. The ceiling is whatever the previous round cleared at, offset by Hi − Li.

What this means in practice

If the last round cleared…Next round's ceiling…
At the floor (Pr = Li) — patient buyerResets to Hi. No escalation.
At the ceiling (Pr = Hr) — instant purchaseJumps to Hi + Hr − Li. Significant escalation.
Somewhere in betweenRises proportionally to how early it cleared.

The mechanism is self-stabilizing. If the market's reservation value is v, buyers converge on buying when Pr ≈ v, and the ceiling settles around Hi + (v − Li). When demand cools, clearing prices drop toward Li and the ceiling reverts toward Hi. No manual tuning required.

wait it's all reflexivity? always has been

Launch parameters

At deploy, the auction is configured as:

ParameterSymbolValue
Initial ceilingHi69 $M
Initial floorLi6.9 $M
Round duration6.9 hours
Unit sold per round1 Holy Spirit
Payment assetNative $M (MemeCore)

Reading the numbers

  • Cold-start round: opens at 69 $M, decays over 6.9 hours toward 6.9 $M.
  • Post-cold-start floor of the ceiling: no round ever starts below 69 $M unless the parameters are changed by governance.
  • Clearing at the floor (6.9 $M): the next round resets to the cold-start ceiling. No escalation.
  • Clearing at the ceiling (69 $M): the next round's ceiling jumps to 69 + 69 − 6.9 = 131.1 $M.
  • Clearing in the middle — say 20 $M: next ceiling = 69 + 20 − 6.9 = 82.1 $M.

The ceiling encodes recent demand; the floor is a permanent backstop.

zach galifianakis calculating equations

Lifecycle

Deploy

The extension is deployed with the launch parameters and wired to the Holy Spirit token. No rounds are live yet.

Start

Anyone can call startAuction() once. This begins round 1 at the ceiling Hi = 69 $M and starts the clock.

Purchase

A buyer sends enough native $M to cover the current round price. The contract mints 1 Holy Spirit to them, refunds any excess $M, and forwards the required payment to the DAO treasury.

Chain

Immediately after each purchase, the next round starts with the updated ceiling. There is no gap, no cooldown, no manual trigger — the auction runs as a continuous stream of back-to-back rounds.

Why not VRGDA?

VRGDA (Variable Rate Gradual Dutch Auction) is the closest well-known relative. Both are continuous, both react to demand. The difference is the signal each one listens to:

  • VRGDA compares actual sales to a target issuance schedule. Ahead of schedule → price up, behind → price down. It's the right tool when you know how much you want to sell by when.
  • RDA has no schedule. It reacts to where in the price curve the last sale cleared. It's the right tool when issuance should be fully emergent and the only thing that matters is market willingness-to-pay.

For the Holy Spirit mint, we don't want to commit to a fixed issuance schedule. The RDA lets the market set both the pace and the price without a hard-coded pacing target.

sweating guy choosing between VRGDA and RDA

Safety properties

  • Reentrancy-guarded. Each purchase uses a mutex around mint, refund, and treasury transfer.
  • Pausable. The host owner can halt purchases in emergencies.
  • Refund-on-overpay. Any $M sent above the current price is returned to the buyer in the same transaction.
  • Floor is permanent. Li never changes across rounds; the ceiling can't ratchet below Hi.

At a glance

One Holy Spirit per round. Quadratic decay from Hr to Li over 6.9 hours. Next Hr = Hi + Pr − Li. Launch values: Hi = 69 $M, Li = 6.9 $M. Paid in native $M. No schedule, no RNG — just a self-regulating price signal.

this is the way

On this page