Multisig

Main configuration account for Squads multisigs

The Multisig account serves as the global config for your Squad. This stores all data related to membership, permissions, thresholds, and more. It will be required for every instruction method and account derivation with the SDK.

The account address itself is derived via a createKey, which is a public key used as a seed. It is recommended to generate a one-time keypair for the createKey to avoid collisions, and save the public key, or the resulting multisig address for later use.

Getting the Multisig account

import * as multisig from "@sqds/multisig";
import { Keypair } from "@solana/web3.js";

const { Multisig } = multisig.accounts;

async function main() {
    // One-time keypair, used for derivation 
    const createKey = Keypair.generate();

    const [multisigPda] = multisig.getMultisigPda({
        createKey.publicKey,
    });
    
    const multisigAccount = await Multisig.fromAccountAddress(
        connection,
        multisigPda
    );
   
    console.log(multisigAccount);
}

Notes:

  • DO NOT send funds to this account. They will be lost if you do.

  • The Multisig account handles global config for the entirety of the Squad

  • The account is derived via a createKey, which is one of the singers for its creation.

  • See the reference for more information on account structure and seeds.

Last updated