Risedle is a decentralized Crypto Leveraged ETFs market protocol
Risedle is a decentralized Crypto Leveraged ETFs market protocol. Rather than providing structured products only to the investors, Risedle protocol allows both investors and lenders to participate in the open and transparent Crypto Leveraged ETFs Market. For the Investors, Risedle is a simple way to get leveraged exposure to a variety of crypto assets without risk of liquidation, without paying daily management fees and streaming fees unlike any other centralized or decentralized crypto leveraged ETF. Risedle will save the investors a lot of money. For the Lenders, Risedle is a secure way to lend their iddle assets because there is no liquidation and the risk of undercollaterized loan is minimized because the borrow and repayment of the loan is automatically handled by the protocol. All the leveraged ETFs are tokenized and 100% fully-backed by underlying assets. It's auto rebalanced and can be redeemed at anytime. Risedle protocol is designed to have the following key principles: 1. Ease-of-use: Investors can get leveraged exposure by simply holding a token and lenders can earn high yield from the deposited stablecoins. 2. Composability: Investors and lender can use their tokenized position in other protocol. Unlocking a wide variety of new yield opportunities, including earning trading fees from providing leveraged tokens liquidity to Uniswap (e.g. ETHRISE/ETH) while maintaining the 100% exposure to underlying assets (e.g. ETH). Risedle is built on top of Uniswap Protocol and Chainlink Price Oracles. There are two components in Risedle protocol: Risedle Vault and Risedle ETF. Risedle Vault is a isolated money markets that powers the liquidity of the protocol and interact directly with Uniswap Protocol. When lenders deposit asset to the Risedle Vault, they receive vault tokens (rvToken) in exchange and begin earning a variable interest rate instantly. Interest accrues every seconds, and lenders can withdraw their principal plus interest by redeeming their rvToken. As interest accrues to the assset supplied, rvToken are redeemable at an exchange rate (relative to the underlying asset) that constantly increases over time, based on the rate of interest earned by the underlying asset. The design is similar to cToken by Compound Protocol. The interest rate model is used to manage liquidity risk through user incentivises to support liquidity: 1. When the utilization rate below optimal: low interest rates to encourage investors to mint more leveraged ETFs token. 2. When the utilization rate above optimal: high interest rates to encourage leveraged ETFs token redemption and additional deposits. When new leveraged ETF token are minted, Risedle Vault will lend underlying asset of the vault and utilizes the deep liquidity from Uniswap Protocol to swap the asset then send it to Risedle ETF. Risedle ETF is a tokenized crypto leveraged ETFs. It's a standard ERC20 token and the value is backed by the basket of underlying asset and the asset that are borrowed from the Risedle Vault. It uses Chainlink price oracle to determine the fair price of an asset in creation, rebalancing and redemption of the leveraged token. When the leveraged ETF token are redeemed, it automatically sell the asset to repay the borrowed asset and the user will get the underlying asset. With these two components, Risedle builds a system that can helps investors and lenders to participate in the open and transparent Crypto Leveraged ETFs Market.
How it's made
For the smart contract I use dapptools. For the design I use Figma to create the front-end mockup. For the front-end I use Next.js, Tailwind.css, Storybook.js and Ethers.js. I choose dapptools coz it's simple and very intuitive to use. The fuzz tests, formal verification and hevm cheat codes. Its allows me to validate and make sure my interest rate model, creation and redemption of leveraged token are correct. I feel like I don't write enough test until now. "Men would rather go to therapy than learn how to use DappTools" - @gakonst My background is math, so designing the interest rate is OKish, but the most challenging part is to learn how to implement it in Solidity. Especially dealing with fixed point numbers. Also the important of price oracle like Chainlink when swapping random token in Uniswap. -- For the frontend storybook helps me to transform my design mockup in Figma to React component faster. I learnt alot in the past few weeks, so thank you ETHOnline team!