Skip to main content

Documentation Index

Fetch the complete documentation index at: https://v2-docs.exponent.finance/llms.txt

Use this file to discover all available pages before exploring further.

createDepositYtInstruction

Builds a raw instruction to deposit YT (Yield Tokens) into a yield position. Deposited YT accrues interest and emission rewards over time.

Usage

import { createDepositYtInstruction } from "@exponent-labs/exponent-sdk/client/core";
import { PublicKey, SystemProgram } from "@solana/web3.js";

const ix = createDepositYtInstruction(
  {
    depositor: wallet.publicKey,
    vault: vaultAddress,
    userYieldPosition: userYieldPositionPda,
    ytSrc: userYtTokenAccount,
    escrowYt: vaultEscrowYt,
    tokenProgram: TOKEN_PROGRAM_ID,
    syProgram: syProgramId,
    addressLookupTable: vaultLookupTable,
    yieldPosition: vaultYieldPosition,
    systemProgram: SystemProgram.programId,
    eventAuthority: eventAuthorityPda,
    program: EXPONENT_CORE_PROGRAM_ID,
  },
  {
    amount: BigInt(1_000_000),
  }
);

Accounts

NameTypeSignerWritableDescription
depositorPublicKeyYesYesThe user depositing YT
vaultPublicKeyNoYesVault account
userYieldPositionPublicKeyNoYesUser’s yield position PDA
ytSrcPublicKeyNoYesSource YT token account
escrowYtPublicKeyNoYesVault YT escrow account
tokenProgramPublicKeyNoNoSPL Token program
syProgramPublicKeyNoNoSY program
addressLookupTablePublicKeyNoNoVault address lookup table
yieldPositionPublicKeyNoYesVault robot yield position
systemProgramPublicKeyNoNoSystem program
eventAuthorityPublicKeyNoNoEvent authority PDA
programPublicKeyNoNoExponent Core program

Args

NameTypeDescription
amountbigintAmount of YT to deposit (in base units)

Returns

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