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

# Update Positions

> Add or remove strategy position entries in the vault

# ixWrapperManagerUpdatePosition

Updates the vault's strategy position tracking. Managers use this to register or deregister positions such as orderbook offer indices, token account balances, and Kamino obligation entries. This uses the wrapper instruction which executes via self-CPI. Requires the **manager** role.

## Usage

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

// Add a Kamino obligation entry
const ix = vault.ixWrapperManagerUpdatePosition({
  manager: wallet.publicKey,
  update: positionUpdate("AddKaminoObligationEntry", [{
    obligationAddress: kaminoObligation,
    lendingMarket: kaminoLendingMarket,
    priceIdDeposit: priceId("Simple", { priceId: 0n }),
    priceIdBorrow: priceId("Simple", { priceId: 1n }),
  }]),
});

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

## Parameters

| Name                | Type             | Required | Description                                           |
| ------------------- | ---------------- | -------- | ----------------------------------------------------- |
| `manager`           | `PublicKey`      | Yes      | Manager wallet (must be signer)                       |
| `update`            | `PositionUpdate` | Yes      | The position change to apply                          |
| `remainingAccounts` | `AccountMeta[]`  | No       | Additional accounts for specific updates              |
| `exponentPrices`    | `PublicKey`      | No       | ExponentPrices PDA. Auto-derived                      |
| `systemProgram`     | `PublicKey`      | No       | System program. Defaults to `SystemProgram.programId` |

See [Manager Update Position (raw)](/developer-strategy-vaults/raw-instructions/raw-manager-update-position) for the full `PositionUpdate` variant list.

## Returns

`TransactionInstruction` — a single instruction that updates the vault's position tracking.
