Squads Docs
Development
Development
  • Introduction
    • What is Squads Protocol
    • Use Cases
    • Quickstart
  • Typescript
    • Overview
    • Instructions
      • Create Multisig
      • Create Config Transaction
      • Create Vault Transaction
      • Create Proposal
      • Approve Proposal
      • Reject Proposal
      • Cancel Proposal
      • Execute Config Transaction
      • Execute Vault Transaction
      • Create Batch
      • Add To Batch
      • Close Vault Transaction Account
      • Controlled Multisig Instructions
        • Add Member
        • Remove Member
        • Set Rent Collector
        • Add spending limit
        • Remove Spending Limit
    • Accounts
      • Multisig
      • Vault
      • Transactions
      • Proposal
      • Batch
  • Reference
    • Accounts
    • Permissions
    • Spending Limits
    • Time-locks
    • SDKs
    • Controlled Multisigs
  • API
    • Vault Check
  • CLI
    • Installation
    • Commands
  • Get Support
    • We're here to help
  • Other
    • Migrating from MultisigCreate v1 to v2
    • Squads Actions and Blinks
Powered by GitBook
On this page
  • Example
  • Notes
  1. Typescript
  2. Instructions
  3. Controlled Multisig Instructions

Add Member

Add a Member via Config Authority

PreviousControlled Multisig InstructionsNextRemove Member

Last updated 8 months ago

This instruction adds a member at the discretion of the .

Example

import * as multisig from "@sqds/multisig";

// Cluster Connection
const connection = new Connection("<your rpc url>");

// Fee payer is the a signer that pays the transaction fees
const feePayer = Keypair.generate();

// Derive the multisig PDA
const multisigPda = multisig.getMultisigPda({
    // The createKey has to be a Public Key, see accounts reference for more info
    createKey,
})[0];

// Public Key of the new member
const member = new PublicKey("");

await multisig.rpc.multisigAddMember({
    connection,
    feePayer,
    // The public key of the multisig account
    multisigPda,
    // Specify the config authority Public Key if there is one, else set to null
    configAuthority: null,
    // Account paying for the rent of the additional account space needed by adding a member
    rentPayer: feePayer,
    newMember: {
        // Public Key of the new member to be added
        key: members.almighty.publicKey,
        // Permissions that the new member will have, check the reference for more info
        permissions: Permissions.all(),
    },
});

Notes

Can only be used with a .

Controlled Multisig
Config Authority