Hacking aTokens yield with put options on WBTC and ETH:BTC ratio.
We combined assets differently inside an American put option structure in order to form a structured product that so far was not existent in DeFi. This product allows the seller to get a higher yield on its investment or to buy the underlying asset at a higher discount and allows the buyer to get a hedge on the underlying asset price for cheaper.
So under the hood users are trading American put options with a different collateral asset and different underlying assets. As a seller, a user can lock aTokens as collateral to write options on WBTC or ETH:BTC ratio and be exposed to one of the following scenarios:
As a buyer, a user can buy cheaper hedge* on the underlying asset price. *This hedge has exposure to Aave Utilization Rate on USDC pool.
This project was built on top of our protocol of options on chain (ohmydefi.com). We improved our preexisting code by allowing people to trade options of any ERC20 tokens, use aTokens as collateral when selling a put option and minting options for UMA's synthetic asset ETH:BTC ratio. The main functions built during this hackathon were:
Contract responsible for minting / exercising / withdrawing aToken model
Thanks to the aToken design, it's easy to set Strike Price in numbers of aTokens instead of aToken underlying
The accrued interest is distributed time proportionally to the holder position (require improvements)
We also built a frontend app capable of minting and selling and buying options (directly to Uniswap). Deployed a Uniswap V1 contract instance on Kovan and created exchanges.
Stack Used: React / Solidity / Waffle / Buidler / Solhint / Open Zeppelin / Uniswap / Remix (interface testing)