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:
Create a Proposal: Submit a proposal with the program upgrade instruction
Community Vote: DAO members vote on the proposed changes
Execution: If approved, the upgrade is executed through governance
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:
Deploy your program with your wallet as the upgrade authority
Test the program thoroughly
Create a proposal to transfer the upgrade authority
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