Squads v3 Docs
  • Welcome to Squads
  • Who we are?
  • Basics
    • What's a Multisig?
    • What's a Squad?
  • Getting Started
    • Create a Squad
  • Navigating Your Squad
    • Dashboard
    • Vault
    • Transactions
    • Developers
      • Programs
      • Token Manager
      • Validators
      • TX Builder
    • Creators
    • Apps
    • Owners and Settings
  • Integrations
    • Staking
      • Stakewiz
      • JitoSOL
      • Lido
      • Marinade
      • SolBlaze
    • Tensor
    • Cardinal
    • Dialect
    • Bonfida
    • Jupiter
    • Coinflow
  • Security and audits
    • Security
    • Security Policy & Bug Bounty
    • Audit reports
  • Frequently Asked Questions
    • General
    • Protocol
    • Costs of using Squads
  • Development
    • PDAs
      • Multisig
      • Transaction
      • Instruction
      • Derivation
    • Authorities
    • Anchor IDL
      • Loading the Program
      • Create a Multisig
      • Transactions
        • Create a Transaction
        • Adding Instructions
        • Activating a Transaction
        • Approve / Reject a Transaction
        • Executing
    • SDK
  • Squads Community
    • Self Custody Society (SCS)
    • Community
Powered by GitBook
On this page
  • Create and add programs
  • Upgrade a program
  • Remove a program from UI
  • Withdraw program upgrade authority
  1. Navigating Your Squad
  2. Developers

Programs

How to create, upgrade, and change the authority of programs within your Squad.

PreviousDevelopersNextToken Manager

Last updated 2 years ago

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. Create and deploy a program using your CLI.

Add programs

  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.

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”.

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. Click on the "Create SAT" button.

  2. Enter a description (optional) and run a transaction inside your Squad.

  3. Once the transaction meets the confirmation threshold, execute it with your CLI wallet, which you added into your Squad.

  4. Once the transaction is executed, your program authority will be transferred.

Upgrade a program

Once the program is added to a Squad it can be upgraded straight from your Squad.

To upgrade a program:

  1. Deploy your upgrade to the buffer using the command below. (For Rust)

solana program write-buffer <PROGRAM_FILEPATH>

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.

4. Set the authority of the buffer to the provided address by copying a code in your CLI. Then click “Verify authority”.

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.

For more details check:

For more details check:

Remove a program from UI

Users can remove programs that they no longer use from the UI and claim back the rent in SOL.

To do this:

  1. Navigate to the programs list and click on the "Bin" icon next to the program you want to delete.

  2. Insert a description (optional) and launch a transaction.

  3. A program will be deleted upon transaction execution.

This action does not affect the program or the buffer, it will only remove the program from the UI. It will also return the PDA rent (in SOL) of this account to your vault.

Withdraw program upgrade authority

Program authority can be changed directly from a Squad after a program was added to any other address if needed.

To do this:

  1. Click on the program from the programs list.

  2. Click on the "Change authority" button.

  3. Insert a new program authority address and initiate a transaction.

  4. Program authority will be changed upon transaction execution.

Add your CLI wallet to the Squad. Check the page for more info on members addition.

For more information about writing intermediary buffer accounts refer to the link:

Using actions created by , you can automate the deployment of program upgrades directly from Github. Using those actions you can automatically build code, deploy it to a buffer and create a program upgrade transaction inside your Squad every time you make code changes to your program.

Squads users can also use to create an automated deployment pipeline and streamline their deployment process.

Owners and Setting
https://docs.solana.com/cli/deploy-a-program#using-an-intermediary-buffer-account
Cardinal
https://github.com/marketplace/actions/squads-program-upgrade
https://github.com/cardinal-labs/solana-buffer-deploy-action
Nosana
https://docs.nosana.io/tutorials/solana-multisig.html#cleaning-up-canceled-deployments
Add program pop-up
Add program pop-up
Safe Authority Transfer (SAT)
Program upgrade pop-up
Program upgrade pop-up
Page cover image