About the Hackathon
**This is NOT a hackathon; it is the Injective developer bounty challenges. The final prize pool is still pending ($10,000 here is a temporary placeholder).**
**Please read "Requirements", "Potential Strategies" and "Implementation Options" below to learn about the expected deliverables.**
# Overview
The Injective ecosystem continues to grow its DeFi footprint. We want to create a product that will showcase yield strategies and optionally execute them on behalf of users, this product will achieve three goals:
1. Automatically rebalance liquidity in protocols to attain the maximum yield, users will not have to constantly monitor returns and manually rebalance.
2. Liquidity will be distributed across the ecosystem which will overall reduce risk and improve decentralization.
3. Reduce the barrier to entry for those not familiar with DeFi protocols and high-yield strategies.
# Requirements
1. Before working on the challenges and coding, please submit a basic idea including which strategy and which implementation option you're going to choose. Only vetted proposals will be approved to continue working on the challenges and potentially get rewards.
1. Your works for the challenges will be reviewed on a regular basis based on the milestones.
1. Before receiving the rewards, all the winner candidates should complete KYC/KYB process.
# Potential Strategies
## 1. Strategy A
1.1 Deposit INJ into Hydro and receive hINJ.
1.2 Deposit hINJ into Neptune as collateral.
1.3 Borrow assets and execute other strategies (e.g. borrow INJ and deposit more into Hydro, borrow USDT and lend it to Neptune to earn token incentives, borrow INJ and short INJ perps to achieve delta-neutral exposure while earning token incentives).
**Receive staking rewards while earning token incentives from Neptune.**
## 2. Strategy B
1.1 Deposit INJ into Hydro and receive hINJ.
1.2 Deposit hINJ into Injera to mint USDi.
1.3 Deposit USDi-USDT in a Mito vault.
**Receive staking rewards while earning token incentives from Injera. The user can optionally provide liquidity in the USDi-USDT (50-50%) Mito vault for additional incentives.**
## 3. Strategy C
1.1 Deposit INJ into a money market (e.g. Neptune).
1.2 Deposit INJ-nept into Injera to mint USDi.
1.3 Deposit USDi-USDT in a Mito vault.
**Stake your INJ tokens with no lock-up while earning token incentives and lending yield for both Neptune and Injera. The user can optionally provide liquidity in the USDi-USDT (50-50%) Mito vault for additional incentives.**
## 4. Strategy D
2.1 Looping strategy into money markets such as Neptune and Injera.
**Lend and borrow continuously to earn the project’s incentives.**
## 5. Strategy E
2.1 Deposit any asset as collateral in a money market.
2.2 Borrow INJ.
2.3. Short INJ on Helix
**Achieve delta-neutral exposure while earning rewards from the money market.**
## 6. Strategy F
2.1 Deposit any asset as collateral on Injera.
2.2 Borrow INJ from Injera at 1% APY.
2.3 Lend INJ on Neptune at 17% APY.
**Continuously rebalance lending assets across both money markets for maximum returns.**
# Implementation
## Option A
By leveraging [authz](https://docs.injective.network/develop/modules/Core/authz/), we can allow the users to engage with these strategies in a fully non-custodial fashion and no smart contract risk. However, the users will grant permissions to an address that could be compromised. Note that the authz permissions would be contained to specific contracts though.
## Option B
Opposed to leveraging authz, the funds could be deposited in a smart contract so the risk will be limited to the funds deposited.
## Option C
The product could also be developed with a hybrid model. The user would delegate authz permissions to a smart contract and the contract would then execute the actions on behalf of the user. The contract admin would be a secure multisig to control upgradeability.
Evaluate all options and propose your solution.
1. Create a FE that will showcase “Vaults” or “Strategies” and allow the user to subscribe in each.
2. Create a bot that will execute these actions on behalf of the users (you can potentially integrate [Warp](https://warp.money/) to achieve this).
3. The “Vaults” should show average APY returns but depending on the subscribed balance, we should adjust the actual APY. For example, if somebody deposits 30K INJ into Neptune, the lending yield will drop significantly.
4. The FE should show the total APY for a user as well as a breakdown for each protocol upon subscription.
5. Note that we should continuously rebalance funds between protocols in each strategy to avoid liquidations.