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

# Initialize Yield Position

> Low-level instruction to initialize a yield position PDA

# createInitializeYieldPositionInstruction

Builds a raw instruction to initialize a yield position PDA for a user. This must be called before the user can deposit YT into a yield position.

## Usage

```typescript theme={null}
import { createInitializeYieldPositionInstruction } from "@exponent-labs/exponent-sdk/client/core";
import { PublicKey, SystemProgram } from "@solana/web3.js";

const ix = createInitializeYieldPositionInstruction({
  owner: wallet.publicKey,
  vault: vaultAddress,
  yieldPosition: yieldPositionPda,
  systemProgram: SystemProgram.programId,
  eventAuthority: eventAuthorityPda,
  program: EXPONENT_CORE_PROGRAM_ID,
});
```

## Accounts

| Name             | Type        | Signer | Writable | Description                                    |
| ---------------- | ----------- | ------ | -------- | ---------------------------------------------- |
| `owner`          | `PublicKey` | Yes    | Yes      | The user initializing the position (pays rent) |
| `vault`          | `PublicKey` | No     | No       | Vault account                                  |
| `yieldPosition`  | `PublicKey` | No     | Yes      | Yield position PDA to initialize               |
| `systemProgram`  | `PublicKey` | No     | No       | System program                                 |
| `eventAuthority` | `PublicKey` | No     | No       | Event authority PDA                            |
| `program`        | `PublicKey` | No     | No       | Exponent Core program                          |

## Args

This instruction takes no arguments.

## Returns

`TransactionInstruction` — a transaction instruction ready to be added to a transaction.
