YToken (Legacy)

Note: This page documents legacy YToken contracts. For v3 contracts, see Vault Contract.

YToken contracts are yield-bearing ERC-4626 vault tokens (yUSD, yBTC, yETH, etc.) from earlier versions.

Connecting to YToken

Using Wagmi

import { connectYToken, getContractAddresses, Chain } from "yieldfi-sdk";
import { ethers } from "ethers";
import { useAccount, useWalletClient } from "wagmi";

function YTokenExample() {
  const { address } = useAccount();
  const { data: walletClient } = useWalletClient();

  const connectYTokenContract = async () => {
    if (!walletClient || !address) {
      throw new Error("Wallet not connected");
    }

    const provider = new ethers.BrowserProvider(walletClient);
    const signer = await provider.getSigner();

    const contracts = getContractAddresses(Chain.ETHEREUM);
    const yUSD = connectYToken(
      contracts.yUSD,
      yTokenAbi, // Your YToken ABI
      signer
    );

    return yUSD;
  };
}

Using Browser Provider

ERC-20 Operations

ERC-4626 Operations

View Methods

Migration to V3

For new integrations, use v3 contracts:

  • Manager V3 - See Manager Contract

  • Vault Contract - See Vault Contract

Last updated