Idle: tokenizing the best interest rate among Ethereum money market
Discover how to optimize your lending return on https://idle.finance.
Historically, the global financial system has created massive wealth, but its centralized nature means the spoils have gone to populations who are properly connected to the financial centers of the world. As inequality continues to rise, technological developments and their rapid adoption make this the right time for a new decentralized financial system to emerge. So far, the products with more traction have been on lending/borrowing crypto assets. Several high-quality decentralized applications have been built on the Ethereum blockchain, whose allow users to borrow and lend with no intermediaries.
Decentralized lending products are available to anyone, anywhere, and require only an Ethereum wallet. Today these products are already seeing real usage, with a total of USD volumes in hundreds of millions. Indeed, people can now lend on decentralized lending platforms to earn passive income on their holdings through interest fees paid by borrowers. With the proliferation of new protocols and the fact that interest rate changes at a block-by-block pace, it is difficult for crypto-lenders to optimize their financial returns. To do so they should continuously monitor and manually move their funds from a protocol to another.
Here’s our solution: with Idle, you can seamlessly yield the best available rate within different lending providers. It is non-custodial and has a decentralized rebalance, that allows users pool to be up to date with the highest rate without relying on a centralized system.
The beginning: where we come from
We are an Italy-based team, already experienced with algorithmic trading bots and arbitrage bots on different CEXs/DEXs.
Fascinated by new Decentralized Finance primitives and applications, we were looking to build a structured financial product that would optimize investor returns.
A structured product is a combination of two or more instruments that comprise a single asset. Structured products allow the creation of highly customized assets for any type of risk-return objectives, traditionally with the use of derivatives — and can range from simple to highly complex.
Initially, we planned to test it as an implementation for a DEXs arbitrage bot (called At0m), in order to earn interest when funds were idle, in a no-arbitrage situation.
With the advent of new lending protocols that use interest-bearing tokens, we saw a great opportunity for a new financial product, and we chose that optimizing the interest rate markets would have been an exciting challenge.
One of the defining characteristics of DeFi is the interoperability, composability, and open collaboration that it enables. Some of the most exciting combinations lie in the intersection between different instruments. When combined, powerful financial products are possible.
The product core task would have been to always yield the best available interest rate among different lending protocols in the Ethereum blockchain, but we realized that we would have had an automation and decentralization trade-off: in order to always get the best interest rate, the rebalance process should have been called by an automated off-chain entity that would have had to constantly monitor all the interest rates, rebalancing the funds when the tracked interest rate wasn’t the highest anymore. In this way, the rebalance process would have been centralized. So we asked ourselves:
“Why should people have to rely on us for the rebalance process?”
Hackathons: welcome to the grind
Nevertheless, we started working on this new product, called Idle. We were looking for suitable bounties in the Gitcoin Beyond Blockchain hackathon, and we found out in the Open Transaction Economy relay by Consensys Labs the perfect bounty.
Bearing in mind the rebalance process centralization issue, we planned to develop a first platform that would have allowed to reduce volatility on interest rates among the money market on Ethereum. Our mission was to reduce interest rates fluctuations and optimize profitability when lending crypto assets by seamlessly yielding the average rate offered by various lending protocols (Compound v2, Fulcrum initially).
With this first version, we wanted to offer a SOLR (Secured On-demand Lending Rate) tokenization, that allows users to earn interest from an index of the money market and not just from one lending protocol.
Project pivot: tokenizing the best interest rate
During different brainstorms with the team formed for the hackathon, we discussed the issue with the rebalance process, and something new came out.
Inspired by various articles from the DeFi space, the rebalancing mechanism would have followed these steps:
- Idle “reads” on-chain interest lending rates of Fulcrum iDAI and Compound cDAI.
- If the interest rate of, for instance, iDAI is greater than cDAI, Idle rebalances from cDAI into iDAI. If the interest rate of cDAI is greater than iDAI, Idle rebalances from iDAI back to cDAI.
- Idle can contain an additional logic that is a minimum rebalance interval or minimum % threshold to reduce false-positive signals.
- Users now get the best interest rate on their DAI automatically.
But it would have been still centralized, users would have had to rely on a centralized automated system in order to always have the best available rate on the market.
Here it comes the turning point: every time a user interacts with Idle (minting or redeeming tokens), an automated rebalancing of the pool happens if needed; in addition to this, there will be an available method that allows users to rebalance the entire pool position.
Users will be encouraged to rebalance their own positions, rebalancing consequently also all the others. This can be considered as a decentralized rebalance and uses the principle of Adam Smith’ invisible hand, which outlines the unintended social benefits of an individual’s self-interested actions (in this case, the users’ willingness to earn the highest yield on the market). One for all, all for one.
The smart contract returns to user wallet an amount of ERC20 tokens proportional to the user’s pool share. Each idleToken represents an investor’s proportionate ownership of the whole pool and the income Idle generates. This shares management method is similar to traditional mutual funds one, and it allows Idle to be non-custodial. Indeed, users can redeem back their idle capitals anytime.
I’ll give you a brief example, let’s assume a user wants to use our platform in order to optimize her lending returns.
A user sends an amount of DAI to the Idle smart contract and:
- As a first step, Idle checks the different interest rates and rebalances the entire pool, if necessary, converting the pooled tokens into the tokens (iTokens or cTokens) with the highest interest rate.
- Included in the same transaction, Idle smart contract will consequently mint idleDAI at the pool’s current NAV-per-share rate (e.g. 1 idleDAI = 1 DAI initially, and then the idleDAI value will keep increasing at accrued interest rates’ pace).
Anytime, users can redeem back the tokens, burning their idleDAI and obtaining the accrued interest (as well as the invested capital), rebalancing again the pool, if needed.
Respecting the DeFi spirit, we decided to make Idle free from any fee. With Idle, we created our playground, where we can experiment with new revenue models and give users a new kind of token experience.
Beyond Blockchain hackathon was our first achievement: our team won the 2nd price of ConsenSys Labs bounty, spiking our motivation to keep buidling Idle.
Next steps: what we are going to do
- Rebalance process improvements: we are implementing a solution for better funds management when moving them from one lending protocol to the other thus getting rid of a possible edge case scenario.
- Smart contract audit: we are developing a new version of the smart contract, that will be audited as soon as possible.
- Enhance on-boarding process: we are working on a clear and concise on-boarding UX, both for experienced and novice ETH users.
- Build new cool mini-products on top of idleTokens: stay tuned for updates :)
If you want to follow our updates, along with community opinion forms and contests, subscribe to our mailing list: http://eepurl.com/gAGzSH.
You can also schedule a 15-minutes call if you want to share your opinion about Idle with us: https://calendly.com/idlefinance/15min.
If you have any question, please join and ask on our social channels:
- Twitter: https://twitter.com/idlefinance
- Discord: https://discord.gg/mpySAJp
- Telegram: https://t.me/idlefinance
We would be more than happy to answer, discuss and discover with you about Idle applications and use cases.