# Element Finance Design
## Minting FYTs + YCs UI
Stake assets to create FYT/YCs that themselves can later be staked or sold. The inspiration here is defisaver.com. We'll have interactive portions that will help users make decisions for:
- Choosing a tranche
- Choosing a pool
- Staking
- Liquidating
- Leveraging
- Rollovers
### Choosing a tranche
We have an opportunity here to explain to users that they ought to chose a tranche that already exists so that their tokens are more easily traded. We'll still want the option to exist for users to create their own tranche if they know what they are doing. Its still an open question if we'll want to show every tranche that is ever created in the UI or if we'll want to show a curated list. We might want to at least limit the UI to only allow tranches to end on Sundays at midnight to prevent a plethora of tranches.
### Choosing a pool
We'll also have to let users pick which type of investment they want to get into. We'll have to explain the differences between higher yield (and potentially riskier) investments options. All options have to potential to return less than a 1-1 ratio for FYTs when they mature, though this is cna be a much larger risk for certain investments. Market forces may also favor creating FYT/YCs that are invested in higher or lower yield strategies, which we should mention.
### Stake
While minting, we'll want to show a staking calculator to help the user figure out how much they can mint in order to stake all of their assets after they mint. If they want to stake in a pool with the same base asset, we can show that they'll need ~50% of their balance to stake. If they want to stake against a different asset, we can let them know if they have enough of that asset to stake all the tokens they mint. This can also show fees that they'd collect and explain staking rewards they may get from whatever platform they stake on (BAL, UNI etc). After they mint, show the UI to stake the newly minted tokens.
### Liquidate
After minting, if the user no longer wants YCs or FYTs, we can show the different markets where they can sell their tokens. Most likely this will be a short list of markets with buttons to sell FYTs. Alternatively we could link to market details pages.
### Leverage
Provide an option much like defisaver.com to leverage your FYTs and generate more YCs. This may be more of a 'nice to have' feature as there might not be that much utility here since open market purchases of YCs should net the same amount. A workaround here could be to just show the markets where they can buy more YCs.
### Rollover
Provide an option to automatically rollover your funds? Open question, if you just have FYTs, would that generate new FYT/YC pairs when you roll over? Who would want this? How does this affect AMMs? Too many open questions to design this right now.
## Buy Fixed Interest UI
A very simple UI to purchase fixed interest. The inspiration here is yield.is. The target user for this UI is assumed to be shy to the DeFi space so we'll want to hide a lot of nitty gritty details of how FYTs/ICs work. However, we will want to have some copy that explains what you are getting, risks, and that you still have exposure to your base asset. We'll also want to incorporate ways for the user to find out more via links to docs and to our advanced UI. The UX will be very basic; allowing a user to select the asset they wish to lock and then choose from a curated list of differing maturity lengths and ROIs.
## Advanced Market UI
A marketplace for FYTs and YCs. The inspiration here is sushiswap. This should be a place for a user to just explore all of the different markets that we want to show. If our protocol is very flexible, we may want to show a curated list so that we don't show hundreds of tranches with very low liquidity in them. However, the app will be flexible enough to either allow substituting a valid pool address in the URL or entering an address in the UI.
A possible V0 implementation could just be links to the AMM pages where these exist on balancer, uniswap etc.
The market UI has two components:
- The Market List Page
- The Market Details Page
### Market List Page
A filterable list that shows all markets (or a somewhat curated list). We should aim to supply filter options for all attributes and stats: FYT/YC, maturity, staking asset, risk, ROI, trade volume, total supply etc. We'll want the UI to cleary show stats of each pool (total supply, apy, underlying investment assets).
### Market Details Page
Selecting an item from the list will show you detailed information about the pool. Here we have an opportunity to show interesting visualizations and more detailed information. Actionable items here should be staking, trading and redeeming.
## Portfolio
A place for a user to look at all of their positions and their overall gains. Here we can show real time updates to a user's performance and have lots of fun visuals for the user to interact with. We also have a great opportunity to suggest staking a user's FYTs so they can earn even more.