Checks

Actionable review instructions organized by protocol and component.

Morpho V2

Morpho’s documentation covers the protocol mechanics, interfaces and configuration data used by these checks.

Oracles

morpho-v2-oracles-1

Retrieve verified oracle source

For every market the vault currently uses or is permitted to use, resolve the oracle address from the market configuration. Confirm that runtime bytecode exists at that address, retrieve verified source for the deployed contract, and follow every proxy or implementation reference before reviewing its behaviour.

If the implementation source cannot be retrieved and matched to the deployed contract, report the oracle as unresolved. Do not mark source-dependent oracle checks as passed.

morpho-v2-oracles-2

Check for settable prices

After resolving the verified implementation, trace every value used by price() and every externally reachable function that can change those values. Include inherited functions, role-managed configuration and setters on external dependencies; do not rely on function names alone.

Report an issue when an owner, administrator or other privileged party can materially change the reported price without an independent economic price source constraining the result. Record the controlling addresses and affected markets. If access control or a dependency cannot be resolved, report the check as unresolved.

morpho-v2-oracles-3

Check oracle upgradeability

Inspect the oracle and every contract on its pricing path for proxy storage slots, implementation lookups, upgrade functions and unrestricted delegatecall. Resolve the current implementation and every address able to replace or modify it.

Report an issue when a privileged party can replace pricing logic or dependencies without controls that the reviewer can justify for the vault. If the implementation or upgrade authority cannot be resolved, report the check as unresolved rather than treating the current source as permanent.

morpho-v2-oracles-4

Check fixed-price assumptions

Retrieve the verified oracle contract source and check for hard-coded price values.

Report an issue if the price is hard-coded. If the source is unavailable, record the check as unresolved.

morpho-v2-oracles-5

Check Pendle PT TWAP duration

Where Pendle PT collateral is used, verify that the oracle TWAP follows Pendle’s current guidance, which recommends 900 seconds for most markets or 1,800 seconds.

Report a materially shorter duration for review. If the duration cannot be determined, record the check as unresolved.

Collateral

morpho-v2-collateral-1

Check collateral holder concentration

For each collateral asset, use the appropriate Etherscan explorer to check the concentration of token holders.

Report an issue if a majority of the tokens sit with one party. If holder data is not readily available, record it as missing.

morpho-v2-collateral-2

Flag shallow collateral at high LLTV

Where new, derivative, obscure or otherwise economically shallow collateral is used in a high-LLTV market, flag the market for further review of liquidity, leverage and liquidation sensitivity.

Do not use total supply alone as a proxy for economic depth. If the collateral profile or LLTV cannot be established, record the check as unresolved.

Markets

morpho-v2-markets-1

Check overlapping control

Check the addresses of:

  • the vault owner
  • the vault curator
  • the market deployer
  • the oracle owner or administrator
  • the collateral owner or administrator

Record any roles held by the same address. If an address cannot be found, record it as missing.