[Steakhouse] Introducing MetaOracleDeviationTimelock

Committed to Morpho’s long-term success, Steakhouse is proud to contribute a new public good to the Morpho ecosystem: the MetaOracleDeviationTimelock, designed for use with Morpho Markets v1.

As many of you know, several Morpho markets rely on hardcoded oracle values. Examples include:

  • Using the BTC price instead of cbBTC
  • Using a fixed value of 1 for stablecoins
  • Using the stETH/wstETH conversion rate instead of wstETH/ETH market prices
  • Using XAU instead of token-specific prices like PAXG or XAUt

These choices reflect a tradeoff between oracle manipulation risk and depeg risk. Market-based oracles are closer to the “true” price of the collateral but are often thinly traded and can be manipulated. Conversely, abstract oracles (e.g., fixed to $1 or BTC) are more robust but cannot reflect depegs or structural price shifts.

To address this, Steakhouse has developed a new smart contract module that combines the best of both worlds. The MetaOracleDeviationTimelock:

  • Uses the more robust abstract price by default (e.g., 1 USD for a stablecoin).
  • Monitors deviation from the actual market-based price (e.g., cbETH/ETH).
  • Switches to the market-based price if the deviation exceeds a configurable threshold for a defined duration.

This design filters out short-term volatility or manipulations while still responding to long-term depegs—improving market resilience and protocol safety.

We developed this contract in close coordination with Morpho and market curators, and aligned it with the ethos of trustless and immutable DeFi infrastructure. The contract is immutable. It was audited by Cantina.

Also, Steakhouse is not requesting a grant or compensation. We are bearing the full cost of development and audit ourselves, in the spirit of building sustainable public goods for the Morpho ecosystem.

We look forward to seeing this module contribute to safer, more robust markets across Morpho.

Source code: steakhouse-oracles/src/MetaOracleDeviationTimelock.sol at main · Steakhouse-Financial/steakhouse-oracles · GitHub
Audit: steakhouse-oracles/audits/2025-06-23-metaoracledeviationtimelock-cantina-managed-review.pdf at main · Steakhouse-Financial/steakhouse-oracles · GitHub
Factory addresses: Ethereum, Base

9 Likes

This is great work with very solid audit backing.
Monarch is now parsing + displaying Meta Oracles as another officially “recognized” oracle pattern :wink:

1 Like

Really cool pattern. Been following this since the original post. We’re actually dealing with a similar problem but for a pretty different asset class: real estate valuations on-chain.

The interesting twist is that property AVMs only update monthly (not real-time like crypto feeds), so the “deviation vs. hardcoded” tradeoff plays out differently. A 30-day staleness window is actually correct for real estate, but you still need a circuit breaker for when the data provider’s confidence drops.

Would love to see the MetaOracle pattern extended to handle slower-moving assets like this.

We’ve got a Chainlink-compatible property oracle live on Base if anyone’s curious: 0x1E999B5Cc9a8453fd071C872A62F9eF5B6e58E3E