Programs

DAO owned programs are Solana programs (smart contracts) where the upgrade authority is transferred to the DAO's governance.

What are DAO Owned Programs?

When a program's upgrade authority is owned by a DAO:

  • Community Control: The DAO members vote on all program upgrades

  • Decentralized Governance: No single person can modify the program

  • Transparent Changes: All updates happen through proposals visible to everyone

  • Security: Prevents unauthorized modifications

Program Upgrade Authority

On Solana, every deployed program has an upgrade authority - the wallet address that can deploy new versions of the program.

When this authority is transferred to a DAO's governance address, the program becomes DAO-controlled.

Making Changes

To upgrade or modify a DAO-owned program:

  1. Create a Proposal: Submit a proposal with the program upgrade instruction

  2. Community Vote: DAO members vote on the proposed changes

  3. Execution: If approved, the upgrade is executed through governance

  4. Deployment: The new program version is deployed on-chain

Common Use Cases

  • Protocol Upgrades: Add new features or fix bugs in DAO protocols

  • Parameter Changes: Update program configuration and settings

  • Security Patches: Deploy critical security fixes through governance

  • Feature Additions: Introduce new functionality voted on by the community

Upgrading a DAO Owned Program

To upgrade a program owned by your DAO, you need to create a proposal with a custom instruction that includes:

  • Program ID: The address of the program to upgrade

  • Buffer Address: The address containing the new program code

  • Upgrade Instruction: The specific upgrade command

Program upgrades are irreversible once executed. Always test thoroughly on devnet before proposing mainnet upgrades.

Transferring Upgrade Authority to DAO

If you're a program developer wanting to transfer control to a DAO:

  1. Deploy your program with your wallet as the upgrade authority

  2. Test the program thoroughly

  3. Create a proposal to transfer the upgrade authority

  4. Execute the transfer instruction to the DAO's governance address

Once transferred, you'll need to go through the governance process to make any future changes. Make sure the program is production-ready before the transfer.

Last updated