Set EMAMonetaryPolicy on sDOLA LlamaLend Markets on Mainnet

Summary:

Replace Semilog Monetary Policy contract in the sDOLA-long and sDOLA2-long LlamaLend markets on mainnet with this EMAMonetaryPolicy contract.

Abstract:

The new Monetary Policy contract is based off the SusdeMonetaryPolicy that was used in prod for the sUSDe-v2-long LlamaLend market for some time (it has since been reverted to Semilog).

The new EMAMonetaryPolicy maintains the same concept of calculating the APR of the yieldbearing collateral and using it as a reference to set the market’s borrow rate at target utilization. It uses an EMA to smooth the rate adjustment, mitigating any anomalies or attempts to manipulate the rate. This monetary policy strategy offers advantages over Semilog by dynamically conforming the borrow rate to the yield earned on the underlying. This is useful for leverage looping strategies on like-kind assets.

The adapted contract has been made generic to streamline deployment of similar monetary policies for other yieldbearing stablecoin markets. Usage requires a calculator to determine the rate of rewards distribution. The contract has implemented several other changes, including a minimum rate of 1% and a check on calculator revert to prevent breaking the market in such a case. The EMA time has also been substantially reduced.

Motivation:

A previous proposal introduced the EMAMonetaryPolicy to the sfrxUSD-long market, and the vote executed on June 3, 2025. Over the past several weeks, the sfrxUSD market has continued its consistent growth trajectory, which may be supported by the EMAMonetaryPolicy’s UX improvements for both borrowers and lenders.



This indicates an opportunity to adopt EMAMonetaryPolicy on analogous markets, and the sDOLA market is a good contender because of its simple rate calculation and prevalence on LlamaLend.

Specification:

According to the rate calculator, the current yield on sDOLA is 6.14%. The MonPol has been deployed with the following parameters (which are settable by the DAO):

  • Target Utilization: 85%
  • Min Ratio: 0.2x
  • Max Ratio: 7.2x
  • Shift: 0

This configuration means that, given the current yield, the borrow rate at 85% market utilization is 6.14%. The min rate is ~1.23% and the max rate is ~44.24%. The curve will adjust up or down depending on the rate given by the sDOLA rate calculator.

For reference, an approximation of the rate curve with this parameterization is shown below:

Vote actions:

DOLA_CONTROLLER = "0xCf3DF6C1B4A6b38496661B31170de9508b867C8E"
DOLA2_CONTROLLER = "0xaD444663c6C92B497225c6cE65feE2E7F78BFb86"

ACTIONS = [
     (DOLA_CONTROLLER, "set_monetary_policy", "0x6640500C9be3DB65aE7e235A91E739Bc7d1C4Dc0"),
     (DOLA2_CONTROLLER, "set_monetary_policy", "0x6640500C9be3DB65aE7e235A91E739Bc7d1C4Dc0')
]

This vote is live here: