BST Minting and bnUSD Redeeming
Check out these example infographics and chunk calculations.
Last updated
Check out these example infographics and chunk calculations.
Last updated
The BST token is backed by an increasing amount of bnUSD.
All interactions in the Blobble Playground, Orphanage, Market and Finance place are designed to make the amount of bnUSD grow faster than the total supply of BST.
Minting and Redeeming BST incurs a 5% tax:
95% of minted or redeemed BST gets issued to the user
4% of minted or redeemed BST gets added to the bnUSD in the treasury
1% of minted or redeemed BST goes to the Blobble Foundation (team + marketing)
NOTE: In favor of simplification, the above infographic does not contain the Blobble Foundation (team + marketing) allocation.
chunksize = 2000
amountOfChunks = bnusdSend / chunksize
for amountOfChunks {
1. calucate the price based on bst supply & bnusd in contract
2. get amount of bst to mint based on price - 5% and mint to user
3. mint 1% of amount to team
4. update the amount of bst supply and bnusd in contract
}
for remaining bnusd {
1. calucate the price based on bst supply & bnusd in contract
2. get amount of bst to mint based on price - 5% and mint to user
3. mint 1% of amount to team
}
NOTE: In favor of simplification, the above infographic does not contain the Blobble Foundation (team + marketing) allocation.
chunksize = 2000 // <- bnusd-value
price = bnusd-in-contract / total-supply-bst
tokens = amount-of-tokens-send-by-user
bnusdValue = tokens * price
while bnusdValue > 2000 {
// amount of bst to handle in this iteration
bstAmount = chunksize / price
bstAmountPostFee = bstAmount * 0.95
bstTeamFee = (bstAmount - bstAmountPostFee) / 5
1. burn bstAmount minus bstTeamFee
2. send (bstAmountPostFee * price) in bnusd to user
3. send team fee in bst to team
4. updated price based on new bst supply and bnusd in contract
5. set 'bnusdValue' with updated price
}
for remaining bst tokens {
bstAmount = remaining-tokens / price
bstAmountPostFee = bstAmount * 0.95
bstTeamFee = (bstAmount - bstAmountPostFee) / 5
1. burn bstAmount minus bstTeamFee
2. send (bstAmountPostFee * price) in bnusd to user
3. send team fee in bst to team
}