Use ETH, buy stETH, wrap stEth to wstETH, use wstETH for yield farming.
Most people are following exactly the methodology; however, they are not aware of the technical background nor the potential smart contract risks.
We will quickly explain each step with the underlying smart contract representation.
First of all, we need ETH and then swap ETH to stETH (or, of course, simply depositing in the stETH contract). We think we can save this step as really nobody needs an explanation of how a swap is happening. Speaking of that, it might be valuable to dissect UniV3 swap in another post; let us know if you are interested in this in the comments.
Ok great, now since we have stETH, we know that this is a yield-bearing token, and our wallet balance will be increasing over time - but how is this possible?
Well, you simply receive a specific amount of shares upon your deposit or if you just buy the stETH:
Most people are following exactly the methodology; however, they are not aware of the technical background nor the potential smart contract risks.
We will quickly explain each step with the underlying smart contract representation.
First of all, we need ETH and then swap ETH to stETH (or, of course, simply depositing in the stETH contract). We think we can save this step as really nobody needs an explanation of how a swap is happening. Speaking of that, it might be valuable to dissect UniV3 swap in another post; let us know if you are interested in this in the comments.
Ok great, now since we have stETH, we know that this is a yield-bearing token, and our wallet balance will be increasing over time - but how is this possible?
Well, you simply receive a specific amount of shares upon your deposit or if you just buy the stETH:
and upon distribution of the staking rewards (ETH), your shares will be worth more and more, as your balance is reflecting:
Risks for the stETH token we saw while skimming the contract seem to be governance privileges like pausing and proxy upgradeability, but of course, we're not auditing this now.
This also explains the rationale behind the wstETH token, as a dynamic balance will essentially brick most DeFi protocols; hence, you just wrap it to wstETH to have a static balance but an increasing underlying value. Sounds great? Let's check how this is done.
how wonderful, it's a simple wrapper function using stETH’s trusted conversion rate which is increasing over time, hence you will get more tokens back than you have initially deposited, because simply of the increasing balance in the wstETH contract. Here you can see how much stETH is currently sitting in the wstETH contract:
Risk-wise, there is not any risk for the wstETH contract besides the usage of stETH’s conversion rate (remember, the stETH is a proxy contract).
On a side-note, it would be worth taking a look at the exact methodology of how ETH, respectively yield, is paid back towards the stETH contract, as these things often allow for flash-thefting.
However, we are 100% certain this will not be an issue here, as we guess there are not many protocols with as many audits as Lido.