morpho

Installation
SKILL.md

Morpho Blue

Morpho Blue is a permissionless, immutable lending primitive on Ethereum. Unlike Aave or Compound, Morpho Blue has no governance, no upgradeability, and no admin keys. Anyone can create an isolated lending market by specifying a loan token, collateral token, oracle, interest rate model, and liquidation LTV. A single singleton contract holds all markets. MetaMorpho vaults sit on top, providing curated, multi-market lending strategies with ERC-4626 interfaces.

What You Probably Got Wrong

LLMs confuse Morpho Optimizer (V1) with Morpho Blue. They also hallucinate Aave-style pooled risk. These corrections are non-negotiable.

  • This is NOT Morpho Optimizer (V1) -- Morpho Optimizer was a peer-to-peer matching layer on top of Aave/Compound. Morpho Blue is a standalone, independent lending protocol with its own singleton contract. Different addresses, different interfaces, different architecture. If you see MorphoAaveV2 or MorphoCompound, you are writing V1 code. Stop.
  • Market ID = keccak256(abi.encode(loanToken, collateralToken, oracle, irm, lltv)) -- The market is identified by a bytes32 hash of its five parameters. Not a numeric index. Not an address. If you are passing a uint256 market index, you are wrong.
  • One singleton contract for ALL markets -- Every market lives inside the same Morpho contract at 0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb. There are no per-market contracts to deploy or interact with.
  • LLTV is NOT the same as LTV -- LLTV (Liquidation Loan-To-Value) is the threshold at which a position becomes liquidatable. It is NOT the maximum amount you can borrow. You can borrow up to LLTV, but doing so means instant liquidation risk. Always borrow well below LLTV.
  • MetaMorpho vaults are a separate layer -- Morpho Blue markets are the primitive. MetaMorpho vaults are ERC-4626 wrappers that allocate deposits across multiple Morpho Blue markets. Supplying to a vault is NOT the same as supplying directly to a market. Different contracts, different interfaces.
  • Shares, not balances -- Morpho Blue tracks positions using shares internally (like ERC-4626). supply() and borrow() accept either an assets amount OR a shares amount, but not both simultaneously. One must be zero. The conversion between shares and assets changes as interest accrues.
  • Oracle price uses 36-decimal scaling -- Morpho Blue oracles return price with 36 + loanTokenDecimals - collateralTokenDecimals decimals of precision. This is NOT 18 decimals. Getting this wrong causes catastrophic mispricing. A WETH/USDC oracle returns price with 36 + 6 - 18 = 24 decimals.
  • Markets are immutable once created -- After createMarket(), the parameters (oracle, IRM, LLTV) can never be changed. There is no governance. If the oracle breaks, the market is permanently affected.
  • liquidate() uses seizedAssets OR repaidShares, not both -- Pass one and set the other to zero. The contract calculates the counterpart. Passing both nonzero reverts.
  • Authorization is per-address, not per-market -- setAuthorization(address, bool) grants or revokes permission for an address to act on behalf of msg.sender across ALL markets, not a specific one.
Installs
1
First Seen
Aug 4, 2026
morpho — justaname-id/cryptoskills