GCMoney an algorithmic stablecoin

GCMoney an algorithmic stablecoin and synthetic assets protocol based on Proactive Market Maker and Bonds


While most popular algostablecoins such as DAI, sUSD, MIM are based on collateralized debt DeFi primitive, we can see that they have some issues with necessity of liquidations and they are all unsustainable during market crashes. Another type of stablecoins are collateralized by “mint-redeem’’ arbitrage such as TerraUSD or Neutrino USD those stabelcoins stability is based on an assumption that price of a collateral asset will never drop to the point of “bank run” situation.
Also, in the modern DeFi we can see some innovative approaches to the algo stablecoin creation of fractional reserves augmented by market making (Frax Finance) or system based on incentivisation approaches (Fei Protocol). Hence, all those protocols designs have the same issue: if collateral price is going to zero they are all collapsing too. They are all also relying on external price oracles as well. Fiat backed stablecoins (USDT, USDC, BUSD) which are most popular and liquid now have issues with the trust to the centralised entity.
We’ll consider an algorithm of the stablecoin minting based on two modern DeFi primitives: PMM (Proactive Market Maker) and Bonding.


$gcd - gc-dollar pegged to 1$;

$gton - collateral (reserve) token;

$bond - NFT with parameters: vesting time and allocation giving right to burn NFT in exchange to a certain allocation of $gcd after certain vesting time (for example 1 week). The price of the bond issued in exchange for $gton is discounted price, which is giving incentives for $gcd miners (example 0.5% for weekly bonds);

PMM (Proactive Market Maker) decentralised exchange with asymmetric bonding curves for bid and ask side where slippage depends on liquidity reserves. PMM has asymmetric liquidity and price controlled by the price data from oracles;


To mint $gcd a user is buying bonds for $gton from the MINTER-SC. After vesting time ends, the user will be able to burn the bond and use his $gcd stablecoin (staking, farming, trading, lending etc).

Funds from the MINTER-SC are going into the PMM liquidity pool to the “bid” side. At the same time the same $-value amount of newly minted $gcd tokens are going into the “ask” side of the PMM pool.

So, from each mint operation we can see that liquidity in the PMM $gcd/$gton pool is increasing. Any external users-traders are able to sell $gcd for $gton using this pool. The price of 1$ in this pool is maintained by oracles.

We can see that the total supply of $gcd is always growing 2x more than collateral funds. But total supply has zero sense here since this liquidity is so called POL (protocol owned liquidity). The circulating supply (CS) has more sense for measurement since CS depends on minting and purchasing simultaneously.


Instead of $gcd we can mint $sgcd - as a staked version of the stablecoin. The staling rewards are coming from minting $gcd or staking of the collateral asset or protocol fees from pmm trading or even all of them included.

Minters are incentivised by discount for the bonding and in the case of 0.5% for the weekly bonds we have 26% ROI for regular/professional bond minters.


Having stablecoin we can use the same collateralisation algo for other synthetic assets (like gold, oil, btc, indexes and stocks), but instead of $gton another collateral can be used, for example $gcd. It’s beneficial for the economy of the system because it’s increasing demand for the $gcd as a market token for synthetic assets.


PMM allows the use of reserve assets at the same time for the stablecoin minting with the same bonding mechanics.

Hi Alex,

this approach seems to make a lot of sense to me. Just a few concerns:

  1. The above doesn’t clearly describe what happens in case the collateral falls in value.
  2. Would it be too complicated to allow also to use GTON for bonding. Those GTON could anyway be staked right away and in case of a swap from GCD to GTON, the user can decide if he wants to receive sGTON or GTON (in which case the pool would need to unstake the corresponding amount of sGTON and send the resulting GTON back to the user).
  3. How would we use the staking rewards of the sGTON collateral? Would it remain in the pool (and potentially generate new GCD)? I think this wouldn’t make much sense, because of the POL approach. I would rather prefer if we would distribute it back to GCD holders (or stakers in case of sGCD).
  4. As for synthetics, i think it would be good to use GCD here, providing a use case for GCD on its own.

Would it be possible to have some reasonable example, assuming some the different bonding curves, discounts, … to see how the protocol would behave in different situations?


unfortunatelly it’s possible, as in all DeFi protocols
but here we’ll have huge slippage which is preventing exists

so, basically not 0 collateral funds situation possible
less collateral hither slippage

so, this system is auto-preventing exists or making it as an obvious loss
at the same time the system is able to become healthy again from any “almost bankruptcy” point

technically we’re aiming to reuse our existing staking smart contract for all GC vault assets.
it means that we are able to use same rewards distribution logic for sGCD, candyETH and all other vault assets

agree, my biggest bet is that $GCD can be used as a trading asset for active strategies with mirrored assets

most of stablecoins has only 1 use case: farming on curve lol

unfortunatelly it’s possible, as in all DeFi protocols
but here we’ll have huge slippage which is preventing exists

I feel like it is important to make sure slippage doesn’t impact the value for GCD (to a great degree) because it is a PR nightmare. Not being able to assure the stablecoin peg would greatly reduce the trust users have in the protocol.

By definition, a stable coin should be ensured its value. For dollar backed stable coins this is straightforward, for algorithmic stable coins this can be ensured except for the most extreme situations. It should be possible to calculate the edge cases at which an algorithmic stable coin loses its peg, no?