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

# Stage YT Yield

> Low-level instruction to stage accrued yield for a yield position

# createStageYtYieldInstruction

Builds a raw instruction to stage accrued yield for a yield position. This updates the yield tracker by computing earned interest and emissions based on the current SY exchange rate, making them available for collection.

## Usage

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

const ix = createStageYtYieldInstruction({
  payer: wallet.publicKey,
  vault: vaultAddress,
  userYieldPosition: userYieldPositionPda,
  yieldPosition: vaultYieldPosition,
  syProgram: syProgramId,
  addressLookupTable: vaultLookupTable,
  systemProgram: SystemProgram.programId,
  eventAuthority: eventAuthorityPda,
  program: EXPONENT_CORE_PROGRAM_ID,
});
```

## Accounts

| Name                 | Type        | Signer | Writable | Description                |
| -------------------- | ----------- | ------ | -------- | -------------------------- |
| `payer`              | `PublicKey` | Yes    | Yes      | Transaction fee payer      |
| `vault`              | `PublicKey` | No     | Yes      | Vault account              |
| `userYieldPosition`  | `PublicKey` | No     | Yes      | User's yield position PDA  |
| `yieldPosition`      | `PublicKey` | No     | Yes      | Vault robot yield position |
| `syProgram`          | `PublicKey` | No     | No       | SY program                 |
| `addressLookupTable` | `PublicKey` | No     | No       | Vault address lookup table |
| `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.
