Inspiration
DeFi gives the user the ability to achieve financial freedom and put their assets to work in the way they see fit. However, managing DeFi positions is itself a full time job. Many users do not interact with DeFi because they do not have time to actively manage their positions and make rebalancing adjustments. We hope to bring more users into the Terra ecosystem, by automating the loan management thereby reducing user risk, and freeing their attention. bAnchor is meant to work symbiotically with Anchor to give users the flexibility they to enter DeFi.
What it does
Implements a yield farming strategy as follows: Borrow UST against LUNA as collateral then deposit UST into Anchor earn. Let the user specify their optimal debt ratio, and have the protocol automatically repay the loan when the debt ratio gets too high, or automatically borrow more UST when the debt ratio gets too low. The user has the ability to pick the parameters of the protocol in order to customize a strategy that matches their risk tolerance.
How we built it
Using React, Nodejs, and Anchorjs.
Challenges we ran into
Interacting with Anchor directly through anchor.js was very challenging. Keeping track of transaction fees and its effect on the profitability of our strategy was also challenging.
Accomplishments that we're proud of
Being able to finalize our demo, and release a functional proof of concept.
What we learned
Developing in Rust and smart contracts work, and how the Anchor library works.
What's next for bAnchor?
There are several possibilities for future development: -Pooling user's funds in order to auto compound yields, and distribute the effect of transaction costs across all the users. -Using machine learning / statistics in order to recommend optimal strategies to users depending on their risk tolerance. -Allowing users to use multiple different assets as collateral. -Allowing users to put their borrowed UST to work in multiple different ways.
Built With
- anchor
- javascript
- node.js
- react
Log in or sign up for Devpost to join the conversation.