There’s been a lot of innovation in the Ethereum ecosystem in the last few years. On-chain Automated Market Makers (AMMs) are a big part of that story.
Our goal is to unlock new revenue streams for creators and give them more control over the markets surrounding their work. When we set out to build the markets powering Foundation, we analyzed what’s been done to date on AMMs and took that as inspiration. We then made some key modifications that would allow us to serve the needs of creators first and foremost. This blog post is a primer on those modifications.
In what follows, I assume some basic knowledge of AMMs and the Constant Product Market Maker model (XYK) popularized by Uniswap. If you're not familiar with these concepts, I’ve included some additional reading at the end.
Existing on-chain AMMs enable the easy creation of markets. But, they’re built specifically to encourage ongoing trading with no defined endpoint. Everything about them supports that goal: the way markets are created, the way they behave at boundary conditions, and, perhaps most importantly, their focus on rewarding LPs, who provide liquidity as an investment vehicle and earn fees from activity in the market in return.
In order to repurpose AMMs for redeemable tokens, which is how we talk about markets where creators are selling actual work, we needed a fee structure and overall market experience that rewarded creators. It became clear that we'd have to build our contracts from the ground up. So that’s what we did.
Here’s how these contracts—or, what we call Foundation Markets—specifically address the needs of artists and creators:
Existing XYK AMMs require creators to provide both sides of the market around their work. In other words, not only do they need to invest in whatever they’re selling but they also need to inject the market with capital equal to the total cost of the tokens they mint in order to spin up the market. For XYK AMMs, the constant product k is derived from this initial supply, and subsequent liquidity provided must abide by this ratio. This makes sense if you view market creators primarily as LPs.
We’re doing something different by decoupling the start price from initial liquidity. On existing XYK AMMs, the initial supply on the two sides of the exchange (x and y) set both the initial price relationship of the assets and the constant product k that will be enforced at the current supply. With Foundation Markets, the start price is set separately and explicitly.
When the first token is bought from the market, the Dai paid for it (at the start price) is locked into the market as collateral. As more tokens are purchased, more and more Dai is locked up. That collateral is then used to provide liquidity on subsequent sells.
For example: Let’s say 5 tokens are bought for an average price of $10. At that point, 50 Dai will be locked up and used as liquidity when someone wants to sell a token.
Foundation Markets use a modified constant product function to ensure there's always liquidity on sells. By making the initial price of a token explicit, we allow creators to create markets without providing upfront capital, while letting them set a price floor that makes sense for their work.
In addition to selecting the start price, creators can also set an end price for the last token in the market. In current XYK AMMs, the formula x * y = k means one side of the market approaches infinity as the other side approaches 0. This is exactly what creators don't want. They want to sell out their work, each piece of which is represented by a token in the market. If the price of their tokens approaches infinity, they’ll never sell out (they literally can’t) and therefore neither will the corresponding pieces of work.
Giving them an end price for their markets lets them ensure all tokens can be bought if there is sufficient demand and clears up confusion over how much inventory to create. If they want to sell 100 clocks, they’ll mint 100 tokens. If they want to sell 5,000 sneakers, they’ll mint 5,000 tokens.
Creators can also choose the depth of their pricing curve, which dictates how their markets behave as supply changes. At the minimum curve depth of 0, the price of tokens will be linear as tokens are purchased. At the maximum curve depth of 1, the price will stay close to constant for the majority of tokens being bought and will shoot up to the end price for the last few tokens.
We see the curve depth as a way to help creators drive interest and engage audiences over time by bringing them into a new kind of experience: the market fluctuations surrounding their work.
Fees are distributed to creators directly, not to third-party liquidity providers. On buys, 3% of the Dai received from the buyer is paid out to a smart contract representing the creator before the rest of the collateral goes back into the market to provide liquidity. On sells, 3% of the Dai unlocked from the market is split between the creator and Foundation at 1.5% each, before the rest is paid out to the seller.
Redemptions unlock the rest of the undistributed Dai, following a similar curve to the one dictating buy/sell price for tokens. When the first token is redeemed and removed from the supply, an amount of Dai corresponding to the area under the curve is unlocked and sent to the creator, with 5% paid out to Foundation for enabling the sale.
The buy/sell fees reward creators who create dynamic markets, and the distributions at redemption time incentivizes them to make products their fans want to own. This economic model is ideal for redeemable token markets and the creators who make the work behind them.
Foundation markets provide a powerful way for creators to discover the price of their work, capture a revenue stream typically confined to secondary markets, and invite their audiences into a different way to experience what they make. We're collaborating with a group of creators to continue iterating on new parameters, new curves, and new features. We’ll share what we learn as we go.
Constant Function Market Makers: DeFi’s “Zero to One” Innovation by Dmitriy Berenzon
Let's run on-chain decentralized exchanges the way we run prediction markets by Vitalik Buterin
On Path Independence by Vitalik Buterin
Formal Specification of Constant Product (x × y = k) Market Maker Model and Implementation by Yi Zhang, Xiaohong Chen, and Daejun Park
Bancor’s Smart Tokens vs Token Bonding Curves by Simon de la Rouviere
Bonding Curves In Depth: Intuition & Parametrization by Slava Balasanov