In the first version of Alpaca Finance, assets in lending vaults are limited to borrowing only within our leveraged yield farming products. AF2.0 will expand the versatility and revenue-generation potential of our lending vaults, greatly improving capital efficiency and use cases for our capital.
The first example of this is that AF2.0 will support over-collateralized lending, with the potential to use the borrowed capital externally, similar to other lending platforms like Venus and Compound. This means that lenders will now be able to borrow against their lending deposits, which is a use case many users have asked for.
The AF2.0 contract will also make it possible for the liquidity in the lending pools to be utilized for additional whitelisted use cases, beyond over-collateralized lending and LYF, which would be initiatives that could provide further revenues and capital efficiency to lenders, and subsequent revenues for xALPACA. These can include product types and protocol-to-protocol partnerships which are currently unannounced. In conclusion, this upgrade will make the Alpaca platform much more composable internally and externally.
Now, let’s go over the key features of the new money market.
All assets will be available for lending and borrowing. However, based on their individual risk profiles, each asset will be categorized within one of three potential tiers that vary in their restrictions, in order to better mitigate risk:
- Collateral tier: Can be used as collateral to borrow other assets. Can be borrowed alongside other assets (in one position group, aka sub-account). This tier is reserved for the safest “blue chip” crypto assets.
- Cross tier: Cannot be used as collateral to borrow other assets, but they can be borrowed alongside other assets (in one sub-account with multiple borrowed assets).
- Isolation tier: Cannot be used as collateral to borrow other assets, and they can only be borrowed in isolated positions that do not borrow other assets.
*Positions in all tiers can have multiple collateral assets.
This architecture will allow for secure permissionless listing (only in Isolation tier) of any assets within our platform, which creates the limitless potential for growth of Alpaca lending. Users will be able to borrow many altcoins, creating a bear/shorter’s paradise.
At the same time — this model preserves the safety for our users and depositors (because Isolation and Cross tier do not allow their assets to be used as collateral).
In the current implementation of Alpaca Finance, the protocol is limited to only one borrowing interest model per asset. This restriction has hampered our ability to adjust interest rates at a granular level, such as implementing different interest rates per LYF pool. Soon with AF2.0, we will have the ability to customize independent interest rate models per asset & use case, which will allow us to design customized conditions to potentially make every pool and product viable and profitable!
This will be true at a granular level for individual pools within the same product. So for example, we will have the ability to provide cheaper borrowing rates to lower volatility pools like stablecoin-stablecoin pools (which had very high TVL in the past when APYs were higher than borrowing interest, but now have low TVL because the unitary borrowing interest is too high relative to APYs).
We will also be able to provide customized rates to better fit each scenario and product. For example, overcollateralized borrowing for BNB can have one interest rate model, while LYF borrowing for BNB can have another separate model with a different interest rate. Borrowing for AVs can also have another entirely different model.
In summary, this amplified flexibility will allow us to better price borrowing rates based on each pool and product’s specific risk, demand, and desired behaviors. This will make the overall system more efficient for all participants, and allow us to create a plethora of new, profitable opportunities for all our users through simple adjustments. It will also produce the optimal conditions to maximize each product’s usage, for which the resulting higher revenues will accrue to ALPACA governance stakers.
Illustrated example of 3 interest rate models on the same lending asset
AF2.0 will use a two-sided approach for Safety Buffer and Collateral Factor calculations, which will help us further minimize risk for lenders and asset holders, by factoring in asset-specific risk. In this approach, each asset will have two values: Borrow Factor and Collateral Factor. As a result, the protocol will be able to better compute a position’s health using two calculations:
- 1.Risk-adjusted liability value: The value of a borrower’s liabilities (value borrowed) can be weighed upwards based on the specific borrowed asset’s risk-profile, as defined by the Borrow Factor.
- 2.Risk-adjusted collateral value: The value of a borrower’s collateral can be weighed downwards based on the specific collateral asset’s risk-profile, as defined by the Collateral Factor.
*Please note that the Factors to calculate the risk-adjusted values will not change frequently or for no reason. Although the Borrow Factors and Collateral Factors can be adjusted from time to time through governance if the risk profile of an asset happens to change, the Factors will be defined variables in the smart contracts. They will be publicly shared and kept updated in our docs, and are expected to mostly remain constant.
This approach improves the safety of the protocol because it allows AF2.0 to factor in the asset-specific risks of both downside and upside price movements. These risks are encapsulated in the asset-specific Collateral Factors (as on Compound) and Borrow Factors. Ultimately, this approach means that the liquidation threshold of every position will be tailored to the specific risk profiles of the assets associated with the position.
Alice has $1,000 worth of USDC, and wants to borrow BNB. How much can she borrow?
If USDC has a collateral factor of 0.9, and BNB has a borrow factor of 0.7, then a user can borrow up to $1,000 * 0.9 * 0.7 = $630 worth of BNB. At this level of borrowing, the risk-adjusted value of their collateral is $1,000 * 0.9 = $900, and the risk-adjusted value of her liabilities is $630 / 0.7 = $900. If BNB increases in price, then the risk-adjusted value of her liabilities will also increase to >$900, and then the position will be eligible for liquidation. The buffer allowing for liquidation (before potential bad debt) is $1,000 — $630 = $370.
We’ve designed a variation on the typical architecture of how money markets are executed in smart contracts. This improvement will allow users to realize much more flexible use cases, create customized exposures in their positions, and utilize advanced strategies. The update is on a seemingly inconspicuous part of the smart contract, the Debt Ratio check, but it unlocks powerful capabilities for users.
Here’s how it works. Normally, an account’s Debt Ratio is checked immediately after performing any one operation that could fail due to insufficient collateral, which would revert the transaction in the failure case. Such operations include borrowing, withdrawing collateral, or closing a position.
Meanwhile, AF2.0's contract is written in a way that defers the Debt Ratio check, which allows for multiple operations to be performed before the Debt Ratio is checked once at the very end of the transaction sequence.
What does this little change achieve? A lot more than meets the eye. Let’s walk through an example.
Without deferring Debt Ratio checks, a user must first deposit collateral before a loan can be issued. On the other hand, if the check was deferred, the user could execute a number of operations before the Debt Ratio check. They could, for instance, borrow ETH, then sell it all into USDC (go short ETH) and supply the USDC back to the Money Market as collateral to then borrow BTC, and deposit that into lending (long BTC) to earn interest (This would be like a hedged short betting that ETH will drop vs. BTC). There are three assets used in this example strategy, but there is no limit.
Or they could follow an opposing strategy, borrow BTC, sell it into ETH (short BTC), and use the ETH to open a 3x LYF position that earns interest (leveraged long ETH).
And these are only two of many potential examples.
In summation, this feature will permit for complex strategies to interact with money market contracts in 1 transaction, which will save gas, create a better UX, and unlock new, powerful use cases of which we’ve only touched the tip of the iceberg here.
AF2.0 will provide us the ability to configure different liquidation methods for each collateral asset. To start, we will employ a double-layered liquidation system depending on the Debt Ratio (risk) of the positions. The two layers are:
Layer 1: Gentle Repurchasing through Close Factor with a fixed discount percentage
Repurchasing will be incentivized by offering up a borrower’s collateral to repurchasers at a percentage discount. This discount will start at 5% and can scale up to 10% with higher Debt Ratio, in order to make repurchasers prioritize riskier positions.
(Please note that 80% of the final discounted amount goes to buyback and burn of ALPACA, in order to make the platform anti-fragile even in downwards markets, and because up to half of the protocol revenue going to the ALPACA tokens in governance acts as a backstop in the Insurance Plan which covers the LYF positions).
A parameter called “Close Factor” will also determine the percentage of the debt position the liquidator will be able to repay in a single transaction. This means that only part of a position would be liquidated, just enough to get it back to health, which we refer to as Gentle Liquidation, or in this case, Gentle Repurchasing, which is a process that lowers the liquidation cost for borrowers.
This repurchasing layer will be the first layer that can trigger once liquidation is possible, because repurchasing is the cheapest option for the position holder. Should this layer not activate, the backup layer is described below.
Layer 2: Sell on DEXs
If the Debt Ratio of an account goes beyond a higher debt threshold (and no repurchaser has stepped in), there will be a backup function that will allow anyone to sell the position’s collateral on a DEX to pay back the debt and receive a certain % of the proceeds. This is similar to how the current liquidation method works now. We’ll share the exact parameters of these layers in the future.