YOLO upcoming features
3 min readDec 1, 2021
The Yield optimized limit order (YOLO) has been live on polygon for more than 2 months now. We’ve gained some very useful insights through user feedback and our own experiences from running the protocol in production. The future for YOLO is planned with decentralization and protocol expansion in mind.
- Decentralization: We’ve decided to add an “executor” field to the order. This field will be set by the user at the time of creating the order. The order will only be executed with the set executor. The user doesn’t need to do anything to set the executor, it’ll be pre-defined in the UI. This will incentivize the executors (running the backed service to monitor the orders) to run their own UI and pre-define the executor field to point to their own executor address. This will make the UI more decentralized as more UIs will spin up eventually. The Symphony Finance core team will run a UI and executor for the initial days of the protocol. This not only makes the UI more decentralized but also protects the executors from gas wars that will make running the executor less attractive. We have taken inspiration for this from projects like Open GSN and Liquity ❤️
- MEV Prevention: No loss to the executor due to MEV. With the addition of the “executor” field to the order, the executors no longer have to compete to execute/fill orders.
- Different receiver address: We have added support to set a different token receiver address. Now users will be able to transfer output/buy tokens to a different wallet after the order execution.
- Gas optimizations: There are various optimizations in YOLO V2.
- Execute order/Fill Order gas cost reduced by more than 50% because of the rebalance mechanism in v2.
- Cancel order gas usage reduced by more than 50%.
- Reduced gas usage in Yield Adapter by making it non-upgradable. - Native token support as output/buy token: In YOLO V1, it was not possible to put native token (eg. ETH on ethereum) as the output/buy token (eg. one can’t get ETH in exchange for DAI, instead they need to put WETH as an output/buy token) but, In v2 we have decided to provide support for native token. One can get ETH for DAI now. Please note that this will only be applicable if the order gets executed. If someone cancels a native token order then they will still receive a Wrapped token.
- Update Order Functionality: One can update certain fields of the order after creation such as receiver address, executor address, output token, limit price, stop-loss price, etc.
- Fee deduction from input/sell token: Now the executor fee will be deducted in input/sell token instead of output/buy token. As a result, we can support any token as output/buy and the executor doesn’t need to worry about the price volatility of the token.
Join our community on Discord to ask any questions or discuss ideas. To catch future updates and alpha follow Symphony Finance on Twitter. To learn more about the protocol you can check out the docs here.