Monetary Policy Levers
The monetary policy levers are provided to the Trustees to aid them in their goal of providing monetary policy for the system. There are 3 monetary policy levers initially built into the Eco Protocol:
Linear Supply Change
Random Supply Inflation
Interest Rate: Lockup Contract
To understand in more detail how these levers are executed in the policy system, please see the Executing Monetary Policy section.
The Whitepaper and Eco Manual mention an additional lever, Supplemental Transaction Fees, which is not enabled in v1 on the Ethereum mainnet, due to the high gas price of the implementation.
1) Linear Supply Change
The Linear Supply Change lever allows the Trustees to change the number of tokens in circulation by a percentage amount. This mechanism results in the account balances of all ECO token holders being adjusted by a multiplier (_linearInflation
coefficient explained in the ECO Token section) that scales every ECO balance stored, including ECO locked up in contracts. Colloquially, this is a form of token rebasing. As you can see below, the _linearInflation
coefficient scales the unscaled balance of the owner, to derive the final number of ECO the address owns.
The _linearInflation
coefficient also scales the totalSupply
of the token.
As you might have noticed above, the ECO balance for an address is actually equal to the stored balance divided by the inflation coefficient. As a result, the stored balances are stored in unscaled units in the contract, referred to as "gons".
Lever Inputs
When Trustees propose a Linear Supply Change, they input the following variables:
Inflation Coefficient
- An integer scale factor denoting 18 digits of fixed precision. This number, multiplied by 10^-18 (a.k.a. “Wei”) is the multiplication that is done to the current scale factor for inflation when this is applied. Inflation is done relative to the current supply of ECO (as opposed to the initial supply).
2) Randomized Supply Inflation
The Random Inflation mechanism allows Trustees to allocate ECO tokens to a random subset of addresses. If calling this function, the Trustees define new supply to be minted (as a percentage in the dApp), and how many addresses will claim it—effectively determining the spread of newly minted ECO supply. Every ECO address is eligible to be selected through a verifiably random selection process and is able to be selected multiple times. In the initial implementation, the probability of being selected for each claim is directly proportional to the address balance.
Addresses are selected based on a Merkle hash of all user balances. The Merkle hash is agreed upon via a gamified process (described in the executing monetary policy section) where observers are incentivized to propose correct hashes and challenge incorrect hashes. Each selected recipient is entitled to a share of the new supply distribution. As each selection is independent, there is a chance that multiple rewards can go to the same address. Random Inflation drips out over 28 days after the contract is instantiated.
Delegating voting power derived from ECO gives the chance to win random inflation to the delegate selected by an address. Please be aware of this when delegating ECO. Because ECOx is not eligible to win random inflation, delegating ECOx does not have this same effect.
The following addresses are currently blacklisted in the Eco Protocol:
Eco Association
0x98830c37Aa6aBDaE028Bea5c587852c569092d71
0x99f98ea4A883DB4692Fa317070F4ad2dC94b05CE
Eco Inc
0xA201d3C815AC9D4d8830fb3dE2b490B5b0069ACa
Community Treasury
0x8c02D4cc62F79AcEB652321a9f8988c0f6E71E68
Uniswap V2 Pool
0x09bC52B9EB7387ede639Fc10Ce5Fa01CBCBf2b17
Lever Inputs
When Trustees propose Random Inflation, they input the following variables:
Inflation Reward
- The amount of ECO (in Wei) that each recipient is entitled to. This is represented as a percentage input in the dApp.Number of Recipients
- The number of rewards that will be distributed.
3) Interest Rate: Lockup Contracts
The Interest Rate Lockup mechanism allows the Trustees to incentivize users to lock up their funds for a given duration at a fixed interest rate. This should apply short term-deflationary pressure by removing tokens from circulation for a defined period of time.
When an Interest Rate Lockup contract is passed, users have the first two days (48 hours) of the next generation to place their funds in the lockup contract. Funds can be withdrawn early, but this action incurs a withdrawal penalty equal to the amount of interest that would have been received had they completed the term and also forces the user to forfeit any interest. Funds may also be withdrawn on time on behalf of another user (as the effect is only positive), but they may not be withdrawn early on behalf of another user. Users do not forfeit their voting power by using the lockup; the lockup delegates the voting power back to the user upon deposit.
Interest is not compounding. It is computed when funds are deposited and minted for the user on successful withdrawal.
Linear Supply Changes affect the principal value placed in the lockup contract. The interest, however, is calculated at the beginning of the period and will not change even if the user funds do.
Lever Inputs
When Trustees propose an Interest Rate Lockup contract, they input the following variables:
Lockup Duration
- The duration of the lockup contracts (interpreted by the contract in seconds). This is the length of time after the deposit window closes that tokens must remain in the lockup contract in order to earn interest.Interest Rate
- An integer denoting 9 digits of fixed precision representing a decimal interest to be paid out to a depositor in addition to their initial deposit. The Interest Rate, multiplied by the amount of deposited ECO, and then divided by 10^9 is the amount of extra ECO that is awarded to a depositor after the Lockup Duration has passed.
The Lockup Duration should not be shorter than the 48-hour deposit window.
Last updated