DeFi has some awesome protocols to generate yield if you’re long on your crypto asset. Most yield generators automatically manage funds and maximize the yield. While yield generating protocols make it convenient and cheap for DeFi users to maximize Yield, they don’t maximize the total returns. If you want to maximize the returns on your deposit if the price of the deposited asset fluctuates beyond a pre-defined range at the same time earning yield on your crypto assets, then there are no protocols in production as of now.
Users can manually deposit their assets on a yield generator and then withdraw them when the price of the asset falls/rises beyond a certain point to maximize total returns. But this is not convenient for naive users as they have to continuously monitor price feeds and then withdraw their funds. It would be great if users can deposit funds and the protocol maximizes the returns automatically. It’ll also be useful if the returns can be transferred automatically to the user.
Symphony finance allows users to create limit orders by depositing the sell asset. The sell asset is deposited to a yield generating protocol like Aave, Yearn, Mstable, etc. This feature allows limit orders to earn yield for the time they are on the order book. The initial deposit + yield earned are traded for the buy asset automatically by the executor if the price constraints are satisfied. The order creator receives the buy assets automatically when the order is filled. The executor receives a small fee for executing the orders as they have to bear the expenses for running the relayer service and transaction cost.
Creating a limit order in symphony finance is similar to other order book exchanges, the only difference is that the sell asset has to be deposited into the contract. There is also a feature of stop-loss which is very useful in minimizing risk in case the sell asset price goes below a certain price. The sell asset is deposited to yield generating DeFi protocols like Aave, Compound, Yearn, etc. This is obviously different from the traditional limit orders where the sell assets are not utilized while the order is on the order book.
Symphony’s architecture has 3 main components:
- Symphony core: It’s the centerpiece in the architecture. It lets anyone deposit funds and specifies the buy asset and amount to create a limit order. It also provides the functionality to add a stop loss to minimize the risk. Protocol-related parameters like base fee, handler fee, and buffer percentage are stored in the core. All the funds are initially stored in the core before they are deposited to the strategy contract associated with each asset. The buffer funds for all assets are stored in the core and can be rebalanced if meeting pre-defined conditions. This mechanism allows the protocol to save a lot of gas at the time of order creation and execution. Order executor is another entity that interacts with the core to fill the orders. The executor needs to provide the order id and address of the execution handler to execute the order. Execution handlers have a fee associated with them which is stored in the core contract. Once the order is filled the creator automatically gets the buy assets in the specified wallet.
- Yield Strategy: Sell assets can have a yield strategy associated with them. The funds are deposited to the strategy to earn yield while the associated order is still on the order book. Protocols like Aave, Compound, Yearn, Mstable, etc can be the yield strategies.
- Execution Handlers: handlers are used by executors to fill an order. The executor can also use its own liquidity to fill orders. There will be a handler fee associated with each handler in addition to the base fee set by the protocol governance. Decentralized exchanges like Uniswap, 0x, Sushiswap, etc can be the execution handles.
Apart from this, there will be reward distribution for executors and creators. The main purpose of the rewards is to incentivize creators and executors.
Symphony token will be the native currency of Symphony Finance driving all of its features and incentive structures. This will be a governance token.
The details on the token structure & distribution will be released soon.