Skip to main content

Contracts Architecture


  • Immutable - the contract cannot be upgraded
  • Migratable - the contract can be upgraded by their owners to newer versions provided by its factory
  • Not Specified - the contract may or may not be upgradeable


  • VaultFactory is Ownable, the owner can whitelist new Vault implementations
  • Vault is Ownable to be able to migrate to newer versions and has an AccessControl (roles mechanic) for its functions
  • Collateral and RewardsDistributor can have any accessibility