Morpho Bundlers
What are they?
Bundlers contracts are designed for EOAs to combine multiple actions into a single transaction, enabling smoother interaction with Morpho and other contracts in the space.
It removes the need to wait for some transactions to be included before being able to interact further with the blockchain and reduce gas cost.
More specifically, a bundler exposes a multicall
function that can trigger internal logic for various actions.
For instance, a user can perform the following actions in a single onchain transaction:
- Stake ETH on Lido and receive stETH, wrap them to wstETH, supply them as collateral on Morpho, and borrow any other asset against them.
- Migrate their position from AaveV3 to Morpho.
Security
Morpho is known for its industry-leading security practices and follows a multi-faceted approach to security.
Morpho security practices include formal verification, mutation tests, fuzzing, unit testing, and peer reviews that can be found within respective Github repositories. External measures include professional security reviews, contests, and pre/post-deployment bounties.
Over time, Morpho has been audited 27 times by 12 different security firms. This covers Morpho Optimizers, Front-ends, Morpho Vaults and Morpho, and to our knowledge, makes Morpho the most audited project in the world.
Bundlers contracts are also audited, see the security reviews section.
Visual
Core Bundlers
Below is a non-exhaustive list of the different bundlers:
MorphoBundler
: exposing logic to interact with Morpho. Note that to borrow or withdraw on Morpho the EOA must authorize the bundler.TransferBundler
: exposing logic to transfer native and ERC20-compliant tokens.PermitBundler
: exposing logic to interact with ERC2612-compliant tokens.Permit2Bundler
: exposing logic to interact withPermit2
contract. It allows EOAs to use signatures to approve spending tokens, thus removing one transaction before bundling transactions.WstEthBundler
: exposing logic to wrap/unwrap stETH/wstETH and stake ETH.ERC4626Bundler
: exposing logic to interact with any ERC4626-compliant tokens.UrdBundler
: exposing logic to interact with a UniversalRewardsDistributor and claim rewards.WNativeBundler
: exposing logic to wrap/unwrap the native tokens of the given blockchain (e.g. WETH on Ethereum).
Bundlers can be combined to propose enhanced functionalities.