You can check the demo page here 👉 http://c-interstellar.finance
Interstellar provides borrowing services for any asset on a chain that supports the IBC protocol - both fungible tokens, as well as NFTs, are supported.
For fungible tokens, the protocol uses a single-asset pool logic:
- A depositor can deposit an asset to the pool, earning interest
- A borrower can borrow that asset from the pool, paying interest to the depositors
- A liquidator can liquidate loans once the LTV ratio has been reached
For NFTs, an auction-based system is used:
- The owner of an NFT can put the NFT up for a "collateral auction", in which potential lenders can make loan bids
- Once a loan bid has been accepted by the NFT owner, the NFT owner receives the collateral and puts the NFT into escrow
- Upon payback of the loan (plus interest) the NFT is released back to the original owner. If the loan is not paid back within the specified timeframe, the NFT is sent to the collateral lender
We prioritize making the most out of the possibilities of the Cosmos ecosystem using IBC. The Cosmos ecosystem is currently missing a proper medium to borrow assets across the different IBC enabled chains built upon the Cosmos SDK to support the strongest point of the Cosmos ecosystem. Using Interstellar, we aimed to unfold the potential of IBC by making cross-chain lending / borrowing possible.
Also, we aimed to tackle the NFT market as well. By providing a way to effectively utilize NFT, we aim to build a foundation for a flourishing NFT ecosystem / market in Cosmos.
What it does
Interstellar provides a way for users to deposit assets into pools, thus earning interest on them. Other users can then borrow from those pools (against previously deposited collateral) to use their assets in a more capital-efficient manner. In addition, NFTs minted on the Interstellar blockchain can be put up as collateral, with other users proposing loans for them. More detailed information can be found on our blog page.
For fungible tokens the current implementation supports:
- Depositing assets into an IBC pool to earn interest
- Borrowing from a pool (by paying interest)
- A dynamically adjusting interest rate based on the pool borrow ratio
- Paying back loans
- Claiming interest
- Reclaiming the deposit
- Liquidation by CLI command (since liquidation is expected to be mostly done by bots - no UI is necessary)
For non-fungible tokens the current implementation supports:
- Depositing a NFT on the IBB chain into an escrow contract and thereby opening the bidding process
- Accepting incoming bids - containing the loan value, interest rate, and payback date - from multiple wallets
- Accepting a bid and thus receiving the bidder's loan
- Repaying the loan (plus interest) and thus receiving the NFT back from escrow
- Liquidation of the NFT by transferring it from the escrow to the loaner in case the original NFT owner has not paid back the loan
How we built it
Interstellar was built with the Cosmos SDK and Vue. We've also made use of starport.
Challenges we ran into
Cosmos Ecosystem lacks optimizable oracle modules, struggled to find ideally decentralized oracle.
Accomplishments that we're proud of
Building a fully functioning blockchain app including frontend within 2 weeks while studying up on the Cosmos SDK.
What we learned
Many things about DeFi in general and on the tech side we learned how to get a basic blockchain up and running with the Cosmos SDK.
What's next for Interstellar
The next major steps for Interstellar are:
- Adding a custom token to incentivize protocol usage.
- Users will be able to stake the token and pay fees at a reduced rate.
- Users will be able to use the custom token to provide collateral for NFTs
- IBC NFTs will be supported once the broader Cosmos ecosystem has reached consensus on a standard