> ## 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.

# Execute a Batch of Transactions

## Overview

Leverage batches to couple multiple transactions under a single proposal for approval and execution.

## Prerequisites

* Existing multisig
* `@sqds/multisig` package installed
* Member with appropriate permissions

## Quick Example

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

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

const [multisigPda] = multisig.getMultisigPda({
  createKey: new PublicKey("<your createkey>"),
});

// Create batch
const batchCreateIx = await multisig.instructions.batchCreate({
  batchIndex: transactionIndex,
  creator: member,
  multisigPda,
  vaultIndex: 0,
  memo: "Creating a batch",
});
```

## Batch Workflow

1. Create a batch
2. Create a proposal as a draft
3. Add transactions to the batch
4. Activate the proposal
5. Vote on the proposal
6. Execute the proposal

## Full Example

See the following instruction references for complete examples:

* [Create Batch](/developers/typescript-sdk/instructions/create-batch)
* [Add to Batch](/developers/typescript-sdk/instructions/add-to-batch)

<Info>
  Use batches to approve several transactions under one proposal. They are not atomic: each `batchExecuteTransaction` call executes the next transaction in order, and the proposal becomes Executed after the last one. Create proposals as drafts (`isDraft: true`) when building batches to prevent premature voting.
</Info>

## See Also

* [Create Batch](/developers/typescript-sdk/instructions/create-batch)
* [Add to Batch](/developers/typescript-sdk/instructions/add-to-batch)
* [Batch Account](/developers/typescript-sdk/accounts/batch)


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