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

# Common Accounts

> Shared account groups used across Strategy Vault instructions

# Common Accounts

Many vault instructions share common account patterns. This page documents the reusable account groups referenced by individual instruction pages.

## Vault Core Accounts

Used by most vault instructions that read or modify vault state.

| Name             | Signer | Writable | Description                                                                        |
| ---------------- | ------ | -------- | ---------------------------------------------------------------------------------- |
| `vault`          | No     | Yes      | The `ExponentStrategyVault` PDA. Seeds: `["vault", seedId]`                        |
| `exponentPrices` | No     | Varies   | The global `ExponentPrices` PDA for AUM calculations. Seeds: `["exponent_prices"]` |

## Squads Policy Accounts

Used by policy management instructions (add, remove, update).

| Name                        | Signer | Writable | Description                                                                  |
| --------------------------- | ------ | -------- | ---------------------------------------------------------------------------- |
| `squadsSettings`            | No     | Yes      | Squads Settings account for the vault                                        |
| `squadsSettingsTransaction` | No     | Yes      | Squads transaction PDA. Seeds: `["transaction", settings, transactionIndex]` |
| `squadsProposal`            | No     | Yes      | Squads proposal PDA. Seeds: `["proposal", settings, transactionIndex]`       |
| `squadsPolicy`              | No     | Yes      | Squads policy PDA. Seeds: `["policy", settings, policySeed]`                 |
| `squadsProgram`             | No     | No       | Squads v4 program ID                                                         |

## LP Token Accounts

Used by deposit, withdrawal, and voting instructions that move LP tokens.

| Name            | Signer | Writable | Description                                                          |
| --------------- | ------ | -------- | -------------------------------------------------------------------- |
| `mintLp`        | No     | Varies   | The vault's LP token SPL mint                                        |
| `tokenLpEscrow` | No     | Yes      | Vault's LP token escrow account. Seeds: `["token_lp_escrow", vault]` |
| `tokenProgram`  | No     | No       | SPL Token program                                                    |

## Withdrawal Accounts

Used by queue, fill, execute, and cancel withdrawal instructions.

| Name                | Signer | Writable | Description                                |
| ------------------- | ------ | -------- | ------------------------------------------ |
| `withdrawalAccount` | Varies | Yes      | The depositor's withdrawal request account |

## PDA Derivation

All vault PDAs are derived from the program ID `sVau1tXvayVWfotzm9Ahcv2qfnnfRWttt78BCnNC6dD`:

```typescript theme={null}
import { ExponentVaultsPDA } from "@exponent-labs/exponent-vaults-pda";

const pda = new ExponentVaultsPDA(programId);

// Vault PDA
const [vault] = pda.vault({ seedId });

// LP mint PDA
const [mintLp] = pda.mintLp({ vault });

// LP escrow PDA
const [tokenLpEscrow] = pda.tokenLpEscrow({ vault });

// ExponentPrices PDA
const [exponentPrices] = pda.exponentPrices();
```
