Sam Sends

Posted on May 26, 2022Read on Mirror.xyz

Equilibrium Auctions

Abstract

Correctly pricing an NFT mint is difficult. Like any economic system, there exists a delicate balance between supply, demand, and price. Equilibrium Auctions are an attempt at dynamically changing price with demand. You can think of these auctions like a generalization of Gradual Dutch Auctions or a hybrid between a bonding curve and a dutch auction.

Mechanism

Equilibrium Auctions have two functions. A time decay and a mint increase function. These two operations act in opposition from one another to find an equilibrium between price and demand.

Time Decay Function

The time decay function impacts price with an input of time. The longer it has been since a mint, the lower the price. The decay function can be any function that takes time as an input. You may choose a linear decay function which places no resistance on price, OR someone could opt for an exponential decay function which is closer to do the original GDA and places a lower limit on price.

t = time

Mint Increase Function

The mint increase function positively impacts price with each subsequent mint. Every time someone mints a new NFT, the price increases. This function operates very much like a bonding curve, as outstanding supply increases – price increases. Once again these functions can be arbitrarily set but as a general guideline, linear places no resistance whereas an exponential decay (in increasing form) would set an upper limit on price.

m = mints

Outcome

The price graph would look something like this where you have price changes in response to demand over time.

~stylized~

For any economic system, there exists an optimal price. What’s cool about this mechanism is that it the two opposing functions work to keep price in that optimal window without explicitly knowing that price beforehand.

optimal price band

Acknowledgements

Design of this mechanism was heavily inspired by liquidity bootstrapping pools specifically copper finances mechanism. Along with conversations with the giga-brains Dan Elitzer, and Will Price.

Reference Implementation

https://github.com/GlassProtocol/oscillator