Photo by Dayne Topkin on Unsplash

Introducing Symphony Finance

Motivation

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.

Solution

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.

Architecture

Symphony Finance Architecure

Symphony’s architecture has 3 main components:

  1. 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.
  2. 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.
  3. 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

Join the community

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store