Squads V3 Docs


How to create, upgrade, and change the authority of programs within your Squad.
For web3 native teams, the "Programs" section will be a part of the core operations of their Squad and it allows to:
  • Add programs
  • Upgrade Programs
  • Change authority of programs

Create and add Programs

Users can add programs to manage and upgrade them directly from their Squad.

Create programs

  1. 1.
    Create and deploy a program using your CLI.

Add programs

  1. 1.
    Navigate to the "Programs" section within your Squad's vault. Then click on 'Add Program'.
2. Enter the name and address of the program. Click "Next" and verify the transaction in the wallet pop-up.
Add program pop-up
3. Set the program’s upgrade authority to the address provided: copy the program authority update code and paste it into your CLI. The CLI code should be run by the current authority. Then click “Verify authority”.
Add program pop-up
NOTE: If the current authority is managed by a DAO or wallet you may need to set the authority by other means using the provided upgrade authority.
For users who would want to perform the authority transfer in a safer way there is an option to make a Safe Authority Transfer (SAT).
SAT creates a transaction in the Squad, which needs to be signed by both Squad's Vault PDA and the current authority holder.
To perform a Safe Authority Transfer (SAT):
  1. 1.
    Add your CLI wallet to the Squad. Check the Owners and Setting page for more info on members addition.
  2. 2.
    Click on the "Create SAT" button.
  3. 3.
    Enter a description (optional) and run a transaction inside your Squad.
  4. 4.
    Once the transaction meets the confirmation threshold, execute it with your CLI wallet, which you added into your Squad.
  5. 5.
    Once the transaction is executed, your program authority will be transferred.
Safe Authority Transfer (SAT)

Upgrade a program

Once the program is added to a Squad it can be upgraded straight from your Squad.
To upgrade a program:
  1. 1.
    Deploy your upgrade to the buffer using the command below. (For Rust)
solana program write-buffer <PROGRAM_FILEPATH>
For more information about writing intermediary buffer accounts refer to the link: https://docs.solana.com/cli/deploy-a-program#using-an-intermediary-buffer-account
2. Click on the program from the list and then click on the "Add upgrade" button.
3. Insert the details of the upgrade: name, buffer, and spill address, then click "Next" and approve the transaction in the wallet pop-up.
Program upgrade pop-up
4. Set the authority of the buffer to the provided address by copying a code in your CLI. Then click “Verify authority”.
Program upgrade pop-up
5. Click on the "Upgrade" button. A transaction will be created, after it meets the confirmation threshold and gets executed, a program upgrade will be deployed.

Change Authority

Program authority can be changed directly from a Squad after a program was added.
To do this:
  1. 1.
    Click on the program from the programs list.
  2. 2.
    Click on the "Change authority" button.
  3. 3.
    Insert a new program authority address and initiate a transaction.
  4. 4.
    Program authority will be changed upon transaction execution.