Skip to main content

MetaMorpho Restricted Owner

The MetaMorpho Restricted Owner is a restricted owner contract for MetaMorpho vaults that limits administrative powers to enable trustless, immutable vault deployments. By constraining what vault owners can do, it allows MetaMorpho vaults to serve as immutable wrappers around Morpho V1 markets that require no active management.

Use Cases

This contract enables two key use cases on Tenor:

  1. Earn While You Wait: Powers the Earn While You Wait feature, where lenders earn Morpho V1 variable rates while their lend limit orders wait to be filled at fixed rates on Morpho V2.

  2. Variable-to-Fixed Borrowing: MetaMorpho v1.1 vaults can be used as collateral in Morpho V2 markets, allowing users to lend at variable rates on Morpho V1 (via the vault) and borrow at fixed rates on Morpho V2. This is possible because MetaMorpho v1.1 has a monotonic exchange rate that is not affected by bad debt realization, making it safe to use as collateral.

    Using vaults as collateral enables sophisticated users to create borrow limit orders at fixed rates that are atomically deposited into the variable-rate vault upon fill. This allows users to simultaneously lend at variable rates and borrow at fixed rates in a single transaction. These borrow-side limit orders are also important for improving the liquidity profile for borrowers who want to exit their fixed-rate positions early, as they provide readily available counterparties for lenders looking to close positions.

How It Works

1. Restricted Administrative Functions

The contract only allows specific administrative operations on MetaMorpho vaults:

  • setFee: Adjust vault performance fees (max 50% APR)
  • setFeeRecipient: Change who receives fees
  • setSkimRecipient: Change who receives skimmed tokens
  • submitGuardian: Propose a new guardian
  • acceptOwnership: Complete ownership transfers (2-step process)

2. Multi-Vault Management

A single MetaMorphoRestrictedOwner contract can manage multiple MetaMorpho vaults:

  • All vaults managed by this contract should set their owner to this contract address
  • The contract owner can perform allowed operations on any vault managed by the contract
  • This enables consistent governance across multiple vaults

3. Immutable Design

The contract is immutable by design to support vaults that allocate to a single Morpho V1 variable-rate market:

  • No way to add more privileged functions after deployment
  • Uses OpenZeppelin's Ownable2Step for safe ownership transfers
  • Critical vault operations (like market allocation, supply caps, etc.) are permanently disabled
  • This immutability is essential because these vaults are designed to be simple, trustless wrappers around a single Morpho V1 market, requiring no active management or reallocation
  • Users can trust that the vault will always allocate to the same market without risk of owner intervention