If an idea is true, criticism will not destroy it, but strengthen it.
There was a lot of social contagion on the timeline last month about uncollateralized stablecoins. Hello to the mob in advance.
Beanstalk is a decentralized, credit based stablecoin protocol that does not depend on any form of collateral, endogenous or exogenous. If you aren't familiar with Beanstalk, here's a comprehensive guide.
We saw the reflexive mechanisms of Terra that exacerbate bank runs play out in May. The following is an analysis of Beanstalk's anti-reflexive mechanisms that makes participating in a bank run once it has started inefficient behavior.
Let's dig in.
Terra was a proof-of-stake blockchain that natively offered a stablecoin called UST, collateralized by an endogenous asset known as LUNA. LUNA was the staking asset for the Terra blockchain. Last month, at around 18B in supply, UST depegged for the final time. With that came the collapse of LUNA, the Terra blockchain, and the subsequent erasure of about $60B of value over the course of a few days.
Terra had a burn and mint model. The concept is that at any point you can take 1 UST and burn it to mint $1 worth of LUNA and vice versa. If UST is worth $0.99, I should be able to redeem my UST for $1 of LUNA and pocket the difference, arbitraging the price in the process. But there are two huge caveats here—(1) in reality, there was a throttle on how much UST could be redeemed for LUNA in a given period, and (2) the model assumes there will be a bid for LUNA at a given price.
(1) When the threshold for how much UST can be redeemed for LUNA in a given period was reached, UST holders were met with 2 options: either wait until UST can be redeemed again and face the prospect of competing with bots to do so, or sell your UST at a discount. As the depegging dragged on, the latter option became more and more attractive. To this day, there's still >10B UST supply (now UST Classic, worth less than a cent each) because of how little UST got redeemed per the burn and mint mechanism.
(2) An implicit assumption of this implementation of the burn and mint model is that there will be a bid for LUNA at a given price. But bids were few and far between because everyone knew the supply was in the process of hyperinflating. Due to the throttle limit from (1), there was an overhang of UST and LUNA supply that made catching the knife during this collapse an inefficient action: why buy LUNA now when you can wait for the supply overhang to be sold and buy at a lower price? The bid for the collateral backing the system disappears at the exact same time that the system needs a bid for the collateral most.
The growth of UST was almost entirely fueled by the Anchor protocol. Anchor was a money market protocol where most of the UST supply was parked, which offered a subsidized 20% fixed-yield for lending UST and thereby enabled significant leverage to accumulate in the Terra ecosystem. Anchor depositors had an expectation that UST peg maintenance worked because it had, for the most part, worked well historically. However, peg maintenance was largely dominated by a few market participants (translation: not very decentralized), such that when UST depegged, there was an expectation that the powers that be would repeg it. When that failed to transpire, it created a major bank run that once started, swiftly led to the complete unwinding of the system.
By offering a fixed 20% yield for lending UST, Anchor just maximized the UST supply that had no real use. Anchor exacerbated the magnitude of the bank run due to all the inorganic demand it had created. However, the unwinding of inorganic demand for UST created by Anchor merely shined a very bright light on the lack of anti-reflexivity in the mint and burn stablecoin model.
The starting point for Beanstalk is that bank runs are not preventable. A prudent goal would be to create a system that limits the extent of bank runs and makes it inefficient to participate in them, i.e., a system that is anti-reflexive. There are 3 primary mechanisms by which Beanstalk discourages participation in bank runs and requires inefficient behavior for them to fully play out. If people want to sell Beans en masse at P < 1, so be it. But there are ever more attractive ways to earn yield for those who stick around.
In a burn and mint system, all the upside in holding the currency goes to the speculators (like LUNA holders), with minimal protocol-native utility for holding the stablecoin itself. Bean is the only stablecoin that pays you to hold it.
Anchor protocol had no stickiness whatsoever, and there was no incentive to stay during a depegging event. When conditions got shaky, the efficient behavior was to withdraw, dump, and get out the door before everyone else.
Beanstalk uses the Stalk system to create a stickiness for deposits that gets stickier during bank runs. You receive Stalk and Seeds for depositing whitelisted assets in the Silo. Just for holding Beans or LP tokens that Beans trade in and depositing them in the Silo, you receive Stalk which entitles you to earn Bean seigniorage. Seeds yield more Stalk over time. Upon withdrawal from the Silo, you must forfeit all Stalk, Seeds, and Stalk from Seeds associated with a deposit. The requirement to forfeit Stalk that has grown from Seeds over time creates an opportunity cost to leave the Silo. Other people leaving the Silo also increases the opportunity cost of leaving (rather than the opposite) because the amount of Stalk from Seeds that any individual has relative to the total goes up as other people withdraw and forfeit their Stalk from Seeds. This contributes to Bean’s price anti-reflexivity.
If there was some sort of incentive in Anchor to stick around, perhaps we wouldn't have seen so much capital flight, but it's unclear if that would have made a difference in the end given all the other problems with UST. Like UST, the Bean supply can grow infinitely large, but it's important that the growth is organic and doesn't grow too fast.
The most underdiscussed part of UST is that it did not have any natural mechanism to scale liquidity with supply expansions. For a non-exogenously collateralized stablecoin, the ability to trade it against another asset is what gives it any value in practice.
Convert is a powerful tool in Beanstalk to scale liquidity as supply grows and prevent bank runs from ever starting in the first place. Even though the Bean supply was rapidly expanding pre-exploit, liquidity was growing even faster. The system gets more liquid as it grows, which is an important proof of concept for longer term sustainability.
Through Convert, Beanstalk pays Stalk holders to grow liquidity for Beans at the expense of additional Bean mints when Beans are trading above a dollar (P > 1) by converting deposited Beans into deposited LP. This is an explicit tradeoff for sustainability over yield, as Bean seigniorage is the source of yield. Similarly, when Beans are trading below a dollar (P < 1), depositors can Convert their LP to Beans, removing excess Beans from the pool and returning the price to peg.
As an example, consider a situation where you have 10B Beans trading against $10B of non-Beans, and 2B Beans are sold on the market. Due to Convert, Beanstalk can incentivize a new equilibrium at peg, with 2B Beans deposited in the Silo and 8B Beans trading against 8B of liquidity.
Once Stalk is liquid and trading against a non-Beanstalk-native asset like ETH, it would even be possible to have more liquidity in the system than there are Beans to sell, and further increase overall stickiness of Silo deposits (if you sell your Stalk, you cannot withdraw until you buy it back).
In practice, Convert is the ability for every depositor in the Silo to participate in peg maintenance and maximize their yield in doing so. Notably, Anchor depositors could not do this. Deposits in Anchor provided no economic value and collected dust—it did not help UST peg maintenance and stability whatsoever, did not increase liquidity for UST, and arguably made it much worse once everyone was running for the exit.
Now, of course, as Deposited Beans inevitably start to be withdrawn and dumped on the market, Beanstalk still requires the ability to permanently remove Beans from the supply and return the Bean price to peg. That is when the credit model takes center stage.
Otherwise known as the Field, the decentralized credit facility of Beanstalk.
As the price of Bean decreases, your real rate of return for lending Beans to the protocol increases exponentially as the Temperature (interest rate) is denominated in Beans. For example, if the Temperature is 500% and the price is at $0.25 (a price from which Beanstalk has recovered before), your real rate of return would be 24x rather than 6x.
Debt is repaid to lenders on a First In First Out (FIFO) basis. The importance of the FIFO payment schedule cannot be overstated. This type of non-fungible debt makes it such that when you believe the conditions are sufficient to lend to Beanstalk (the price, interest rate, debt level, etc), you are incentivized to do so immediately, otherwise someone will get in line in front of you. In Terra, the incentive is to wait to catch the knife until the LUNA price stops dropping—a tragedy of the commons problem that should be avoided at all costs.
In other words, in Beanstalk, it gets more and more attractive to catch the knife on the way down (and do so immediately). Terra certainly might want you to buy LUNA on the way down, but it's inefficient behavior (translation: a bad trade) knowing that the LUNA supply is hyperinflating and there remains a UST supply overhang. At one point during the crash the supply of LUNA was doubling every ~20 minutes—good luck finding someone to buy that dip.
In Terra, the efficient actor has to wait. In Beanstalk, the efficient actor has to act.
It's worth clarifying—Beanstalk is not designed for Beans to always be worth a dollar and makes no such guarantee. Beanstalk is not in the business of keeping the price as close to a dollar as possible, and I would argue that in general, that isn't a meaningful indicator of what makes a stablecoin sound in the first place (UST was very stable until it wasn't; paid market makers only go so far).
Beanstalk is instead designed to oscillate the price of Bean above and below a dollar as often as possible. A subtle but important difference. There is never any guarantee that the system is 100% safe. Beanstalk makes no promises about stability. Beanstalk will almost certainly have large deviations from its peg in the future, and it welcomes volatility by design—in comparison, the kiss of death for UST seemed to be around 95-97 cents. Beanstalk has returned from multiple dips below 90 cents, and from two dips below 50 cents.
There was some commentary on CT last month that people who build uncollateralized stablecoins are literally insane or grifters. Most people in crypto aren't against experimentation, but I think these opinions were formed largely because of how Terra was marketed. Baseball stadium branding, Anchor being called Better Savings™, etc. Retail almost certainly did not understand the risks, particularly when participating through YC-funded Anchor frontend neobanks. After sound economic design, education about the risks might be the most important thing for a stablecoin protocol. You'll quickly notice that education is a core tenet of the Beanstalk community if you hop in the Discord.
It was always strange that all the money was being made by the participants performing peg maintenance in size, or holding LUNA, while the majority of the UST supply was sitting in Anchor collecting dust. The presence of additional centralized reserves to "defend the peg" (I blow air out my nose every time I see that phrase) defeats the purpose of calling a stablecoin decentralized, as well as the benefits of moving away from exogenous collateral. Unlike Terra, Beanstalk grows more antifragile as the Bean supply grows and contracts, and everyone can participate in peg maintenance. With UST, supply growth simply made the collapse more dramatic.
Beanstalk is more resilient over the long term—Bean holders can participate in peg maintenance, liquidity scales with supply, credit history improves, etc. The more "depeggings" it recovers from, the more that interested capital believes that arbitraging the price is a good trade. If you want to run for the exit, that's ok, and Beanstalk offers all sorts of incentives to the people staying to maximize the amount that those who leave in a panic pay those who stick around.
The primary way Beanstalk fails is if it is unable to attract lenders. As of today, Beanstalk has been offline for more than 2 months post-exploit, and has attracted >$10M from lenders (about 1/3 of the capital that has ever been lent to Beanstalk) at a fraction of the pre-exploit interest rate, all while the incentive is to wait until right before the relaunch to participate in the recapitalization. It is no exaggeration to say that Beanstalk's debt is, at the moment, an attractive commodity.
There seems to be massive cognitive dissonance in DeFi right now. The current narrative is that it's not okay to attempt an uncollateralized stablecoin, but it is okay to build an explicitly centralized stablecoin collateralized by fiat, in which any account can be frozen or transaction reversed, and all redemptions KYC'd.
Because of the nature of Beanstalk, wherein it works until it doesn't, fudders have a built-in role. But even the informed fudders would concede that were an uncollateralized stablecoin possible, it would be hugely impactful. So the ultimate question is, what is good enough? We'll never know for certain, but I'll be watching the Seasons ticker.
Feel free to DM me questions on Twitter.
Other Resources on Beanstalk