Liquidity is a key concern for any market, and this is especially the case in the early-stages of formation, when there is a limited number of buyers and sellers. Automated market making and Liquidity Pools (LP) are an innovation born from within DeFi that serves the purpose of providing liquidity programmatically without the need for an intermediary settling bid and ask orders in a traditional order book model. Trades clear instantly and without requiring agreement from a counterparty. The LP is established by a pool of tokens provided by liquidity providers who stake their tokens in token pairs in exchange for a portion of the transaction fees that are generated within the LP. The Automated Market Maker (AMM) program uses an algorithm to maintain the price relationship constant between the two tokens in each liquidity pair. This relationship is often expressed in the Constant Product Formula (but other, more complicated, formulas for AMMs can be used):

where(k)istheconstantwhere\: (k) is \: the \:constant
tokenAbalance(p)tokenBbalance(p)=ktokenA_balance(p) * tokenB_balance(p)= k
Morecommonlyreferredtoasxy=kMore\: commonly \:referred\: to \:as\: x * y = k

Carrot smart contracts will mint and deposit TRCs and TCCs into liquidity pools hosted by a partner Decentralized Exchange (DEX) that will manage much of the trading infrastructure for a small fee. The LP deposit cost will be split among the Participants in each token and will be discounted at the time of $CARROT distribution. Liquidity Providers earn trading fees generated within the LPs. The diagram below is an illustration of how the LPs will function.


1 ton of aluminum = ALU

1 ton of glass = GLA

1 ton of carbon dioxide = CO2e

andwhereand\: where

V \: is \: a \: value \: deriving \: function,and \: V(X) \: is \: the $ \: value \: of \: X

Given that $TRCGLA, $TCCCO2e, and $CARROT represent the amount of tokens in a balanced 50/50 liquidity pool, then the relationship in each liquidity pool is expressed as unique constants, k1, k2, and k3:

$TRC_{GLA} * $CARROT = k1
$TRC_{GLA} * $CARROT = k2
$TCCCO2e * $CARROT = k3

Where $USD represents the total number of fully-reserved / collateralized stable coins or a CBDC and k4 is a unique constant

$USD * $CARROT = k4

The value that is swapped in a liquidity pool for one token is removed with the other minus any swap fee and vice versa. Note that when liquidity pools impose a swap fee, the constant in constant-product AMMs is subject to a small change, based on the fee amount and trade size.

To bootstrap liquidity to any $CARROT, $TRC, or $TCC liquidity pool, a portion of the community rewards will be made available to LPs. In addition to the community rewards, some amount of the protocol’s treasury created via retiring credits will also go towards an incentive to Liquidity Providers and will be dynamically adjusted based on the total volume of credits retired. During the bootstrapping period, the Carrot Fndn will inform publicly to all market participants the amounts of $CARROT that will be available as liquidity mining rewards.

The markets will determine the prices of each asset. As a Liquidity Provider, the Carrot Fndn has the ability to use $CARROT and TRC reserves to balance out the $CARROT and TRCs or TCCs in each liquidity pool to proper levels, if necessary in the early stages of market creation. Its activities will be performed publicly, again, within Liquidity Pools so that market participants are fully aware of Carrot Fndn’s activities. Dynamic pricing of TRCs and TCCs will ensure that reserves are maintained, but this will also be an area of study for the Carrot Fndn. Arbitrage traders will ensure that the price of $CARROT is maintained consistent with that of the market by purchasing or selling $CARROT from the LP to trade on other exchanges.

Last updated