SpartanProtocolV2 — An Update

SpartanProtocolV2 — An Update

Explaining the proposed contract-upgrade implementations!

SpartanProtocolV2 — An Update

Explaining the proposed contract-upgrade implementations!

Summary

There has been a significant amount going on behind Spartan Protocol’s pearly gates! The contributors are constantly working, debating and discussing different implementations to ensure the best design is chosen to house the second major phase of Spartan Protocol’s smart-contract-journey.

WEN SYNTHS!?

Yes; I know, we all want synths, but it’s important to remember the principles that Spartan Protocol was built upon. Nothing has been rushed; the community contributors work away daily and don’t give ETAs; they just BUIDL. On that note; the community delivered the new synths landing page which is now live: https://spartanprotocol.org/synths.html

The following is a bit of a summary of the contributor-collated ideas going into the most recent implementation of SpartanProtocolV2. This is the third major design revision this month alone; it gets better every time. Imagine if Sparta was created by devs exposed to arbitrary roadmaps and deadlines for the sake of it rather than delivering on the overarching objective?

Please take the below with a grain of salt; the purpose of this article is to collate and share some of the thinking and processes that go into building these complex contracts; not to set up ‘expectations’ and ‘definitives’. Some of these ideas may not make it to MainNet or they may be vastly different by then. Someone may read this and come up with a great idea to replace this entirely! If that is you, please reach out in the social channels linked at the bottom.


Synths Contract

SPARTA holders will be able to mint a synthetic version of the curated BEP20 pooled assets. Why mint a synthetic asset when you could just simply swap SPARTA for the underlying base asset? Fair question! At first glance, the synths themselves will have very little apparent utility for a raw ‘holder’ of the synth asset.

However, under the surface, you will find that the purpose of the synthetic assets will be to enable the ability for users to ‘short’ assets and/or add leverage to your position (see the ‘compound’ contract). It will also act like a derivative with its value being derived from the underlying assets in SpartaPools. This could potentially be extended later on into synths of ‘baskets’ of BEP20 assets instead of 1 particular asset. Or potentially real-world assets with the help of other protocols who mint ‘tesla’ or ‘gold’ BEP20s.

The currently proposed implementation would involve bringing along SPARTA (Yes! LP tokens are not required with this newer implementation; just SPARTA) to the Synth contract and choosing which synthetic asset you would like to mint. The SPARTA is then added as per normal as an asymmetric-liquidity-add to the relevant pool. However, the LP tokens created from this are not sent to the user; they held at the SynthFactory; which handles the minting of the synthetic assets.

The synthetic assets are then released to the user ready for them to speculate with and potentially put through the ‘compound’ contract to increase (or reduce) their leverage.

Compound Contract

The details are still being worked out here, but essentially the user will be able to insert their Synths into this contract and have a ‘leveraged’ or ‘compounded’ version pop out the other side with more CDP-risk than they had before, OR they can do the opposite and reduce their risk with reduced leverage.

Loan Contract

This clever little idea has come to fruition on the back of a large number of community members asking (more like ‘demanding from some!) for a way to stake SPARTA-only. As most know by now; all SpartanPools involve two assets; one is always SPARTA and the other is always a different BEP20 asset. Currently for users to stake only SPARTA, the method would be to create a SPARTA:SPARTA pool and put SPARTA on both sides.

The problem with this is…. well…it makes no sense; the only revenue going into the pools is generated by users swapping assets in the pools. A SPARTA:SPARTA pool has no swap utility, who in their right mind will pay a fee to swap SPARTA for SPARTA? Hence no APY and a kind of pointless operation.

Enter… the ‘Loan Contract’… let’s call it SpartanLending for now.

SpartanLending will allow users to bring along LP tokens or SPARTA to place in the contract (where it will be held to pay interest on the loan) and receive a forward-payment of SPARTA from the float held by the contract.

The ‘float’ will initially be likely bootstrapped let's say 1,000,000 SPARTA by the protocol itself. However; users will be able to ‘stake’ their SPARTA into this float to increase the pool of funding available for lending. This will provide a way to put your SPARTA to work without having to add it as liquidity to the SpartanPools.

There will be an ‘Interest Rate Pendulum’ in place here to balance:

  • the SpartanLending ‘Float’, and:
  • the ‘Demand’ for borrowing

As the float gets smaller; the interest gets funnelled more towards the users supplying SPARTA to the ‘loan’ pool.

As the float gets larger; more of these incentives will float down into the underlying pools instead, to further incentivize the liquidity providers. This will be a constant balance designed to keep the float at an ideal size and the incentives spread throughout all the logical avenues.


Community Contribution

Spartan Protocol is at its core a community-driven and led project. In this vein, the more contributors the better. There is a great opportunity for community members to contribute by making LP reward analysis tools, etc.

Recently, community members have been graciously funnelling in to contribute to explainer articles, ideas and even $SPARTA donations to support the growth of the platform.

GitHub Bounties

spartan-protocol/spartan-site
Landing Page. Contribute to spartan-protocol/spartan-site development by creating an account on GitHub.

Telegram Bounties

Spartan Protocol Bounty Board
A listing of bounties the community have posted up to get jobs completed in Spartan Protocol

Engage with the community and contributors

Where to find out about all the latest updates or suggest improvements — get involved.