Deprecate All LlamaLend Markets on Sonic

Summary

This proposal seeks to deprecate all LlamaLend markets on the Sonic network. It will consist of two votes:

  1. Vote 1: Kill the gauges associated with the Sonic LlamaLend markets.
  2. Vote 2: Set the Sonic LlamaLend loan discounts to their maximum values (loan_discount = 50%).

All target addresses below:

Market Controller Address Gauge Address
wS 0x5eD490a9B71fa797231d2c5D9bE25bf91a953C19 0xaf3df70E5E5E24f85A4A93183f69CF735003a8D9
stS 0xB8C93fb97884Ea07c2Eb0eA741f78D10e8C5aF9F 0x414243F5A72bBF355999F06f0cE70C6f9b685119
scETH 0x7547E577B3DDC23c02E10792457f8e51a225692E 0x119710bca41aA10d6701f8e2D17ED2e2b8B99955
scUSD 0xbb7A0C558Fd34234Dc1608f4CD0a334E0075D73a 0xf30348F8947F46aEdE57d9b9fFE42B56E4220D13
wOS 0xDC06056e208aB92bF173FF6DD662F1018ea0E483 0x474a58A0E75d664F450Fd9218Cb718307b25ea50

Abstract

This proposal initiates the deprecation of the LlamaLend markets deployed on Sonic by disabling their associated gauges on Ethereum mainnet and updating their borrowing discount parameters on Sonic. The first vote calls set_killed(True) on the five mainnet gauges linked to the Sonic LlamaLend markets. These calls are executed through the mainnet proxy owner that administers the gauges.

The second vote updates loan discounts on Sonic using the established cross-chain governance (xgov) broadcasting process. A transaction is sent from mainnet to the Sonic broadcaster contract, which relays calls to the Sonic proxy owner. For each Sonic LlamaLend market, borrowing parameters are updated to the maximum allowed discounts (50% loan discount). These parameter changes affect borrowers only when they next interact with their position, and is limited to assigning borrow power (this change will not induce liquidations).

There may be additional deprecation steps involving modification to the monetary policy and updating the user interface to reflect the deprecated status. This is the first step in a broader migration plan to make way for LlamaLend V2. We will start to deprecate more V1 markets as LlamaLend V2 becomes available on those chains and analogous markets have been deployed to allow for migration of positions.


Rationale

The LlamaLend deployments on Sonic have not achieved adoption and currently exhibit no meaningful borrowing or liquidity activity. Maintaining gauges and market parameters for inactive deployments introduces unnecessary maintenance overhead and creates the potential for emissions being directed to markets that no longer require support.

As part of the broader preparation for LlamaLend V2, inactive V1 markets will be deprecated across chains. Sonic is the first chain selected in this phased process due to its lack of usage, making the deprecation straightforward and operationally low impact. Removing these unused deployments helps maintain a clean gauge registry, prevent emissions waste, and focus resources on soon-to-launch V2 markets.

This proposal follows past governance precedent in retiring obsolete or superseded markets and ensures consistent treatment across chains.


Methodology

To ensure a smooth, predictable, and user-safe wind-down, the following coordinated actions will be taken:

1. Protocol Actions

  • Kill Gauges to stop emissions and discourage further deposits.
  • Set Loan Discount to 50%, reducing LTV for any new borrowing and preventing further leverage.

2. UI / Front-End Updates

  • Deprecated markets will be hidden from new users.
  • Only users with existing positions can access them, with all new actions disabled (no deposits, no extra collateral, no new loans).
  • Users will see a clear deprecation warning and only have access to repay/withdraw/close-position/migration flows.

3. Communications

  • Announcements will be shared through forums, Discord, Telegram, and Twitter, alongside in-app warning banners.
  • This ensures all affected users are aware of the deprecation timeline and recommended next steps.

This combined approach provides a consistent, safe, and transparent wind-down framework that can be reused for future market deprecations.

Specification / Vote Actions

Vote 1 – Kill mainnet gauges associated with Sonic LlamaLend markets

Mainnet proxy owner: 0xff12c0df72E02ab9C1fD8b986d21FF8992a8cCEE

Gauges to be killed (all via set_killed(True)):

  • wS gauge: 0xaf3df70E5E5E24f85A4A93183f69CF735003a8D9
  • stS gauge: 0x414243F5A72bBF355999F06f0cE70C6f9b685119
  • scETH gauge: 0x119710bca41aA10d6701f8e2D17ED2e2b8B99955
  • scUSD gauge: 0xf30348F8947F46aEdE57d9b9fFE42B56E4220D13
  • wOS gauge: 0x474a58A0E75d664F450Fd9218Cb718307b25ea50

PROXY = "0xff12c0df72E02ab9C1fD8b986d21FF8992a8cCEE"

ACTIONS = [
    (PROXY, "set_killed", "0xaf3df70E5E5E24f85A4A93183f69CF735003a8D9", True),
    (PROXY, "set_killed", "0x414243F5A72bBF355999F06f0cE70C6f9b685119", True),
    (PROXY, "set_killed", "0x119710bca41aA10d6701f8e2D17ED2e2b8B99955", True),
    (PROXY, "set_killed", "0xf30348F8947F46aEdE57d9b9fFE42B56E4220D13", True),
    (PROXY, "set_killed", "0x474a58A0E75d664F450Fd9218Cb718307b25ea50", True),
]

Vote 2 – Set Sonic LlamaLend loan discounts to maximum values

Broadcaster (mainnet): 0x7BA33456EC00812C6B6BB6C1C3dfF579c34CC2cc

Target chainid: 146 (Sonic)

Sonic LlamaLend markets (targets on Sonic):

  • wS: 0x5eD490a9B71fa797231d2c5D9bE25bf91a953C19
  • stS: 0xB8C93fb97884Ea07c2Eb0eA741f78D10e8C5aF9F
  • scETH: 0x7547E577B3DDC23c02E10792457f8e51a225692E
  • scUSD: 0xbb7A0C558Fd34234Dc1608f4CD0a334E0075D73a
  • wOS: 0xDC06056e208aB92bF173FF6DD662F1018ea0E483

SONIC_BROADCASTER = "0x7BA33456EC00812C6B6BB6C1C3dfF579c34CC2cc"

WS = "0x5eD490a9B71fa797231d2c5D9bE25bf91a953C19"
STS = "0xB8C93fb97884Ea07c2Eb0eA741f78D10e8C5aF9F"
SCETH = "0x7547E577B3DDC23c02E10792457f8e51a225692E"
SCUSD = "0xbb7A0C558Fd34234Dc1608f4CD0a334E0075D73a"
WOS = "0xDC06056e208aB92bF173FF6DD662F1018ea0E483"

PROXY_OWNER_SONIC = "0xF5cefa8b5a4C8B958d1306A2d905b5dB7cb2796B"

LOAN_DISC = 50 * 10**16 # 50%

ws = Contract("0x5eD490a9B71fa797231d2c5D9bE25bf91a953C19")
sts = Contract("0xB8C93fb97884Ea07c2Eb0eA741f78D10e8C5aF9F")
sceth = Contract("0x7547E577B3DDC23c02E10792457f8e51a225692E")
scusd = Contract("0xbb7A0C558Fd34234Dc1608f4CD0a334E0075D73a")
wos = Contract("0xDC06056e208aB92bF173FF6DD662F1018ea0E483")


ACTIONS = [  

    # Set Sonic Params
    (SONIC_BROADCASTER, "broadcast", 146, [ 
        (PROXY_OWNER_SONIC, encode("set_borrowing_discounts(address,uint256,uint256)", WS, LOAN_DISC, ws.liquidation_discount())),
        (PROXY_OWNER_SONIC, encode("set_borrowing_discounts(address,uint256,uint256)", STS, LOAN_DISC, sts.liquidation_discount())),
        (PROXY_OWNER_SONIC, encode("set_borrowing_discounts(address,uint256,uint256)", SCETH, LOAN_DISC, sceth.liquidation_discount())),
        (PROXY_OWNER_SONIC, encode("set_borrowing_discounts(address,uint256,uint256)", SCUSD, LOAN_DISC, scusd.liquidation_discount())),
        (PROXY_OWNER_SONIC, encode("set_borrowing_discounts(address,uint256,uint256)", WOS, LOAN_DISC, wos.liquidation_discount())),
    ]),
]
1 Like

Vote 1 is live here:

Vote 2 is live here:

Any launch on BASE ? planed?