Skip to main content

Morpho AaveV3 Optimizer Overview

Morpho AaveV3 Optimizer improves the capital efficiency of positions on the AaveV3 lending pools by seamlessly matching users peer-to-peer.

Morpho's rates stay between the supply rate and the borrow rate of the pool, reducing the interest paid by the borrowers while increasing the interest earned by the suppliers. It means that you are getting boosted peer-to-peer rates or, in the worst-case scenario, the APY of the pool.

Morpho also preserves the same experience, the same liquidity, and the same parameters (collateral factors, oracles, etc.) as the underlying pool.

TL;DR: Instead of borrowing or lending on your favorite AaveV3 pool, you would be better off using Morpho AaveV3 Optimizer.

If you are unfamiliar with the concept of Morpho Optimizers, we suggest starting with the basic concepts first.

These pages provide guides and technical documentation for the Morpho AaveV3 smart contracts. You can use these docs to develop onchain or offchain integrations.

Morpho AaveV3 is the third instance of Morpho Optimizer, after MorphoCompoundV2 and Morpho AaveV2 Optimizers. You can find more information about the differences between Morpho Optimizers instances here.

For a deeper dive, read through the technical reference documentation.

Technical Reference Overview

Core

Core Source Code

The Morpho AaveV3 Optimizer protocol is designed at its core, with the main Morpho contract delegating calls to the PositionsManager implementation contract (to overcome the contract size limit).

The main user's entry points are exposed in the Morpho contract. It inherits from MorphoGetters, which contains all the functions used to query Morpho AaveV3 Optimizer, MorphoSetters, which contains all the functions used by the governance to manage the protocol, MorphoInternal, and MorphoStorage, where the protocol's internal logic & storage is located. This contract delegates call to the PositionsManager, that has the same storage layout: this contract inherits from PositionsManagerInternal, which contains all the internal accounting logic and in turn inherits from MatchingEngine, which contains the matching engine internal functions.

It also interacts with RewardsManager, which manages AaveV3's rewards, if any.

Periphery

The periphery is a constellation of smart contracts designed to support domain-specific interactions with the core. As the Morpho Optimizers protocols are open sources, the contracts described below have no special privileges and are only a small subset of possible periphery-like contracts.

You can check the Integrations Examples to see other community integrations.

Bulker Gateway

The bulker Gateway is a stateless contract that can acts as a manager of the caller position. It can be used to batch transactions with an EOA and improve the UX of the protocol. This is the contract used by the Morpho AaveV3 Optimizer UI hosted by morpho-association.

Morpho AaveV3 Bulker Gateway Source Code

WETH Gateway

The WETH Gateway is a stateless contract that allows user to supply native ETH on morpho AaveV3 Optimizer.

Morpho AaveV3 WETH Gateway Source Code

Supply Vault

Morpho V1 Optimizers Vaults Source Code

Morpho AaveV3 Optimizers Vault represents tokenized supply positions on Morpho AaveV3.

Vaults are compliant with the ERC4626 standard and can be easily integrated.