Foresight & Kash: The Collapse of Algorithmic Stablecoins? An In-depth Look at Anchor Protocol
Co-edited by Sam Shi from Kash Research & Alice Li from Foresight Ventures
The fall of Terra and Anchor
UST has completely de-pegged from the US dollar, falling to $0.03 in the last 24 hours, as Terra faces an overwhelming loss of confidence. Luna is now worth $0.00012, down from $60. And as the largest project on Terra by far, Anchor Protocol played a significant role in both Terra’s rise and its downfall.
This is how it happened. Terraform Labs (TFL) moves $150 million UST out of Curve’s 3CRV + UST pool in anticipation for the 4pool. At the same time, an anonymous address bridged and sold $85 million UST, placing a large downward pressure on the Curve pool.
So why was UST unable to bring itself back to its peg? UST maintains a stable price by burning or minting LUNA. When the price of UST increases above $1, then LUNA is burned to mint additional UST, maintaining the peg. Conversely, when UST price falls below $1, Luna is minted to burn UST. In this case, as UST price fell below $1, significant amounts of Luna were minted, decreasing the price of LUNA. This could lead to a dangerous feedback loop. A lower LUNA price means that more LUNA is required to be minted for each dollar of UST contraction, lowering investor confidence. This could lead to more investors selling UST as they lose faith in the protocol, minting more LUNA. Worsening macro conditions most likely exacerbated these conditions.
Borrowing positions on Anchor are primarily collateralized by LUNA. As borrowers’ LUNA values decreased below the minimum collateral to borrow ratio, the subsequent liquidations resulted in large amounts of UST arriving on the market to be purchased by liquidators. This furthered UST’s depeg, and everytime UST and LUNA’s price fell, more investors lost confidence and exited their liquidity.
The result of this was the complete collapse of both LUNA as well as Anchor Protocol. Nonetheless, in its heyday Anchor brought with it many novel and creative mechanisms as a lending protocol. Thus, the project remains important to study for future lending protocols to look to and learn from. This paper will now discuss the rise of Anchor, how Anchor operates (as it did before Terra’s collapse), and its inherent problems.
The Rise of Anchor
Many investors sought to capture Anchor’s 19.5% APR, helping to boost the circulating supply of UST from $2 billion from one year ago to almost $18.5 billion, because investors needed UST to make deposits. Critics believed that Anchor was fundamentally unsustainable because it could never generate enough revenues to balance its expenses, and the protocol itself was heavily reliant on its yield reserves for long-term deficits.
Anchor’s high APY yield for depositors was key to its rapid growth. During the height of the Terra ecosystem, over 70% of all UST was on Anchor. The latter was a cornerstone to Terra, and it was a key project in both the rise and fall of this blockchain.
How does Anchor work?
In essence, Anchor Protocol is a lending & borrowing protocol. On the one hand, it attracts deposits by paying depositors a high APY (19.5% for most of its history). On the other hand, Anchor lends out these deposits, and the borrower is required to provide collateralized assets (LTV ~ 60%-80%) and then pay interest on the loan to Anchor protocol. Upon receipt of the borrower’s collateralized assets, Anchor will stake these assets to generate staking yield.
Anchor’s business model can be summarized by the following formula:
Anchor net profit/loss = interest collected from borrowers + staking yield on the borrower’s collaterals — 19.5% APY for the depositor
Anchor income is generated by borrowers, and expenses are generated by depositors. Therefore, the utilization ratio directly affects whether Anchor is self-sustaining. As of 25 April 2021, the Anchor borrowing rate was only 22%, meaning that for every $100 of deposits in the agreement, only $22 was lent out and generated actual income.
Before getting into what makes Anchor protocol unique, it is beneficial to quickly talk about how all borrowing services pay for deposits, interest on the loan.
On Anchor this borrow APR is a function of the utilization ratio of amount borrowed: amount deposited, the base rate and the interest multiplier.
The latter 2 are fixed numbers which can be adjusted through governance on Anchor.
The more UST is deposited vs UST borrowed, the more borrow APR falls and vice versa.
Right now the interest multiplier is configured for a desired utilization ratio of 66.7%. The lower we go below this figure, the lower the borrow rate becomes, incentivising borrowing.
The borrow APR on Anchor as of 25th April 2022 sat at 11.7%, posing the question… Why would anyone borrow on Anchor?
Other money markets such as AAVE as well as the likes of Mars and Edge protocol Terra had borrow rates of less than half this rate.
In order to draw in borrowers to the protocol to fund the earn apy, Anchor pays a distribution APR in the native governance token, ANC, which gives the right to vote on upcoming proposals to the protocol. Currently there are 100 million ANC maximum designated to this distribution APR year for 4 years min from launch (This can be changed through governance).
The amount of anc emitted each epoch is determined by the following formulae.
r = earn APY
average = average earn APY over the past epoch without yield reserve intervention
threshold = min value earn APY can reach before ANC emission increase (adjustable through governance)
If rcurrent< threshold ANC distribution APR increases to incentivize borrowing and vice versa.
In order to borrow deposited UST, users must first provide assets as collateral that will be sold should their loan to value ratio (LTV) get too high. This is to ensure liquidity provision for deposits. The liquidation mechanism on the PAAnchor will be touched on later.
These collateral assets currently come in two forms:
Bonded assets on Anchor —
There are currently 5 bonded assets (bAssets) available to provide as collateral on Anchor in bLuna, bEth, bSol, bAtom and sAvax.
Bonded assets are simply staked forms of each collateral, bonded through Anchor so that their staking yields (in UST) can be diverted to the yield reserve to pay the earn side APY at a future date.
For bLuna and bEth, Lido finance handles their staking.
For bAtom, pStake finance is used.
As mentioned above, the staking yield from bAssets does not go to the users providing them as collateral. Instead, the yields head toward the reserve, where they can then be used to top up the earn side APY as needed.
This is primarily how Anchor was able to sustain a much higher rate than other borrowing/lending services. Not only do borrowers pay interest on their loaned amount, but they also give their staking yield on ALL collateral provided. For example, a user provides $1000 in bLuna as collateral and borrows $500. For deposits, if the borrow APR is 10% and the staking yield on luna is 8%. Then this $500 borrowed is earning (10%+8%+8%) = 26% yield for deposits.
The addition of collateral staking is more capital efficient, however, there are some evident problems with this method of collateral provision.
Logically giving up 8% APR in staking yield and then paying 10% borrow APR is not an attractive offer for borrowers. This means that whatever they are doing with the UST must yield high enough in order to justify borrowing. This can therefore be an active deterrent for potential borrowers. For example, a user provides $1000 in bLuna as collateral and borrows $500
For borrowers, if the borrow APR is 10%, since the borrow APR could be partly offset by ANC incentives, so the net borrow APR is (10%-ANC Distribution APR) and the staking yield on luna is 8%. Then this $500 borrowed is earning (-10%+ANC Distribution APR + Investment return on $500) for the borrower. Therefore, borrowers would only be incentivized to borrow money if whatever they are doing with the UST yields a higher return than the net borrowing APR plus the forgone staking yield on Luna.
Anchor Borrow v2
Before Anchor’s fall, we saw a push towards a more efficient form of borrowing on Anchor with the introduction of Anchor borrow v2. Instead of diverting staking rewards to depositors, v2 uses auto compounding staking derivatives as collateral. Meaning that their staking rewards are used to buy more of that asset, causing these derivatives to gradually grow in value.
The only asset of this type currently available on Anchor is sAvax, provided through BenQi on the Avalanche blockchain.
For users who provide sAvax, they do not forgo their staking yield and therefore their only cost is the borrow APR.
In terms of the interest rate, it would be comprised of the base borrow rate plus the staking reward percentage added on, and borrowers will need to pay for the interest-only when the loan is closed or liquidated. This makes borrowing a much more attractive venture than if a user had instead provided a bAsset as collateral.
Borrow v2 also allows for much faster collateral onboarding going forward as there does not need to be additional auditing done of the smart contracts converting sAvax staking rewards to UST, as well as carrying them to the yield reserve.
Before the collapse, increased collateral variety was a crucial step to the future of the platform, though newer collateral options only made up a small portion of all collateral. Not only did it expose Anchor to an entirely new pool of potential borrowers who hold these new options, it was also important for Anchor’s stability.
If one collateral type takes a serious dip, potentially causing mass liquidations, but this only accounts for 10% of the total collateral provided… then the damage to the borrow/earn dynamic would not be as affected as if it had a 50% share for eg.
This chart shows the current distribution of collateral on Anchor from launch to now:
As shown above, bLuna took up the lion’s share of the provided collateral at 65%. There are a few reasons for this. Firstly, Anchor is built on Terra, for which Luna is one of its native coins alongside UST; the majority of borrowers will come from on-chain.
Secondly, when Anchor launched there were little to no use cases for Luna. We had Mirror protocol, where you could mint synthetic stocks and native staking. Therefore those with Luna had few other options. As such, Luna’s price crash had a detrimental effect on the protocol.
UST’s goal from the beginning was, and is, to be the primary means of exchange across all of DeFi, not just on Terra. With this, it made logical sense to outsource Anchor to other chains, so that users on these chains would be able to deposit collateral natively and thus driving UST demand.
Thus, this proposed increase in borrow demand would lead to Anchor becoming more sustainable and raise the utilization ratio. However, there is little evidence that this would have become reality. Yes, Anchor going cross-chain would expose the borrowing side to an increased user base…but more crucially it would also expose them to the earn side.
Anchor’s 19.5% stable yield was far more attractive than anything else Anchor can offer. Increased exposure to this would have only served to accelerate the problems described above.
It would have been useful to instead attempt to address the issue of borrow demand first, before pressing forward with cross-chain implementation.
Problems with Anchor Protocol
As the chart above shows, interest income and staking yields are the two main sources of income for Anchor, which are used to pay depositors 19.5% of the APY. If the revenue is greater than expenditure, then the surplus flows to the treasury as reserves, and conversely, if revenue is less than expenditure, then treasury reserves are used to cover the gap.
During a bull market, like that seen in the final quarter of 2021, this strategy worked as intended. Rising prices in volatile assets mean fewer people want to hold and earn a yield on stablecoin such as UST. Simultaneously, they are more likely to engage in leveraging up positions via borrowing. With lower deposits and higher borrowing, the borrow APR + staking yield can easily make up the 19.5% minimum APY required for deposits. So much so that the yield reserve can begin to grow in preparation for a downturn that may come later as yield not used remains in the reserve.
Here the problem can be seen, however….
A combination of a downtrodden market and rising confidence in UST as a Stablecoin has caused an explosion in deposits on Anchor since the start of 2022. Whilst the amount borrowed has seemingly continued to rise in the same timeframe, it simply could not sustain the growth seen in the amount deposited.
When borrowing APR + staking yield is not enough to make up the full 19.5%, excess from the yield reserve is used. This major disparity in earning and borrowing caused the reserve to fall at an extremely fast rate.
If the yield reserve fully emptied before Terra’s crash, Anchor would have reverted to a free-floating rate, as close to the threshold rate as possible.
The breakdown of the 19.5% yield can be shown using on-chain data presented in this chart.
In total, the borrowing mechanism was generating over 28% for deposits at the very top of the bull market at the end of 2021. This was compounded by Luna especially (and thus bLuna) outperforming the market in addition to (b)Luna also seeing a boost in staking yield from a large, community voted, burn of the community pool.
From here, however, the total amount generated has continued to fall as deposit growth far outpaced the growth in borrowing. As of April 25th, the combined mechanism only generated 5.4% for deposits.
The exponential growth in deposits also means a falling utilization ratio, which we know leads to a lower borrow APR in an attempt to encourage borrowers. Due to market conditions, this is unlikely. It can be said this is making the situation worse.
Where does the other 14.1% come from?
The yield reserve.
As mentioned this is the intended solution, have yield stored from bullish times be used to top up APY during downturns. Unfortunately for Anchor, this could not be sustained for what is now a near 5-month period of the gap between deposits and borrowing.
Anchor had the full support of Terraform labs (a.k.a TFL, creators of the terra blockchain) and the Luna foundation guard (a.k.a LFG, a non-profit focused on growing UST/Terra), which would be able to continue supporting the protocol had the entire ecosystem not gone down.
In the May crash of 2021, TFL burned the equivalent of $70million of Luna for UST to place directly into the yield reserve in order to sustain the earn APY and keep UST on the peg.
At the time this was necessary, UST and Anchor were still in their infancy so an injection to maintain stability to both was deemed as just a required expense.
Recently, however, LFG (with TFL donations) added an additional $500million UST to the reserve. Before Terra’s downfall, this did little to stem the rate of drain from the reserve, and the yield reserve was projected to empty in mid-June 2022, given the rate of depletion at the time.
It can be argued that these injections were merely a marketing expense to sustain UST demand long enough for a fully-fledged, cross-chain, ecosystem with multiple use cases can be established. This would allow UST to compete directly with the major centralized Stablecoins in USDC and USDT. At this point, it would not have mattered if Anchor only gave out a 10–15% yield on UST as this would still be more than other rates on stables out there and UST would be much more desirable due to its prominence.
These injections and the move away from bAsset collateral types indicated that the Anchor team knew the yield APY would eventually fall: the reserve could not be topped up forever given the level of growth in deposits. This invokes caution from potential depositors.
There were also a plethora of proposals on the Anchor forums in an attempt to address the issues.
On March 27th a proposed Dynamic Earn rate was executed. If the yield reserve continued to decline, the minimum earn rate would have fallen to 18.5% from May 1st, 2022, continuing to fall a maximum of 1.5% from each month thereafter assuming the yield reserve continues to fall down to a current floor of 15%. (If the yield reserve rises the rate would rise too).
This would lower the required utilization ratio and thus lead to a lower borrow APR. This should incentivize borrowing through lower fees; simultaneously lowering the amount needed to top up the earn APY. This could then trigger capital to leave earn as the rate APY falls, again meaning less needs to be borrowed to keep earn sustainable.
There were issues with this proposal. As the plan is to transition to Anchor borrow v2 assets from bAssets, the yield reserve would be getting less and fewer inflows as time goes on, meaning that the yield reserve is extremely unlikely to be net positive going forward. On an optics level, this can also be seen as the protocol taking the easy way out in choosing to cut the earn side of Anchor first, rather than instead looking to bolster the borrowing side.
As mentioned, the transition to auto compounding staking derivatives as collateral would have most likely meant that the earn side rate would have to fall eventually through no contribution from said yield, so perhaps this dynamic earn rate is just frontrunning this fall, just in a more controlled manner.
As to proposals looking to bolster borrow demand, most focused on improving value accrual to the ANC token.
Recall that the ANC distribution paid to borrowers is essentially the only reason to borrow on Anchor. The high borrow APR and forgoing of staking yield (if a user provides bAssets as collateral) means that without a high enough distribution APR to compensate, the system would fail. The problem is that the price of ANC is almost entirely speculative, it has little to no fundamental value capture outside of demand for governance.
Once any of these collateral types have been provided, users can borrow UST up to a specified % value of the collateral, at this point they will be liquidated.
This level is different for each collateral type.
bLuna you can borrow UST up to 80%
bEth up to 75%
bAtom up to 60%
sAvax up to 60%
Liquidations are necessary to maintain deposit liquidity so as to avoid a bank run type scenario whereby depositors cannot withdraw their funds.
To incentivize users to bid for liquidated collateral, a discount is applied to each bid made from 1–30%. For example, a user can bid to buy bLuna at a 4% discount on the market price. Bids get filled in order of discount premium, with lower discount bids being filled first.
How much of your collateral is sold off during a liquidation event is dependent on the total value of the collateral provided at the point of liquidation. If the provided collateral value is under $2000 then the entire amount is sold off. If the value of the collateral is over $2000 then your collateral is liquidated down to 0.8 of the liquidation LTV.
For example, if you have $5000 of bLuna provided as collateral at the point of liquidation, then you will be liquidated down to 64% LTV (0.8 x 80% Liquidation LTV)
If a user provides multiple forms of collateral, the ones with a lower liquidation LTV and the higher price will be given a higher weight as less will be needed to be sold off to lower the loan back down toward 80% usage.
Any user can bid on any form of collateral in case of liquidation. This can be done through interacting with the smart contract directly or via a front end such as Kujira, the latter of which has made liquidations much more efficient due to ease of use. This has meant that liquidated collateral tends to be sold at a lower premium, leading to less being liquidated per position. Borrowing therefore now comes with decreased risk than it did when easy-to-use frontends were not available to the masses. It can therefore be argued that this has had a net benefit on borrow demand.
At their height, Luna and UST had a combined market value of almost $60 billion. Now, they’re essentially worthless. The panic has spread to the entire crypto market leading to a total loss of more than $300 billion, and there is yet no sign of recovery.
Countless investors who had gained financial freedom with Terra are now back to where they started, if not worse. This has happened many times in history and will continue to happen in the future. In its, heyday Anchor brought with it many novel and creative mechanisms as a lending protocol, yet it is still far from being self-sustaining without injections from external funds. This inherent flaw in the mechanism, along with other factors including the liquidity attack, the panic of the whales and retail investors, and the acceleration of arbitrageurs eventually led to the collapse of Terra and the whole financial ecosystem built around it.
About Foresight Ventures
Foresight Ventures believes crypto will define the next few decades of innovation. The fund invests early and makes decisions quickly, providing wide-ranging support for projects from its robust ecosystem that includes major market players crypto exchange Bitget, and crypto wallet BitKeep. Its founding and partnership team includes veterans of some of the top financial and technology firms dedicated to sourcing and supporting the next generation of disruptive innovations across Web3.