Skip to main content

Risk Adjusted

This page aims at warning users of existing risks.

When you use the Morpho lending application, you assume the risk. The following section is an overview of different types of risk that you should expect when using the app. The list is in no way exhaustive of all risks that you might be exposed to.

Risk Parameters

As explained in the Liquidation & Price Oracles section, Morpho replicates onchain the different risk parameters of the underlying lending pool, like the oracles, collateral factors, close factors, etc.

Smart Contract Risk

Morpho adds extra lines of code compared to a lending pool alone. The top security review firms worldwide performed more than 12 security reviews to limit this additional risk. Morpho Labs team also formally proves the protocol internally and with the help of Certora.

Learn more about Morpho's security and security reviews in the dedicated section.

Insights on Liquidation Risk

In the following, the health factor (HF) of a position is defined as:

HF=iSupplyiLiquidationThresholdiTotalBorrowHF =\frac{ \sum_i Supply_i * Liquidation Threshold_i}{Total Borrow}

If HF<1HF < 1, then the position is said to be liquidatable.
If HF>1HF > 1, then the position is considered healthy.

Introduction

In the Morpho protocol, liquidators are needed to eliminate unhealthy positions. If we assume that liquidations are working correctly, Morpho does not add risk for the user beyond the risks purely associated with smart contracts.

This part explores the scenario in which some liquidatable accounts are not liquidated. The risk of such an event occurring does exist, but is highly unlikely, and would suppose a major event happening onchain, resulting in either gas costs skyrocketing or a severe lack of liquidity for at least one asset. It has never happened, and many different bots have liquidated millions of dollars since Morpho’s launch.

This research work was conducted as an in-depth analysis of this edge case scenario to educate users and to improve their understanding of Morpho.

Can Morpho be liquidated?

At a user level, the conditions of liquidation on Morpho are exactly the same as the underlying pool. This is because the parameters are the same on Morpho Aave's Optimizers as on Aave, and on Morpho CompoundV2 Optimizer as on Compound. Those parameters update instantly as they are queried onchain every time Morpho needs them. If Aave or Compound update their parameters, they are also live on Morpho.

As a reminder, when a supply or borrow amount is not matched peer-to-peer, Morpho takes an equivalent position on the underlying pool. Hence, Morpho has a position on the underlying pool: the sum of the supplied and borrowed volumes that are not matched peer-to-peer. This mechanism ensures instant liquidity for users. However, if its liquidators can’t liquidate, unhealthy positions of users that would not be liquidated may eventually lead to Morpho's position being unhealthy. That means there is a risk of liquidation at the protocol level.

In the Yellow Paper, we proved that if Morpho’s liquidations proceed properly, the Morpho position is not liquidatable on the pool. The intuition behind it is that an aggregation of healthy positions is a healthy position itself. Indeed, as the liquidation parameters are the same on Morpho as on the underlying pool, a user with an unhealthy position with respect to the pool parameters will be liquidated on Morpho, guaranteeing that every position Morpho is aggregating is healthy.

But what if not all liquidations can be performed? One might think of extreme scenarios where Morpho might incur a lot of bad debt, for example, because of the lack of liquidity of an asset onchain during an extreme price movement.

One important thing to note is that by virtue of its design, Morpho has a margin of safety. As stated previously, every user of Morpho is subject to the same liquidation parameters as the underlying pool. But a significant part of those users are in fact, matched peer-to-peer, and hence are not aggregated on the pool. The peer-to-peer matching removes an equal amount of borrow and supply from Morpho’s position on the pool. This means that, as soon as there is peer-to-peer matched volume, the health factor of Morpho’s position on the pool is greater than the one that the aggregation of its users would have.

Here is a diagram to help visualize this:

B is the total borrow
S is the total supply
P2P is the volume-matched P2P
S-P2P is supplied on the pool
B-P2P is borrowed from the pool

The SP2PBP2P\frac{S-P2P}{B-P2P} ratio is greater than the SB\frac{S}{B} ratio, and the bigger P2P is, the greater the difference is, hence the healthier the position of Morpho is on the pool.

Historical data of Morpho AaveV2 Optimizer and Morpho CompoundV2 Optimizer health factors:

The graph below shows the evolution over time of Morpho AaveV2 Optimizer’s health factor on Aave (in blue) as well as the health factor we end up with if we sum up the supply and borrow of all Morpho AaveV2 Optimizer users (in orange):

Comparison of the evolution of the health factor of Morpho AaveV2 Optimizer and that of its users combined

Here is the same graph for Morpho CompoundV2 Optimizer. As expected, we see that the health factor of Morpho CompoundV2 Optimizer is always greater than the health factor of the aggregation of all Morpho CompoundV2 Optimizer's users. It can be noted that the difference is less marked than for Morpho AaveV2 Optimizer, due to the lower P2P volume on Morpho CompoundV2 Optimizer.

Comparison of the evolution of the health factor of Morpho CompoundV2 Optimizer and that of its users combined

When summing up all Morpho users, as in the above graphs, it includes pure suppliers (lenders that do not borrow anything) that have therefore an infinite health factor. Going into detail, we can look at the distribution of health factors among Morpho users throughout history and compare it to the distribution of the health factor of Morpho. Said differently, we collect at regular time intervals the health factor of each user (in orange) as well as the health factor of Morpho (in blue), and we then plot the histogram.

Here is the plot, and the histogram associated, with every position of Morpho AaveV2 Optimizer users and protocol:

Health factors distribution for Morpho AaveV2 Optimizer users and Morpho AaveV2 Optimizer

And here is the histogram obtained for Morpho CompoundV2 Optimizer:

Health factors distribution for Morpho CompoundV2 Optimizer users and Morpho CompoundV2 Optimizer

On both graphs, we can notice a clear difference in the distribution between the users and the protocol. While many users frequently take positions with a health factor close to one, the protocol has a much safer position.

Conclusion

As long as liquidators perform liquidations, Morpho cannot be liquidatable. Furthermore, by design and confirmed with historical data, its positions on the underlying pools are healthier than the average of its users, which gives Morpho a margin of safety in case of pitfall events.

Even though the latter becomes less and less likely as the ecosystem matures, people should be aware that the probability of them occurring is not zero and understand the DeFi protocols they use. In that spirit, Morpho Labs is committed to increasing the transparency around Morpho protocol to increase the safety of its users and contribute to higher standards in the DeFi ecosystem.