# How does the economy of Clovers work?

Clovers uses a token called Clover Coin that is inflationary and deflationary. It is inflated when used as a reward in exchange for symmetrical clovers. It is deflationary when any clover is kept by a user (when it is burned). There is a bonding curve to allow Clover Coins to be exchanged for Ether.

### Inflation (Rewards)

The reward for symmetrical clovers is calculated based on the rarity of that type of symmetry. This is calculated as follows:

``````    /**
* @dev Calculates the reward of the board.
* @param _symmetries symmetries saved as a uint256 value like 00010101 where bits represent symmetry types.
* @return A uint256 representing the reward that would be returned for claiming the board.
*/
function calculateReward(uint256 _symmetries) public constant returns (uint256) {
(Symmetricals,
RotSym,
Y0Sym,
X0Sym,
XYSym,
XnYSym) = IClovers(clovers).getAllSymmetries();
uint256 base = 0;
if (_symmetries >> 4 & 1 == 1) base = base.add(payMultiplier.mul(Symmetricals + 1).div(RotSym + 1));
if (_symmetries >> 3 & 1 == 1) base = base.add(payMultiplier.mul(Symmetricals + 1).div(Y0Sym + 1));
if (_symmetries >> 2 & 1 == 1) base = base.add(payMultiplier.mul(Symmetricals + 1).div(X0Sym + 1));
if (_symmetries >> 1 & 1 == 1) base = base.add(payMultiplier.mul(Symmetricals + 1).div(XYSym + 1));
if (_symmetries & 1 == 1) base = base.add(payMultiplier.mul(Symmetricals + 1).div(XnYSym + 1));
return base;
}
``````

Currently the payMultiplier is set to `0.327`.

### Deflation (Token Sink)

In order to counter-balance the inflation from rewards there is a cost to keep clovers and own them as NFTs. When a user exchanges a Clover for the reward, the Clover is put up for sale in the market place. The cost for the Clover is calculated as follows:

``````basePrice.add(reward.mul(priceMultiplier));
``````

Where the basePrice is `1` Clover Coin and the priceMultiplier is `10`. Clovers with no symmetry have no reward so the cost is simply the `basePrice`.

### Bonding Curve

The Clover Coin is generated from a bonding curve contract that uses Bancorâ€™s Formula for price calculation. For more information about Bonding Curves and Bancorâ€™s implementation check out my article here. You can see the parameters used in Cloverâ€™s Bonding Curve below:

``````virtualSupply = 10000 Clover Coins
virtualBalance = 10 ETH
reserveRatio = 0.75
slopeFormula = 0.000062x^(1/3)
``````

When the token is deployed to Mainnet Ethereum there will be ~45 ETH spent on an initial transaction. This will provide a jumpstart to the liquidity for Clovers Network to begin.

2 Likes