Skip to main content

Upgradeable Plugins

How to develop an Upgradeable Plugin

Upgradeable contracts offer advantages because you can cheaply change or fix the logic of your contract without losing the storage of your contract. If you want to review plugin types in depth, check out our guide on plugin types here.

The drawbacks however, are that:

  • there are plenty of ways to make a mistake, and
  • the changeable logic poses a new attack surface.

Although we've abstracted away most of the complications of the upgrade process through our PluginUUPSUpgradeable base class, please know that writing an upgradeable contract is an advanced topic.


Up next, check out our guides on:

  1. How to initialize an Upgradeable Plugins
  2. How to build the implementation of an Upgradeable Plugin
  3. How to build and deploy a Plugin Setup contract for an Upgradeable Plugin
  4. How to create a subsequent build implementation to an Upgradeable Plugin
  5. How to upgrade an Upgradeable Plugin
  6. How to publish my plugin into the Aragon OSx protocol
© 2023