solana_kit_squads

pub package docs website CI coverage

Squads V4 multisig program client for the Solana Kit Dart SDK: instruction builders, account codecs, error helpers, and PDA derivations for the Squads V4 program (SQDS4ep65T869zMMBKyuUq6aD6EgTu8psMjkvj52pCf).

What you get

  • Instruction builders for all 36 program instructions: multisig creation and member management, config and vault transactions, batches, proposals, spending limits, and transaction buffers
  • Account codecs for multisig, vault transactions, config transactions, proposals, spending limits, and program config
  • PDA derivations matching the upstream @sqds/multisig TypeScript SDK byte-for-byte: multisig, vault, transaction, proposal, batch, batch transaction, spending limit, ephemeral signer, and program config
  • Error helpers for all 45 program errors
  • Program parsing via parseSquadsMultisigInstruction

Installation

Install the package directly:

dependencies:
  "solana_kit_squads": ^

If your app uses several Solana Kit packages together, you can also depend on the umbrella package instead:

dart pub add solana_kit

Inside this monorepo, Dart workspace resolution uses the local package automatically.

:::

Installation

Install the package directly:

dependencies:
  "solana_kit_squads": ^

If your app uses several Solana Kit packages together, you can also depend on the umbrella package instead:

dart pub add solana_kit

Inside this monorepo, Dart workspace resolution uses the local package automatically.

Documentation

For architecture notes, getting-started guides, and cross-package examples, start with the workspace docs site and then drill down into the package README and API reference.

Usage

Derive the multisig and vault PDAs

Squads V4 PDA derivations match the upstream TypeScript SDK byte-for-byte, including vault indices and little-endian transaction indices.

import 'package:solana_kit_addresses/solana_kit_addresses.dart';
import 'package:solana_kit_squads/solana_kit_squads.dart';

Future<void> main() async {
  final (multisig, bump) = await findMultisigPda(
    createKey: Address('CreateKey11111111111111111111111111111111111'),
  );
  final (vault, vaultBump) = await findVaultPda(multisig: multisig, index: 0);

  print(multisig);
  print(vault);
}

Instruction builders cover multisig creation, config transactions, vault transactions, batches, proposals, and spending limits.

Key APIs

  • findMultisigPda, findVaultPda, findTransactionPda, findProposalPda, findBatchTransactionPda, findSpendingLimitPda, findEphemeralSignerPda, findProgramConfigPda
  • getMultisigCreateInstruction, getVaultTransactionCreateInstruction, getProposalCreateInstruction, and the rest of the generated builders
  • parseSquadsMultisigInstruction, identifySquadsMultisigInstruction
  • getSquadsMultisigErrorMessage, SquadsMultisigError

Reference

Generated with codama-renderers-dart from the Squads-Protocol / v4 Anchor IDL (sdk/multisig/idl/squads_multisig_program.json). PDA derivations and seed constants mirror the upstream TypeScript SDK and the Rust squads-client reference exactly, including little-endian u64 transaction indices and single-byte vault indices.

Libraries

solana_kit_squads
Squads V4 multisig client for the Solana Kit Dart SDK.