Smart Yield v1 Withdrawal Guide

This guide provides step-by-step instructions for withdrawing junior and senior positions from Smart Yield v1 using Etherscan

Before you start

Make sure you have access to the wallet you used to stake in the DAO.

Here's the list of contract addresses you may need for this guide:

PoolPool AddressSenior Bond Address

Compound DAI

0x673f9488619821aB4f4155FdFFe06f6139De518F

0x7785d69512296eC83634C283C923719E2306d133

Compound USDC

0x4B8d90D68F26DEF303Dcb6CFc9b63A1aAEC15840

0xa7382ebCca0602Df60833B612476B20d631555De

Compound USDT

0x3E3349E43e5EeaAEDC5Dc2cf7e022919a6751907

0x0170f38fa8df1440521c8b8520BaAd0CdA132E82

Aave DAI

0x6c9DaE2C40b1e5883847bF5129764e76Cb69Fc57

0x295f257E1D12013E4431eF04fd75b453401C7B40

Aave GUSD

0x6324538cc222b43490dd95CEBF72cf09d98D9dAe

0x19D1c0f25dE323D8BE208fba7DaDDa680297b2f0

Aave USDC

0x3cf46DA7D65E9aa2168a31b73dd4BeEA5cA1A1f1

0x4C745B67a96b44DCB8e8416731D74451425AaFF9

Aave USDT

0x660dAF6643191cF0eD045B861D820F283cA078fc

0xc61155E5AE3Dac16bb461dbA62c59BAAdDf69C20

AAVE RAI

0x4dB6fb0218cE5DA392f1E6475A554BAFcb62EF30

0x0C116A5D52E93442454375913DD341b664bB416c

AAVE sUSD

0xEc810FDd49e756fB7Ce87DC9D53C7cAB58EAB4Ce

0x862537d28Bf2C56E01FCEd20E04060c8b44E6CeA

How to withdraw a junior position

Step 1 - Withdraw junior tokens from (optional)

In case you have been staking your tokens in the Yield Farming contract, you need to withdraw them to be able to continue the redeeming process.

  • Go to the smart contract from Rewards section.

  • Call YieldFarm.withdrawAndClaim(amount)

  • Use parameter amount: the user balance in the yield farm (fetch with YieldFarm.balances(address) )

Step 2 - Sell junior tokens

  • Call SmartYield.sellTokens(tokenAmount, minUnderlying, deadline)

  • Use parameters

    • tokenAmount: the user balance of the bb_cUSDC token

    • minUnderlying: tokenAmount * price / 1e18 with price = SmartYield.price() (price() is not view so need to staticCall in order to fetch the price first)

    • deadline: current block.timestamp + 600 seconds or so

How to redeem a senior bond

Step 1 - Get Token ID

Go to your Portfolio on Etherscan or any other portfolio tracker and get tokenID value of your senior bond NFT.

Step 2 - Redeem Bond

  • Find the pool address you need from the list at the top of the page and open it on Etherscan

  • Go to Write Contract tab and connect your wallet

  • Select redeemBond method and use tokenID as an input parameter from Step 1 (after pasting the tokenID make sure to click on the + sign next to (uint256) and select 10^18 so your parameter is properly formatted) and click "Write"

Last updated