The Contracts Constituting Your DAO
In a nutshell, your Aragon OSx DAO consists of three pieces:
The DAO contract: The DAO contract is where the core functionality of the protocol lies. It is in charge of:
- Representing the identity of the DAO (ENS name, logo, description, other metadata)
- Keeping the treasury
- Executing arbitrary actions to
- Transfer assets
- Call its own functions
- Call functions in external contracts
- Providing general technical utilities (signature validation, callback handling)
The Permission Manager: The permission manager is part of the DAO contract and the center of our protocol architecture. It manages permissions for your DAO by specifying which addresses have permission to call distinct functions on contracts associated with your DAO.
Plugins: Any custom functionality can be added or removed through plugins, allowing you to fully customize your DAO. These plugins can be related to
- Governance (e.g., token voting, one-person one-vote)
- Asset management (e.g., ERC-20 or NFT minting, token streaming, DeFi)
- Membership (governing budget allowances, gating access, curating a member list)
The underlying smart contracts constitute the core contracts of the Aragon OSx DAO framework.
In the upcoming sections, you will learn about each of them in more depth.