Beanstalk vs. Every Other Stablcoin
How is Beanstalk different from UST, ESD, Basis, etc?
Beanstalk vs. Frax
FRAX is backed by USDC. The mechanism has a fluctuating collateralization ratio that tends to hover around 85%, meaning that you can redeem 1 FRAX for 0.85 USDC and $0.15 of FXS. This USDC-backing makes FRAX fundamentally centralized—the operators of USDC can blacklist the contracts that hold collateral at any time, for any reason. Beanstalk uses the USDC:ETH Uniswap pool as an oracle. This means that in order for the operators of USDC to censor Beanstalk, they would have to blacklist the USDC:ETH pool, destroying the value proposition of USDC. And if even they were to do so, the DAO could vote on a BIP to set the oracle to a different pool the next day.
In addition, unlike Beanstalk, $FRAX has a hard-coded requirement to increase the collateralization ratio under certain conditions. It’s possible that a short-term run on the bank is actually exacerbated by the increased collateral requirements of the protocol. This type of rule tends to make negative feedback loops larger and more painful. They got the bootstrap right (100% collateralized), but we do not see the FRAX model as sustainable for a sophisticated financial ecosystem to be built on top of it.
Here’s how the bank run scenario might play out:
The collateralization ratio is how much $USDC they need to hold compared to $FXS as collateral. The higher the collateralization ratio, the more $USDC is required to mint new $FRAX. When the collateralization ratio goes up, the protocol has to acquire $USDC (by selling $FXS). Given that $FXS is the thing ultimately underpinning the system, forcing yourself to sell $FXS at the exact time the rest of the market is also doing so is how you create a much bigger problem than you originally had. In short, the protocol forces itself to become a seller at the worst time possible!
Regardless though, any collateralization ratio is going to limit the scalability of a stablecoin. Beanstalk has no collateral and is entirely credit-based.
Beanstalk vs. Terra Luna (UST)
There is a fixed 0.1% fee to go from UST <--> LUNA, which a) is a tax on every UST user and b) is probably the reason UST doesn't regularly oscillate over $1, but instead usually hovers somewhere slightly above $1.
Another distinction is that Beanstalk offers a competitive interest rate natively within the protocol, whereas in UST it is layered on top in the form of Anchor protocol. The primary "problem" with UST is that it is not Ethereum based, so it is not suitable to become the primary stablecoin for the Ethereum DeFi ecosystem.
While you can bridge UST onto Ethereum, the sanctity of UST is reliant on the Terra blockchain, not Ethereum. From a risk perspective, this makes UST being adopted as the ubuiquitous currency of DeFi almost impossible.
You could make the argument it is better to have the relationship work in the direction of UST (LUNA --> UST) than in Beanstalk (BEAN --> Stalk/Seeds), but this is very difficult to do in an economically sound way on Ethereum. In order to prevent the negative feedback loop in that type of structure, there needs to be utility for using LUNA. Given the volatile nature of such an asset, this is much easier to do as the main currency of an independent blockchain, and less simple to do in the case of a protocol built on another chain. So in exchange for a debatably better model, you comprimise utility in the form of security/decentralization. One thing we didn't touch on is the system works because the price oracles are the same entities as the blockchain miners. This is only possible as they are their own chain, which as discussed above has its own positives and negatives
On the economics front, the ability to exchange UST <--> LUNA at any time creates an eloquent way to retain UST at its peg, even during large swings in supply/demand for UST. UST doesn't eliminate the risk of a bank run - neither does Beanstalk - where large outflows from UST into LUNA and from LUNA into any other currency can create a cascade effect, because the main backing of UST is the value of LUNA.
In the case of UST, a bank run would look something like this: excess sales in UST and LUNA drive both prices lower. The decreased prices cause a decrease in demand for UST, which causes more people to burn UST into LUNA to sell their LUNA. This causes the LUNA price to go down further, which decreases the value of the LUNA backing the UST. This causes further decreases in demand for UST, deepening the negative feedback loop.
An analogy, albeit not a perfect one, can be made with the UST <--> LUNA model to how Beanstalk will function once Stalk and Seeds are tradable. At any time, you can "swap" a certain amount of Stalk and Seeds for 1 Bean, but can only swap 1 Bean for LESS Stalk and Seeds than the other direction. This creates a dampening effect on the supply of Stalk and Seeds, trapping demand for Beans in a stickier way than LUNA does for UST: there is no disincentive to go from UST --> LUNA and start the negative feedback loop.
In practice, the relationship between UST and LUNA is the reverse of the relationship between Beans and Stalk/Seeds: In order to create UST, you need LUNA, whereas in order to create Stalk/Seeds you need Beans. This creates an economic system where demand for Stalk and Seeds creates demand for Beans, whereas in Terra demand for LUNA does not directly increase demand for UST.
The raise of $1B BTC by the Luna Foundation Guard actually has the opposite effect as intended. You wouldn't raise money to prop up UST during downswings if the peg maintenance mechanism was sound in the long-term—this fundraise can deteriorate confidence. (This would be a different story if an independent market participant made this decision. But it's the LFG themselves.) How much BTC are you going to back UST if it's at 100B in supply? It isn't scalable.
Beanstalk vs. ESD/DSD
ESD was really cool and innovative. Some rules they implemented that were positive inspirations for Beanstallk: In order to receive interest from supply growth, you had to either lend ESD to the protocol, or lock your ESD in the DAO. They also had a lockup period for removal from the DAO. This is a similar core mechanism to Beanstalk. DSD made marginal improvements on ESD, but made the epoch time 1 hour instead of 1 day. This was a significantly better UX and a more accurate price sampling method, which allowed DSD to steal some market share from ESD. In practice, they also had a lot of economic issues.
1. Bootstrap: They both set a fixed epoch TWAP price for a fixed number of epochs, which created a fixed initial supply schedule. While both projects did successfully complete debt cycles, the bootstap greatly increased the supply over real demand for the currency, which ultimately set them up for failure. Beanstalk has no pre-defined mint schedule, and tries to only mint enough Beans to meet demand.
2. Supply increase size: Similar to Basis Cash, both ESD and DSD minted supply based on the price*total supply. For DSD, they did that amount divided by 24, to compensate for the 24x increase in epoch frequency, but in practice is was the same formula. Using total supply and ignoring the liquidity pool (which is the source of the price) resulted in massive over-inflation during epochs where P >>> 1. When TWAP > 1 for a Season, Beanstalk increases the supply by the time weghted average shortage of Beans in the liquidity pool over that Season.
3. Debt market: The rate of return for burning ESD/DSD was predefined based on the debt level of the protocol at the time of burning. In general, any sort of pre-defined reward schedule is bound to be inefficient. Additionally, the debt schedule did not factor in price or demand for debt at all. Beanstalk does not predefine an interest rate for Sowing (burning) Beans, but instead lets the market set the rate. Every Season, Beanstalk measures the TWAP, debt level, and changing demand for Pods (debt) and adjusts the Weather up or down accordingly. This is a reactive process designed to quickly adjust to market conditions. 3.a. Burning ESD/DSD raised the debt level, which increased the rate of return for future burners. This created a tragedy of the commons problem, where my burning tokens right now actually gives other people who wait a higher interest rate. This disincentivized efficient token burining. Beanstalk uses a FIFO Harvest (redemption) schedule, which incentivized Sowing Beans (burning) in an efficient manner: any time the interest rate is sufficiently high such that a Bean holder thinks it is a good time to Sow, they are incentivized to Sow as fast as possible, so as to be as close to the front of the line as possible.
4. Withdrawing from the DAO: When P < 1, there was no incentive to leave your ESD/DSD deposited in the DAO. Beanstalk uses the Stalk system to create opportunity cost for leaving the Silo. Upon deposit, you receive 1 Stalk and 1 Seed for each Bean you deposit. Every Season, each Seed yields an additional 1/10000 Stalk. In practice, if you withdraw assets from the Silo, and then redeposit them, you will own less of the Silo than you did before because you have forfeited all the Stalk that has grown from Seeds while your assets were deposited. This creates a significant incentive to leave your assets deposited, even when there is no sign of short term inflation.
Beanstalk vs. Basis Cash
1. Basis cash did not handle inorganic demand properly. Fundamentally, the ugly sister to the P < 1 problem is the P > 1 problem. Let's define inorganic demand as demand that is solely from short term arb that arises from known inflation expectations when P > 1. The opportunity to buy Basis Cash and earn interest which can quickly be offloaded into the market created massive excess demand for Basis Cash, not from potential users or investors but from arbs. In the case of Basis Cash specifically, if we recall correctly, the price went to well over $100, solely from short term arbs trying to flip a new stable. Beanstalk implements a series of mechanisms that eliminate inorganic demand (almost) entirely. Specifically, the combination of a 24 Season withdrawal time to withdraw from the Silo (you don't earn any interest during the 24 hours) and Seasons of Plenty, there is very little incentive to ever buy Beans when P > 1.
2. Supply increased way too quickly. The new basis cash minted was proportional to the total supply of basis cash, independant of liquidity. When combined with the inorganic demand issue, this resulted in an exponential supply increase which was entirely unsustainable. Beanstalk only mints the amount of Beans that would be required to be sold in the Uni pool to move the TWAP price back to its peg. This is significantly less inflationary over short periods of time.
Beanstalk vs. UXD
1. There is no such thing as a free lunch. A tokenized delta neutral strategy with real-time entry and exit is very cool, but hard to imagine that system handling $1T of collateral when a big bear hits and they have to use the governance tokens to backstop demand as a buyer of last resort, and successfully reversing the stablecoin position from long/short to short/long spot/derivs. The evidence that btc usually has positive funding rate isn't exactly reassuring. Also, who is doing this switching of positions, and making sure this happens in an efficient manner? Hard to tell if thats gonna be done algorithmically or manually by the operators of UXD. Don't want to speculate here, but that doesn't seem very decentralized.
Beanstalk has a fundamentally different dynamic than UXD appears to during a bear market. Beans are priced based on the BEAN:ETH Uni pool. When the price of ETH goes down, this requires people to add ETH to the uniswap pool to keep the peg. In practice, adding ETH to the pool happens when someone sells ETH. So when ETH is down, in a world where Beans are used as a stablecoin, the selling of ETH into Beans is exactly what the system needs to stabilize. Its a natural/healthy way for system to unload during price crashes.
2. Without over-speculating, it seems that the governance token is going to be closer to a seigniorage model than a Beanstalk type model where anyonce can Deposit the underlying stablecoin to create more governance tokens. The ability to mint more Stalk increases decentralization over time, and likely passes on a lot more rewards to the Depositors.
3. It seems that UXD holders will all receive some share of the supposed positive carry from the delta neutral strategy. Assuming this is the case, it means that the value of UXD when used in derivatives will have to factor in the expected RoR. This makes UXD a less suitable stablecoin for a cornerstone of DeFi than Beans, which when circulating have no expected return.
Beanstalk vs. Tomb
First, the Tomb protocol is built on Fantom, not Ethereum. Second, $TOMB isn’t actually a stablecoin, nor does it even attempt to be pegged to one. The goal of $TOMB is to peg to $FTM, the native token of the Fantom chain, which is free-floating and volatile in nature. So the goal of $TOMB is completely different than $BEAN, which acts as a proper stablecoin pegged to $1.
Second, DAO & Team gets a TSHARE allocation. Beanstalk works without such a tax on the system. It's believed to be detrimental as it places an extra burden on the price that is inorganic. Beanstalk decided to mint Beans into supply to fund a quarterly budget. That way Beanstalk Farms and the Stalk holders have to be more aligned. However, minting Beans for the DAO of course is also inorganic.
Third, one epoch is 6 hours for $TOMB while in Beanstalk, one Season is one hour. Choosing longer or shorter poses risks on either side.
Lastly, TSHARES has a maximum supply which does not help distribution very well. It can centralize governance and rewards. It also exists outside of the Masonry which means it can be hoarded without helping the protocol. Beanstalk works differently, Stalk only exists inside of the Silo currently. The only way to get it is to add value to Beanstalk. Leaving the Silo means forfeiting the Stalk. It adds more distribution and aligns incentives better in my opinion.
From Mr Mochi:
- DAO & Team gets a TSHARE allocation. Beanstalk works without such a tax on the system. It's believed to be detrimental to as it places an extra burden on the price that is inorganic. Beanstalk decided to mint Beans into supply to fund a quarterly budget. That way Beanstalk Farms and the Stalk holders have to be more aligned. However minting Beans for the DAO of course is also inorganic.
- TBOND also does not have an expiry date which is great! But I don't understand why there needs to be an extra incentive for holding them above peg. Unsure on what it is intended to solve. I would assume this means some TBOND are artificially reducing TOMB supply while increasing their price impact. This could cause more volatility down the line.
- One epoch is 6 hours while in Beanstalk one Season is one hour. Choosing longer or shorter poses risks on either side.
- TSHARES has a maximum supply which does not help distribution very well. It can centralize governance and rewards. It also exists outside of the Masonry which means it can be hoarded without helping the protocol. Beanstalk works differently, Stalk only exists inside of the Silo currently. The only way to get it is to add value to Beanstalk. Leaving the Silo means forfeiting the Stalk. It adds more distribution and aligns incentives better in my opinion.
Beanstalk vs. FEI
FEI has strange implications from an economics perspective. As soon as you write into your code that if you do X, the protocol will spend ETH to do Y, you expose the protocol to massive arbitrage opportunities once any derivates built on top of the product are live. This more or less rules out FEI from becoming a significant player in the stablecoin market.