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:

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