Bond+Mint on Spartan Protocol
Bootstrapping Liquidity + Initial SPARTA Token Distribution
Bond+Mint; another novel distribution idea from the Spartan Protocol community — After continued discussions about how best to press on with SPARTA token distribution after BurnForSPARTA, the community contributors built and tried out the new Bond+Mint feature.
The ‘Burn’ phase will soon be closed off with the remaining token distribution allocation being shifted to the ‘bond’ program (Roughly ~50M SPARTA)
SPARTA Distribution Phase 01: BurnForSPARTA
If you missed it; here is a quick recap of the unique idea used for the initial token distribution, designed to get SPARTA widely distributed into the firm hands of many Binance Chain communities ready for BSC’s big push:
- Bob deposits $1,000 worth of BNB into the burn DApp
- The BNB is ‘burnt’ (sent to a specified ‘burn’ address, which essentially removes them from the supply forever)
- The contract mints $1,000 worth of SPARTA and sends it to Bob
In theory, this means SPARTA absorbs the value of the burnt assets, giving them a baseline value that most holders won’t sell below. There is obviously a lot of nuance there and markets will be markets; however the burn phase was successful in many ways:
- Wide token distribution, without resorting to techniques like ‘airdrops’
- Rug-pull resistant (no team, developer, pre-mine or private sale tokens)
- Token price appreciation; unfortunately it fell short here. In theory, there should have been a fairly solid 30c base for the token price with the value transfer proposition, and that no one user or group was receiving any SPARTA in a zero-value ‘airdrop’ fashion.
Short term wasn’t successful in price action, but time will tell with continued development! The community is showing strong support and belief despite that.
The above led to many robust and poductive discussions within the community for determining other ways to continue the distribution of the initial 100M SPARTA allocation. Enter; Bond+Mint…
SPARTA Distribution Phase 02: Bonding with SPARTA
Bond+Mint v1 was primarily a testnet experiment with the initial idea of a way to achieve two goals:
- Complete the initial token distribution
- Begin the first push towards accelerating the TVL of Spartan Protocol
- Bob deposits $1,000 worth of BNB to the DApp
- The contract mints $1,000 worth of SPARTA at spot price (no slippage)
- Both assets ($2,000 worth) are added to their relevant Liquidity Pool (SPARTA:BNB Pool)
- LP tokens are minted representing a claim on those assets entering the pool
- 50% of these LP tokens are sent to Bob so he can stake them in the DAO and earn harvest rewards (or redeem to sell/swap if he so pleases)
- The remaining 50% are vested back to Bob linearly over a 12 month period
Sounds attractive, right? Double your equity? Bonders get back their initial investment instantly, and it releases the bonus cream on top over a 12-month period. There is an obvious issue with this concept, bad actors will abuse anything with almost zero risk, and will negatively impact token price.
With this just being on testnet for experimental purposes, and no obvious or simple way to make anything other than 50/50 (symmetrical mint + add to pool) without causing massive slippage and imbalance in the pools, the smart contract contributors continued working on their code and started experimenting on testnet.
After testnet testing, the contributors changed some variables and gave it a small allocation for testing on mainnet.
V1 Bug: During mainnet testing, only a small amount of SPARTA was emitted (1,043) from the 5,000,000 allocation because of testers noticing a bug (due to the change of some variables) that only created 75% of the expected SPARTA:BNB total assets, leaving the user with 25% fewer assets after 12 months. The Devs moved on to V2 and pegged the remaining 4,998,957 SPARTA in the contract to be recovered or burnt in a later Bond+Mint version.
Bond+Mint v2 involved a few iterative changes to allow for ‘burning’ tokens in the contract in case of an upgrade or issue, and also a simple fix to the 50/50 issue. The ratio was then trialled at 25/75 (25% to Bob now and 75% over 12 months), quietly (on mainnet) with a tiny SPARTA allocation.
The testing went well! During this period, the wider community caught on and piled in to wipe out the 5M SPARTA allocation pretty quickly — we are talking a little under 12 hours, with over 9,000 BNB committed into the liquidity pool!
Time and effect was put into analysing bonder habits and community feedback, to ensure V3 Bond+Mint addressed some below concerns with the next small test allocation.
- Market-sell dump — the 25/75 ratio still wasn’t quite low enough to steer bonders away from either selling or swapping their existing SPARTA to get more BNB for Bonding, or from releasing their existing 25% return allocation, selling/swapping the SPARTA portion again, and re-bonding the remaining BNB.
- V3 will be 0/100 (0% to Bob now, 100% over 12 months)
- Pool price manipulation remained possible, based on the existing TVL of the BNB:SPARTA Pool (to game the ‘spot price’ used to calculate how many SPARTA minted by your ‘bond’)
- Whale concentration making use of a flat spot price to avoid slippage
To combat the points above, V3 uses ‘purchasing power’ rather than spot price to calculate the SPARTA minted.
This can be emulated by visiting the ‘swap’ page of the DApp and pretending to do a swap of the amount you want to bond. Underneath your input you will see a ‘rate’, click the ‘+’ icon next to that to see the ‘rate slip’ underneath. The percentage shown here represents how much it would emit less SPARTA for you in V3 vs V2. For most normal peers, this has little to no affect on the end result.
For anyone who was trying to manipulate the spot price to get a better ‘bond’ rate, they will now pay slippage fees twice when attempting this kind of manipulation (large slippage = large fees which are paid into the liquidity pools to reward liquidity providers), this will in theory also drive in more peers with smaller ‘bonds’ (more decentralisation / better distribution)
Three tokens have now been enabled on mainnet for more community testing with a small 2.5M SPARTA allocation and feedback. Remember, whilst this is mainnet it is still experimental and comes with its risks as always. Proceed with caution!
- BNB, BUSD, USDT all enabled for a small 2.5M SPARTA test allocation
- Bob sends $1,000 through the bond contract
- $1,000 worth of SPARTA is minted (at swap price)
- ~$2,000 worth of assets get locked into the SPARTA:BNB pool
- 0% goes to Bob straight away
- 100% is vested to Bob over 12 months (can claim as often as he likes; it is calculated every second just like the harvest feature)
V1 Allocation Contract Recovery:
V3 implements the lessons learnt throughout testing and feedback during the previous campaigns and seeks to do the same again, starting with an allocation of 2.5 million SPARTA. Remember that 4,998,957 SPARTA locked in the V1 contract? The team has written a contract to allocate it to the V3 testing campaign to allow a larger testing base with the increase maturity of the program.
Remember, whilst this is mainnet it is still experimental and comes with its risks as always. Proceed with caution!
SpartanProtocol at 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.
If you have an idea, share it in the community channels.
Engage with the community and developers
Where to find out all the latest updates or suggest improvements — get involved.