# Overview

This section is made for developers wanting to integrate Squads Protocol into their own projects by interacting with v4.

It is structured as straightforward as possible with two sections, with the first being how to read data from the v4 program and the second being how to interact with it. In each section you will be able to find a detailed list of every account and instruction included in the Squads v4 SDK and Crate.

### Program ID

The Squads V4 program is deployed on the Solana mainnet-beta cluster.

```
SQDS4ep65T869zMMBKyuUq6aD6EgTu8psMjkvj52pCf
```

### Interacting

Here are different ways to use the SDK:

* `multisig.instructions`: This will return selected instructions, to be processed and sent by your client.
* `multisig.rpc` : This will build selected instructions, put it in a transaction, and send immediately.
* `multisig.transactions`: This will create selected instructions, and return a VersionedTransaction with the instruction added.
* `multisig.accounts`: Various account types within the Squads program, and utility methods for working with them
* `multisig.utils`: Provides helper functions for working with Squads
* `multisig.types`: Various types related to Squads

### Table of Contents

Here is a list of the different categories this section contains.

#### Reading data from Squads (Accounts)

* [Read Multisig data](/main/development/typescript/accounts/multisig.md)
* [Read Transaction data](/main/development/typescript/accounts/transactions.md)
* [Read Proposal data](/main/development/typescript/accounts/proposal.md)

#### Interact with the Squads program (Instructions)

* [Create Multisig](/main/development/typescript/instructions/create-multisig.md)
* [Add Member](/main/development/typescript/instructions/controlled-multisig-instructions/add-member.md)
* [Add Spending Limit](/main/development/typescript/instructions/controlled-multisig-instructions/add-spending-limit.md)
* [Remove Spending Limit](/main/development/typescript/instructions/controlled-multisig-instructions/remove-spending-limit.md)
* [Create Vault Transaction](/main/development/typescript/instructions/create-vault-transaction.md)
* [Create Proposal](/main/development/typescript/instructions/create-proposal.md)
* [Approve Transaction](/main/development/typescript/instructions/approve-proposal.md)
* [Reject Proposal](/main/development/typescript/instructions/reject-proposal.md)
* [Cancel Proposal](/main/development/typescript/instructions/cancel-proposal.md)
* [Execute Transaction](/main/development/typescript/instructions/execute-vault-transaction.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.squads.so/main/development/typescript/overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
