> ## Documentation Index
> Fetch the complete documentation index at: https://new-docs.squads.so/llms.txt
> Use this file to discover all available pages before exploring further.

# TypeScript SDK Overview

## Overview

Build with the Squads V4 TypeScript SDK. This section covers reading data from and interacting with the V4 program.

## Program ID

```text theme={null}
SQDS4ep65T869zMMBKyuUq6aD6EgTu8psMjkvj52pCf
```

## Installation

```bash theme={null}
npm install @sqds/multisig @solana/web3.js
```

## Quick Example

```typescript theme={null}
import * as multisig from "@sqds/multisig";
import { Connection, Keypair } from "@solana/web3.js";

const { Permission, Permissions } = multisig.types;

const connection = new Connection("<your rpc url>", "confirmed");

// Derive multisig PDA
const createKey = Keypair.generate();
const [multisigPda] = multisig.getMultisigPda({
  createKey: createKey.publicKey,
});
```

## SDK Structure

| Namespace | Description |
| - | - |
| `multisig.instructions` | Returns selected instructions to be processed and sent by your client |
| `multisig.rpc` | Builds instructions, creates transaction, and sends immediately |
| `multisig.transactions` | Creates instructions and returns a VersionedTransaction |
| `multisig.accounts` | Account types and utility methods for working with them |
| `multisig.utils` | Helper functions for working with Squads |
| `multisig.types` | Types related to Squads |

## Reading Data (Accounts)

| Account | Description | Documentation |
| - | - | - |
| Multisig | Main configuration account | [Read Multisig](/developers/typescript-sdk/accounts/multisig) |
| Transaction | Vault and Config transactions | [Read Transactions](/developers/typescript-sdk/accounts/transactions) |
| Proposal | Voting and status tracking | [Read Proposal](/developers/typescript-sdk/accounts/proposal) |
| Vault | Asset storage accounts | [Read Vault](/developers/typescript-sdk/accounts/vault) |
| Batch | Grouped transactions | [Read Batch](/developers/typescript-sdk/accounts/batch) |

## Interacting (Instructions)

| Instruction | Description | Documentation |
| - | - | - |
| Create Multisig | Initialize a new multisig | [Create Multisig](/developers/typescript-sdk/instructions/create-multisig) |
| Create Vault Transaction | Add arbitrary transactions | [Create Vault Transaction](/developers/typescript-sdk/instructions/create-vault-transaction) |
| Create Config Transaction | Change multisig configuration | [Create Config Transaction](/developers/typescript-sdk/instructions/create-config-transaction) |
| Create Proposal | Enable voting on transactions | [Create Proposal](/developers/typescript-sdk/instructions/create-proposal) |
| Approve Proposal | Cast approval vote | [Approve Proposal](/developers/typescript-sdk/instructions/approve-proposal) |
| Reject Proposal | Cast rejection vote | [Reject Proposal](/developers/typescript-sdk/instructions/reject-proposal) |
| Cancel Proposal | Invalidate a proposal | [Cancel Proposal](/developers/typescript-sdk/instructions/cancel-proposal) |
| Execute Vault Transaction | Execute approved vault transaction | [Execute Vault Transaction](/developers/typescript-sdk/instructions/execute-vault-transaction) |
| Execute Config Transaction | Execute approved config transaction | [Execute Config Transaction](/developers/typescript-sdk/instructions/execute-config-transaction) |
| Create Batch | Group multiple transactions | [Create Batch](/developers/typescript-sdk/instructions/create-batch) |
| Add to Batch | Add transaction to batch | [Add to Batch](/developers/typescript-sdk/instructions/add-to-batch) |
| Close Vault Transaction | Reclaim rent from transactions | [Close Vault Transaction](/developers/typescript-sdk/instructions/close-vault-transaction-account) |

## Controlled Multisig Instructions

For multisigs with a Config Authority:

| Instruction | Documentation |
| - | - |
| Add Member | [Add Member](/developers/typescript-sdk/instructions/controlled-multisig/add-member) |
| Remove Member | [Remove Member](/developers/typescript-sdk/instructions/controlled-multisig/remove-member) |
| Add Spending Limit | [Add Spending Limit](/developers/typescript-sdk/instructions/controlled-multisig/add-spending-limit) |
| Remove Spending Limit | [Remove Spending Limit](/developers/typescript-sdk/instructions/controlled-multisig/remove-spending-limit) |
| Set Rent Collector | [Set Rent Collector](/developers/typescript-sdk/instructions/controlled-multisig/set-rent-collector) |

## See Also

* [Quickstart](/developers/quickstart)
* [Guides](/developers/typescript-sdk/guides/first-transaction)
* [Reference](/developers/reference/accounts)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.