Skip to main content

Non-Upgradeable Plugins

Get Started with Non-Upgradeable Plugins

A Non-Upgradeable Plugin is a Plugin built on smart contracts that cannot be upgraded. This may or may not be what you want.

Some observations:

  • Non-Upgradeable contracts are simpler to create, deploy, and manage.
  • Instantiation is done via the new keyword or deployed via the minimal proxy pattern (ERC-1167)
  • The storage is contained within each version. So if your plugin is dependent on state information from previous versions, you won't have access to it directly in upcoming versions, since every version is a blank new state. If this is a requirement for your project, we recommend you deploy an Upgradeable Plugin.

Before moving on with the Guide, make sure you've read our documentation on Choosing the Best Type for Your Plugin to make sure you're selecting the right type of contract for your Plugin.

Up next, check out our guides on:

  1. How to initialize Non-Upgradeable Plugins
  2. How to build the implementation of a Non-Upgradeable Plugin
  3. How to build and deploy a Plugin Setup contract for a Non-Upgradeable Plugin
  4. How to publish my plugin into the Aragon OSx protocol
© 2024