SpiritSwap V2 is LIVE — UI & protocol upgrades.
Users can now enjoy V2 via the following link: beta.spiritswap.finance
SpiritSwap has come a long way since its inception on the Fantom network one year ago. This past year has been full of highs and lows but at the end of the day the Spirit team has loved sharing every minute of this journey with you all! To celebrate our continued ingenuity and drive to consistently add value to the Fantom ecosystem, SpiritSwap is pleased to present V2 and subsequent protocol upgrades.
This project in itself has been a monumental effort by our development team, all coordinated by our core team members in their respective fields. This product is a result from months of blood, sweat, tears and a severe lack of sleep. To start, SpiritSwap would like to thank everyone involved in the development of this major overhaul.
This article explains our reasons for the V2 upgrade, what the upgrade entails, the key differences between V1 & V2, along with the architectural upgrades to the AMM infrastructure and the underlying updates to some of the contracts.
The work doesn’t stop here. Upon deploying V2, the team will be getting straight to work on V2.1 upgrades, which consist of functionality upgrades that would have taken too long to implement in the V2 rollout, balance is key.
V2 TLDR 1 minute ;
>New AMMs in the mix
>Protocol Fees: Giving back to the protocols, whenever a protocol lists with us, SpiritSwap rebates protocols` 25% of the fees their pools generate
>Implementation of a master router. This means we can add new AMMs (like balancer weighted and linear or concentrated AMMs) without having to upgrade our UI or contracts.
>Fee reduction from 0.3% to 0.18% for Classic AMM (customizable fees down to 0.01%)
>Stable AMM introduced at 0.04% fees (customizable fees down to 0.01%)
>More fees for inSPIRIT holders from 0.05% — 0.135% (Includes both base fee and vote fee)
>Non-dilutive tokenomics for inSPIRIT holders through ve(3,3) model
>Making the inSPIRIT model more sustainable: Using a mix of solidly voting models
>Introduction of Permissionless Spirit farms
> In-built bribe UI
> Gauge proxy divided into 3 isolated gauge proxies for greater balance of emissions
>Introduction of weighted pools
>Introduction of linear pools — better capital efficiency by feeding to lending network
>Introduction of Permissionless Ecosystem farms
> Upgrades to bribes (% based bribes, limit bribes)
V2 will be released in two stages. The first being a public beta, which is live as of today. This gives the public the ability to switch between V1 and V2 at their leisure. The current plan is for V2 beta to be live for 2 weeks, allowing the team to receive feedback and bug reports from the community. Over this time, the development team will dedicate 95 % of development resources to remedy any reported bugs from the community. Upon this round of community testing being complete, the team will redeploy our URL to face our V2 product thus making V2 our official application moving forward.
V2 TLDR 5 minutes :
Huge overhaul of fee structure with the aim to pass as much value back to inSPIRIT holders and protocols who support SpiritSwap.
Notably our vAMM fee has been reduced from 0.3% — 0.18%. This provides a positive feedback loop between aggregator traffic, volume and fees. The introduction of the new Vote Fee further rewards inSPIRIT holders who vote on gauges that have the ecosystem’s best interest at heart. The introduction of the Protocol Fee further incentivizes protocols to add liquidity with SpiritSwap, establishing a pool of deep liquidity for more optimal trade pricing.
Bridge swap upgrade:
SpiritSwap’s bridge aggregator will pave the way for a myriad of other chains to be added to the bridge. As a part of this upgrade, people will now be able to simultaneously swap while they bridge. For example, users can now send BNB from Binance Smart Chain to Fantom Opera, but in the same process, convert this BNB to FTM with one click.
We have 2 options — cheaper fees or faster transactions.
Running snapshots and facilitating airdrops for bribes is cumbersome and laborious. It’s not a good use of developer time. As such, the bribe process has been simplified for both developers and the community. Developers of projects who have gauges can now offer a bribe and set this up directly within our inSPIRIT UI. Subsequently, inSPIRIT holders who vote on farms with active bribes can also collect their voting fees directly within the inSPIRIT page, along with their inSPIRIT weekly rewards.
Isolated gauge proxies:
What was a “singular gauge proxy” for boosted farms, has now been segregated into 3 isolated gauge proxies for greater control over emissions on pairs that are crucial to the SpiritSwap ecosystem.
Real Yield — Anti dilution for inSPIRIT holders:
This aims to further stimulate the adoption of inSPIRIT for new and existing participants in our ecosystem. The Real Yield model sees emissions redirected to ensure loyal inSPIRIT holders are never diluted by farmers.
In depth overview 20 minutes
UI and codebase upgrades.
Soully has undergone some cosmetic surgery, SOME being an understatement. As you will notice, the entire layout of the SpiritSwap application has changed for a more simplified, crisp, clean and professional look. On top of this, we have rebuilt the ENTIRE code base from scratch, which is why V2 has been such a long drawn process.
In layman’s terms, by building this code ourselves (rather than relying on forked code) we understand the mechanics of this code much better, thus are able to execute a rapid turnaround time on fixing bugs and expediting deployment of new features. Needless to say the functionality of our DEX will now be much quicker than V1.
Offering a user interface that embodies the playful nature of Soully, while highlighting the key elements users expect from a DEX, is where inspiration came from. We wanted to keep things as minimalistic as possible, meanwhile offering the layers of detail that more seasoned DeFi users have come to expect from an aspiring tier 1 DEX.
The layout of the application was given careful consideration, specifically focusing on the flow of interaction. As users will notice, their journey within the application begins where all DeFi users would expect, their portfolio. Our home page now doubles as a portfolio page, which gives a detailed overview of all user positions including single held assets, LP positions, farm, winSPIRIT, lending and borrowing, as well as eventual ApeMode positions. This will offer all users a more enhanced overview of their positions on SpiritSwap and all key components / features that are offered as a protocol.
The new landing page will feature an overview of ALL key components that SpiritSwap brings to market. Included in these key components is user education, as a lot of users are new to defi. Ensuring users who arrive at our landing page have immediate access to information they need to make informed decisions is of immense importance. As such, when new users initially arrive at the landing page before entering the application, they are offered a myriad of information that details each individual feature via the ability to click on pop up infographic cards explaining the intricacy of each feature.
Basic AMM features like Swap, Bridge, Liquidity and Farms, still retain their standard functionality but with a new look and feel to the design. The focus was to keep as much of this functionality as familiar as possible for our existing users.
However you will notice that there are some new feature additions to farms and liquidity, which aligns with some of our new AMM architecture. These will be covered in a separate paragraph related to AMM upgrades.
The inSPIRIT page has also undergone a huge facelift, now offering far greater user experience. Users can now toggle between locking more SPIRIT or increasing their delegation period to eliminate any confusion. The process of locking inSPIRIT has now also been broken down into a simple 3 step process, replicating a walkthrough type approach for users participating in our inSPIRIT model. This makes the process seamless, easy to understand and eliminates any confusion for those who are new to the ecosystem or struggle to comprehend the process.
The farm voting panel has also been updated to offer improved UX via farm voting rebalance exclusion. Currently users must exclude farms they don’t want to vote for, otherwise vote percentages will automatically be rebalanced accordingly. This has led to a cumbersome and frustrating experience for V1 users and has been something we have strived to improve since the initial inSPIRIT deployment.
My farms toggle function: This allows users to automatically flip a switch that only displays their active farms in the voting panel. This improves UX as users no longer need to scroll through endless farms picking out the ones that are pertinent to their investment strategies, but rather streamline this approach by only displaying their active positions. This also helps users easily identify the most lucrative farms to vote for in order to capture the largest amount of voting fees.
SpiritV2 will launch with two AMMs. A variable AMM (vAMM) for variable liquidity pairs (vLP) and a stable AMM (sAMM) for stable liquidity pairs (sLP). This AMM is a modified version of Solidly with an upgrade to the fee structure.
Our AMM architecture is preceded with a master router for swaps on SpiritV2. This means we can add new AMMs (like balancer weighted/linear pools or new types of AMMs) without having to upgrade our UI or contracts. They can just be added in the master router.
In this new AMM format, swap fees now accumulate outside of LP tokens in an LP Fee contract. This is unlike our old (UniV2) AMM in which fees are compounded directly into the LP tokens themselves. In this architecture each LP Pair contract has an associated LP Fee contract to handle this logic. Breaking out the accumulated swap fees from the LPs themselves allows us to implement our LP voting logic into the gauge system (more on that later).
The sAMM will allow for the ability to set different fees than the vAMM which Solidly didn't allow for. We see this as an opportunity to fix a broken system, which is why the SpiritSwap AMM’s offers variable fee functionality. The thought process here is that by utilizing the (X²+Y²)*(X*Y)/2=K formula, we achieve a higher concentration of liquidity resulting in tighter spreads and lower impermanent loss. This means we can offer a far better execution on swaps (fees/slippage).
Further to this, SpiritSwap also achieves the ability to offer peg support, meaning SpiritSwap can now offer more effective pricing on stable trades, but also the ability to offer a more targeted solution to tokens that require peg maintenance. With this integration, winSPIRIT pairs will achieve more effective peg maintenance. This will now entice winSPIRIT pairs to stay where they belong and retain profitability on these pairs being traded, meaning inSPIRIT holders won’t miss out on the fees captured by any trading of inSPIRIT pairs that are currently based on other AMM’s.
By offering a more competitive pricing delivery on certain stable pairs, SpiritSwap will subsequently be more competitive in the aggregator space, meaning fees we were missing out on via DEX aggregation, will be a thing of the past.
Better pricing = more fees captured by proxy of DEX aggregation.
Further to this AMM architecture upgrade, SpiritSwap intends to add another layer of architecture to the mix in V2.1 that will allow for more enhanced trading functionality, offering the ability for us to bootstrap enhanced trader UI onto our front end. For now that update will remain as a surprise for a later day.
The fee structure for SpiritSwap has also undergone some upgrades. The upgraded AMM has variable fees that can be updated by governance and can go as low as 0.01%. This will help us remain competitive with fees and we won’t have to redeploy even if our competitors lower their fees. Unlike Solidly, the vAMM and sAMM can have different fees, this makes sense because stable swaps should have lower fees than variable swaps because they incur less IL.
Moving forward, SpiritSwap will be reducing fees from 0.3% to 0.18% for our classic vAMM while establishing the ability to have an even more competitive fee for our new sAMM at a respectable 0.01%.
The reason for this stems from the realization that it’s better to capture a smaller slice of a bigger pie rather than trying to take the entire pie for ourselves. This update will see a more optimal pricing on trades, meaning that we capture a larger amount of aggregator traffic (fees that are currently being missed out on).
The distribution of fees has also undergone a change. The current model sees fees allocated as follows:
- 5 / 6 of fees are currently given back to LP’s
- 1 / 6 of fees are currently used to buy back SPIRIT at market rate and distribute to inSPIRIT holders during our weekly reward distribution.
vAMM & sAMM fee restructure:
Moving forward, Fees accumulate outside of LP token (unlike uniV2 which compounds fees directly into LP). Fees will be allocated as follows:
25 % will go to our base fee:
The base fee is exactly the same as the current inSPIRIT distribution. These are the SPIRIT rewards that all inSPIRIT holders collect at the end of each distribution epoch. It is pertinent to note that with the reduction in fee we are hopeful our routers will collect a higher volume of trade traffic from aggregators. Due to increased volume by virtue of a reduced fee, this increase in volume is expected to capture a higher distribution for inSPIRIT holders each week.
25% of fees will go to the new Protocol Fee model:
The protocol reward fee model is a rebate to protocols who list LP’s with us, for example Liquid Driver.
Out of all fees collected on Liquid Drivers liquidity pools, 25% of these will be given back to the protocol who lists with us (in this example Liquid Driver).
This incentive will be an enticement to new and emerging protocols looking to launch on FTM as well as rewarding those who have maintained loyalty to the SpiritSwap ecosystem from the get go. This new fee reward should see SpiritSwap capture a much larger allocation of liquidity provision as this approach offers an extra revenue model for protocols. This provides an incentive for protocols to add more liquidity with SpiritSwap thus deepening the liquidity on the DEX. Deeper liquidity on the exchange means more optimal trade pricing. More optimal trade pricing means more trades going through SpiritSwap routers which in turn means more fees collected. This establishes a positive feedback loop of liquidity provided vs fees collected by the protocol.
This positive feedback loop is further supercharged, as the 25% protocol reward fee distributed to each respective protocol could be used as protocol owned liquidity to farm more SPIRIT.
To collect this fee, each protocol who lists with SpiritSwap must reach out to establish a chain of communication and provide a multi-sig controlled wallet to accept this fee. This system also helps add a layer of security for users, as it enables the SpiritSwap DAO to establish a dialogue with protocols who are deploying liquidity on our DEX. In the event that a protocol does not reach out to us to register to receive this fee or if there is a fee that can not be claimed due to an entity not existing to claim said fee e.g ETH / FTM / USDC, the fee will be diverted to the SpiritSwap DAO treasury wallet as a way for the DAO to begin acquisition of an income outside of Spirit emissions. This approach reduces the need for the treasury to sell SPIRIT to pay for developer expenses and opens up additional yield opportunities for the treasury to further increase its income and diversify the assets it holds.
50% of fees will go to our new voting fee model:
The voting fee model is inspired by the Solidly model and applies it to SpiritSwap’s metrics. Fees earned from this model are ONLY paid to people who voted on the gauges that this LP represents and rather than being distributed in SPIRIT tokens (like the base fee), are paid in the individual tokens of the LP.
For example, If you voted 100% of your gauge voting weight towards the LQDR — FTM gauge (which supports a pool with the top 10 highest volume on SpiritSwap), you will receive a 50% share of the fees collected on this pool specifically, in proportion to your inSPIRIT position divided by the total amount of inSPIRIT voted on this gauge. inSPIRIT holders can use this new mechanism as an opportunity to accumulate tokens they desire. For example, if they want to accumulate FTM and FRAX they could vote for FRAX-FTM vLP and continuously accumulate those tokens.
To make it simple, here is a rundown.
- You have 10 inSPIRIT and direct all of this voting weight towards the LQDR- FTM Gauge.
- This Gauge receives 100 inSPIRIT votes total thus giving you a 10% share of the gauge’s voting fees
- The week following, this LQDR- FTM LP generates $100,000 in fees.
1. $25,000 of this fee would go to all inSPIRIT holders via the base fee in SPIRIT tokens.
2. $25,000 would go to Liquid Driver (if they have registered to receive the Protocol Fee)
3. $50,000 would go to the pool of vote fees. Because you have a 10% share of this pool, you would receive $5000 worth of LQDR & FTM tokens when you claim rewards from the new “Claim voting fees” button. This button harvests both bribes and vote fees at the same time.
The reason behind this upgrade is to try and distribute votes more evenly among high volume LP’s that need good emission incentives in order to offer deeper liquidity on pairs that are crucial for revenue generation within our ecosystem.
This approach strives to achieve the following:
1. Establish deeper liquidity for core pairs that are important to the growth of SpiritSwap’s ecosystem.
2. Have less concentration of votes on low volume gauges and distribute votes to pairs that warrant higher emission rewards.
3. Reward users who vote with the protocol’s best intentions rather than blanket profiteering.
Farm System upgrades:
The system to which farms operate also has some key upgrades. Voting can only be done once a week per account (so make sure you select with care). This allows us to integrate with 3rd party bribe platforms like Pitch.money which have additional features such as limit order bribes and percentage based bribes, giving protocols more flexibility and lower risk when it comes to offering bribes on SpiritSwap.
Users can now deploy permissionless Spirit Farms through a governance guarded whitelist of tokens (Aka no Batman / Spiderman antics). This means via governance vote, any tokens can be added to a whitelist. This will initially be addressed via snapshot votes until on-chain governance is implemented. Once tokens are whitelisted, anyone with over 1% of inSPIRIT supply can then create a gauge for that token paired with a base token. This establishes a more “community orientated” approach towards operational governance of liquidity pools.
Macro protocol upgrades:
Wrapped up in the V2 upgrades, a subsequent change to the Gauge proxy contract and fee structure has also been included. The thought process behind these changes is to address shortcomings of how the protocol is currently being interacted with but also to position SpiritSwap in a more competitive market position. As such, the following upgrades are to be announced:
There will be 3 separate gauge proxies established moving forward. Each gauge will hold the following weight of emission distribution percentage, each week during the weekly distributor epoch reset.
Variable AMM (vAMM) gauges will receive 40% of emissions:
Boosted farm gauges will receive 40% of all Spirit gauge emissions each week moving forward. This means that out of all SPIRIT emissions scheduled for farming rewards to each respective “gauge proxy”, 40% will be distributed among all vLP gauges. These emissions will then be divided among each respective farm depending on the weekly vote they get from inSPIRIT holders.
Stable AMM (sAMM) gauges will receive 25% of emissions:
Out of all SPIRIT emissions scheduled for farming rewards, 25% will be allocated to sLP gauges for stable pairs. These allocations will then be divided among each respective stable farm depending on the weekly vote they get from inSPIRIT holders.
Admin Gauge Proxy will receive 35% of emissions and be divided up accordingly:
The admin gauge proxy (controlled by the DAO) will be comprised of 3 core pools, with emissions divvied up accordingly-
SPIRIT — FTM 20 % of emissions
USDC — FTM 10 % of emissions
winSPIRIT pools 5 % of emissions
The reason for setting up an admin gauge proxy for these pairs is to ensure that these critical liquidity pools retain a consistent and controllable flow of incentives. These specific pools are crucial to our ecosystem, as such having a level of control over emissions to these pairs is of immense importance. As the admin gauge proxy is set by the Spirit DAO, this will be the only gauge that votes cant be cast on, as emissions have been set the way they are for a reason — preservation of our ecosystem.
It is pertinent to mention, this new gauge proxy model is dynamic, meaning numbers can be shifted around if the community vote to do so, however the reason these have been set up the way they are, is that this is what is best for the DEX and the protocol, to preserve emission allocations where they are needed and allow for fair competition.
Among the plethora of updates to the various ecosystem economics, our tokenomics has had an overhaul to the benefit of inSPIRIT holders. Without further ado, we introduce our REAL YIELD model.
The REAL YIELD model makes taking part in inSPIRIT more attractive, which in turn locks up more SPIRIT which in theory should have a positive impact on price movement due to scarcity.
No matter what the SPIRIT emission rate is, as long as you have inSPIRIT locked, this mode ensures your % holding of the Market Cap will NEVER GET DILUTED!
How, might you ask ? Simple, from the emissions sent from the master chef, a portion of this is automatically redirected to the fee distributor rather than gauge proxies.
For example, Lets say
100,000 SPIRIT is to be emitted this week
500,000,000 SPIRIT total supply (at this point)
200,000,000 SPIRIT is locked into inSPIRIT (at this point)
(200,000,000/500,000,000)*100,000 SPIRIT = 40,000 SPIRIT distributed to inSPIRIT holders this week (feeDistributor) and 60,000 SPIRIT sent to Gauges
This ensures, inSPIRIT holders are getting a subsidized flow of the emissions to avoid them ever being diluted by farmers, making inSPIRIT more attractive.
This is REAL YIELD as it excludes additional inSPIRIT distributions for both the base fee and voting fee, meaning inSPIRIT holders now earn 3 ways.
1. REAL YIELD subsidized emissions
2. Base fee ( fees used to buy SPIRIT and distribute to inSPIRIT holders)
3. Vote fee paid out in individual tokens
Essentially inSPIRIT holders are now earning double SPIRIT rewards via the REAL YIELD and base fee models + rewards from the vote fee, meaning depending on what gauges you vote for, you can earn LQDR, FTM + OATH, FTM + USDC , DAI all at once as voting fees + protocol bribes (if any)!
To further extrapolate on how the this REAL YIELD model works to avoid dilution, see the example below:
- Say I have 1,000,000 SPIRIT locked in inSPIRIT. In this SPIRIT distribution I would receive 200 SPIRIT.
- The total supply of SPIRIT has gone from 500,000,000 to 500,100,000. My holdings in SPIRIT went from 1,000,000 to 1,000,200.
> my market share before = 1,000,000/500,000,000 = 0.20%
> my market share after = 1,000,200/500,100,000 = 0.20%
We’re emitting SPIRIT rewards to farmers to incentivize our system, yet inSPIRIT holders are incurring no dilution and earning REAL YIELD from swap/voting fees and bribes.
This is an experimental iteration from the Solidly ve(3,3) system, but with the added improvement surrounding the fact that these rewards aren’t automatically locked back into inSPIRIT for you like Solidly does (automatically locking your SOLID rewards back into the fNFT).
With any (3,3) model this also introduces an essence of game theory. Although we have given people “choice / options” by not automatically forcing these rewards to be locked, it would be to the detriment of the recipient to automatically dump these rewards, as this would in fact lead to some form of dilution, as such we expect the community will develop their own game theory around this model, locking a portion of this novel reward (so the REAL YIELD can continue to be profitable for them) and only taking profits from a portion of this. The exact ratio of this approach will eventually be discovered by the community.
We would like to stress that this is an optional format and can be turned on/off while the system is in production. If the community doesn’t like it, and the DAO vote to remove it, we can easily switch it off.
To avoid any further delays of the V2 roll out, we were forced to pick and choose between what to deploy now and what to release in close succession to the V2 deployment. Some of the planned V2.1 upgrades can be found below.
Moving forward, developers who are struggling to get sufficient liquidity incentives on other AMM’s due to low gauge allocation or difficulty of acquiring a farm, will soon be able to use permissionless ecosystem farms to incentivize their own liquidity. The thought process here is that this will be a great way to attract new developers to list on SpiritSwap, as this empowers them to incentivize their own liquidity without emission restriction. As this uses our new AMM model, anyone who incentivizes an ecosystem farm will earn voting fees, allowing them to profit off their incentives.
This is unlike any other ecosystem model in the market.
Further to this process, SpiritSwap will adopt a meritocracy model to provide these “permissionless ecosystem farm” participants with an opportunity to get a gauge listing at a later stage. This process will encompass holding regular votes among the community as to which of these farms should be awarded a gauge, depending on the amount of volume and revenue they deliver for inSPIRIT holders. This incentivizes new projects to list with SpiritSwap, as in doing so, they can consider this as the first step towards getting a SpiritSwap incentivized gauge for their pool.
On top of stable pools, a second element of benefit that a balanced AMM offers can be pulled into the mix, these being weighted pools. Weighted pools are extremely adaptable liquidity pools. In short, by harnessing weighted math, weighted pools allow for the construction of pools with different token allocations, such as 80/20, 70/30 or even 40/40/20.
But what are the benefits you might ask?
Weighted Pools provide the ability for people to decide on their level of exposure to certain assets, thus minimizing exposure to the dreaded acronym (IL) “impermanent loss”. We have been monitoring closely the growing needs and wants not only from DeFi participants but also protocols themselves and weighted pools have become a prominent topic of discussion among the community. As such, it only makes sense for us to include this foundation of infrastructure to the mix.
Our goals are simple: identify shortcomings / problems within our protocol and develop solutions for them that not only fix any underlying issues but add additional options for our users in the process. This is what V2 has achieved and V2.1 will further deliver. We feel V2 is the perfect balance and combination of the best products available in DeFi, stitched together into mega-fortress that encapsulates the essence of DeFi 2.0.Through the process of alchemy, we have hand selected the best of everything available, fixed what was broken and used these to further reinforce the tokenomics and ecosystem that revolves around SpiritSwap. As a team we are immensely proud of what we have accomplished here, turning around the development of an entirely new code base from scratch in under 3 months and making monumental upgrades to the protocols ecosystem in the process. The journey so far has been nothing but a pleasant one. We love our community, we love the Fantom ecosystem and most of all we love building new products and features for everyone to enjoy. We want to take a moment to thank our die hard supporters who have stuck with us through thick and thin and give a special mention to everyone who has been involved in the V2 developments process. We look forward to continuing to shock, disrupt and surprise as we plow through our V2.1 upgrades.