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

# Manage Vault Settings

> Add/remove token entries, configure withdrawal periods, and manage positions

# ixWrapperManageVaultSettings

Applies one or more settings changes to the vault. This uses the wrapper instruction which executes via self-CPI with vault signer seeds. Requires the **manager** role.

## Usage

```typescript theme={null}
import { vaultSettingsAction, priceId } from "@exponent-labs/exponent-sdk/client/vaults";

// Add a new token entry
const ix = vault.ixWrapperManageVaultSettings({
  manager: wallet.publicKey,
  actions: [
    vaultSettingsAction("AddTokenEntry", [{
      mint: newTokenMint,
      priceId: priceId("Simple", { priceId: 1n }),
      tokenSquadsAccount: tokenSquadsAddress,
      forceDeallocatePolicyIds: [],
    }]),
  ],
});

const tx = new Transaction().add(ix);
await sendAndConfirmTransaction(connection, tx, [wallet]);
```

## Parameters

| Name                | Type                    | Required | Description                                           |
| ------------------- | ----------------------- | -------- | ----------------------------------------------------- |
| `manager`           | `PublicKey`             | Yes      | Manager wallet (must be signer)                       |
| `actions`           | `VaultSettingsAction[]` | Yes      | Array of settings changes to apply                    |
| `remainingAccounts` | `AccountMeta[]`         | No       | Additional accounts needed for specific actions       |
| `exponentPrices`    | `PublicKey`             | No       | ExponentPrices PDA. Auto-derived                      |
| `systemProgram`     | `PublicKey`             | No       | System program. Defaults to `SystemProgram.programId` |

See [Manage Vault Settings (raw)](/developer-strategy-vaults/raw-instructions/raw-manage-vault-settings) for the full `VaultSettingsAction` variant list.

## Returns

`TransactionInstruction` — a single instruction that applies all settings changes atomically.

<Note>
  Multiple actions can be batched in a single call. All changes are applied atomically — if any action fails, the entire transaction reverts.
</Note>
