Instructions
Instructions are executable actions attached to proposals. When a proposal is approved, its instructions are executed on-chain.
What are Instructions?
Instructions define what happens when a proposal passes. A proposal without instructions is purely signaling, it doesn't execute any on-chain action.
Adding Instructions to a Proposal
Instruction Types
Common Instructions
Transfer Tokens
Send tokens from treasury to a recipient
Create Token Account
Create a new token account for the treasury
Burn Tokens
Burn tokens from treasury
Update Metadata
Add or update DAO Metadata
Treasury/ DeFi Instructions
DeFi Lending
Earn yield on treasury assets by depositing on Save Finance
Staking (Stake, Deactivate, Unstake)
Stake SOL from the treasury to a validator
Token22 Fees
Claim fees from token22 token account
Streaming Instructions
Create Stream
Set up token streaming to a recipient
Cancel Stream
Stop an active stream
Lock Tokens
Locks token until a specific date
Cancel Lock Tokens
Cancel an active token lock from the treasury
Custom Instructions
Base64 Instruction
Execute any instruction using raw base64 data
Empty Instruction
Signaling proposal with no execution
Use Base64 instructions for advanced use cases or protocols not yet integrated into the UI.
Governance Instructions
Set Governance Config
Modify DAO voting parameters
Set Realm Authority
Change the realm authority
Set Realm Config
Update realm configuration
Add/Remove Council Member
Manage council membership
Program Instructions
Upgrade Program
Deploy a new version of a DAO-owned program
Set Upgrade Authority
Transfer program upgrade authority
Close Program Buffer
Clean up unused program buffers
Multiple Instructions
A single proposal can contain multiple instructions. They execute in order when the proposal is approved.
Common multi-instruction patterns:
Create token account → Transfer tokens
Multiple treasury transfers in one proposal
Instruction Hold-up Time
Each instruction can have a hold-up time a delay between approval and execution. This gives the community time to react before irreversible actions occur.
Executing Instructions
After a proposal passes:
Wait for any hold-up time to expire
Click Execute on each instruction
Confirm the transaction
Anyone can execute approved instructions once the hold-up time passes. Instructions must be executed before they expire.
For developers wanting to add custom protocol instructions, please reach out.
Last updated