Alchemix User Docs
Alchemix User Docs
Alchemix User Docs
  • ๐Ÿ“œAlchemix
  • Alchemix Ecosystem
    • ๐Ÿ”ฎOverview
    • โš—๏ธAlchemist
    • ๐ŸบalAssets
    • โš–๏ธTransmuter
    • ๐ŸงชElixir AMO
    • โ›“๏ธAlchemix on L2
    • ๐Ÿ› ๏ธUtility Tools
    • ๐Ÿ—๏ธLinks & Resources
  • ๐ŸŒ™Alchemix DAO
    • ๐ŸฐThe Alchemix DAO
      • ๐Ÿ•ฏ๏ธGovernance Process
        • ๐Ÿ–ฅ๏ธDevelopment of New Adapters
        • ๐Ÿง™โ€โ™‚๏ธMultisig Admin Rights
      • ๐ŸŒฑStaking Pool Incentives
    • โœจALCX Token
  • ๐Ÿ“šResources
    • โ‰๏ธFAQ
    • ๐ŸŒSite Overview
    • ๐Ÿฆ‰How to
      • โšกDeposit funds
      • ๐Ÿ„Take a Self-Repaying Loan
      • ๐ŸŒŸRepay your loan
      • ๐Ÿ”ฅLiquidate your loan
      • ๐Ÿ€Withdraw funds
      • ๐Ÿ”„Migrate between vaults
    • ๐Ÿง‘โ€๐ŸซGuides
      • โš—๏ธThe AMO: The Elixir
      • ๐ŸŒ‰Bridging assets to other chains
      • โš ๏ธRisk & Counterparties
      • โš–๏ธThe Transmuter, Elaborated
      • ๐ŸฆVault Losses and Collateral De-pegging
    • ๐ŸŒ™Marketing Material
      • Alcx logo - Bronze
      • Alcx logo - White
      • Alcx logo - Black
      • alAssets
    • ๐Ÿ•ต๏ธAudits & Reports
      • ๐Ÿ’ฑFinancial Reports
Powered by GitBook
On this page
  • Multisig Admin Rights
  • Access Control
  • Upgradeability
  • Pause Control
  • Multisigs, Timelock, and veALCX
  • More Information
  1. Alchemix DAO
  2. The Alchemix DAO
  3. Governance Process

Multisig Admin Rights

Multisig Admin Rights

Access Control

Alchemist Contracts

Alchemist contracts for alUSD and alETH allow the user to create a debt position by depositing tokens as collateral and taking debt against the collateral by minting alUSD or alETH.

Each Alchemist Contract has the following privileged roles: Admin, Sentinel, and Keeper, with the following privileges:

  1. Admin

    • Add tokens to the list of underlying and yield tokens supported by the Alchemist

    • Enable and disable tokens from this list

    • Add and remove sentinels and keepers

    • Transfer the admin role to a different address (must be accepted by the new admin)

    • Configure the Alchemist's parameters, including limits, fees, and the addresses of the Transmuter and protocol fee receiver

    • Reset ("snap") the expected value of a yield token to the current value. Since deposits, withdrawals of the underlying, and liquidations are blocked if the value of a yield token suddenly drops significantly below its expected value, this can prevent the contract from becoming unusable if the yield token doesn't recover, or takes too long to recover.

    • Disable or enable whitelisting requirements

  2. Sentinel

    • Sentinels can disable (ie, pause) underlying and yield tokens. pauseUnderlyingToken() will disable deposit(), depositUnderlying(), repay(), and liquidate() functionality for the given underlying token. pauseYieldToken() will disable deposit(), depositUnderlying(), withdraw(), withdrawUnderlying(), liquidate() , and harvest()for the given yield token (ie, given yield strategy). See Pause Control below for more information.

  3. Keeper

    • Keepers can trigger harvests of the yield tokens.

Upgradeability

One major design choice of note in Alchemix v2 is upgradeability. All 3 major contracts (AlchemistV2, TransmuterV2, and TransmuterBuffer) are built to be used via upgradeable proxies. This entrusts the Alchemix DAO with the ability and responsibility to upgrade the functionality whenever needed.

Pause Control

Sentinels have the ability to pause yield tokens should there be an issue. Admins may then unpause the tokens. When an underlying token is disabled, it should be noted that the withdraw(), withdrawUnderlying(), repay(), mint(), and burn() (ie, repay debt with alAssets) functions can still be called - allowing users to settle their debt and withdraw the yield token or underlying token.

Each accepted yield token has a configured maximum amount of loss that it can experience and still function normally. If the yield strategy loses more than the specified maximumLoss, then the yield strategy is paused automatically, meaning users may not make any deposits, may not liquidate or repay, and may not take a new loan with these strategies. Harvests will also be disabled. Lastly, users will be unable to withdraw collateral as the underlying asset. However, they will still be able to repay their loan and withdraw the yield token. For example, if the maximumLoss were exceeded, a user could not withdraw DAI from a strategy that uses yDAI. However, they could still repay their loan with DAI to withdraw their yDAI collateral.

Sentinels also have the ability to pause underlying tokens if issues arise. This applies only to alAssets with multiple underlying tokens, such as alUSD.If an underlying token is paused, the deposit(), depositUnderlying(), liquidate(), and repay() functions would be disabled for that token. Notably, debts may still be paid down by harvests and users may repay debt with alAssets or other underlying tokens and withdraw their funds.

Multisigs, Timelock, and veALCX

The Alchemix Developer Multisig serves as the administrator for the Alchemix contracts and manages the protocolโ€™s operational budget. Separately, the timelock multisig holds the majority of DAO-owned ALCX and owns the sweep functions of the AMO contracts (i.e., AMO funds can only be removed from the AMO contracts by the timelock multisig). The timelock is currently 600 seconds, reduced from 24 hours in response to the July 30th Curve Exploit. In the future, the timelock will likely be retired and all admin controls will be assigned to a mix of veALCX and the dev multisig, with a goal of shifting more power to veALCX and away from the dev multisig over time.

More Information

PreviousDevelopment of New AdaptersNextStaking Pool Incentives

Last updated 9 months ago

For more in-depth information on admin controls and contract features, see the and .

v2 audit
developer docs
๐ŸŒ™
๐Ÿฐ
๐Ÿ•ฏ๏ธ
๐Ÿง™โ€โ™‚๏ธ
Page cover image