BarnBridge v2
Search
K

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:
Ethereum
Polygon
Rewards
Pool
Pool Address
Senior 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
Pool
Pool Address
Senior Bond Address
Aave DAI
0xdaa037f99d168b552c0c61b7fb64cf7819d78310
0x4b8d90d68f26def303dcb6cfc9b63a1aaec15840
Aave USDC
0x7d0bdcdf61655d2ef3d339d2b15421f4f6a28d2f
0xa9c5f643c24627e184bc01b4382821946cd4d44a
Aave USDT
0x18efbf54e18efbdd55e94176c65959864efc7d8e
0xdedc19a79d7702d7f56cf86cd51d590ca26d8c68
Pool
Reward Contract
Compound USDC
0x68Af34129755091E22F91899cEAC48657e5a5062
Aave DAI
0x69951B60B6253697F29c8311bFcEA6Da09BBac0d
Aave USDC
0xF4bde50CdF4ee4CF3FB8702fceb6fD499A92792d
Aave USDT
0x51d924bF2FF813a68BD5f86Cdcc98918f2AE5868
Aave GUSD
0xEAdFc8b994BF3eE23dC0033e6f11dEe4b166672E

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"