An ETH specific FEI bonding curve


EthBondingCurve.sol implements BondingCurve


A bonding curve implementation for purchasing FEI with ETH.

The price function used is:

  • x - the current amount of FEI issued from the bonding curve

  • S - the Scale target

  • O - the oracle price reported as underlying per FEI

Price function for FEI/ETH bonding curve

The "k" shift is an additional feature since the white paper release. It shifts the starting price upward so the protocol can retain more PCV. k is initially set to S/3 which makes the starting price $0.50 per FEI.

The amount of FEI out for a given quantity of ETH input Q is equal to the following:

The amount out from the bonding curve for ETH input Q

y is the cumulative amount of FEI sold by the bonding curve after the trade and C is the current cumulative, so their difference is the amount sent to the user.

The Scale target is 100,000,000 FEI.

Post-Scale, the Bonding curve sets the exchange rate at $1 + b, where b is a buffer. The buffer is initially set to 1% to allow for variance above $1. Governance can vote to converge b to 0 as the liquidity increases and volatility decreases.

Price function for FEI/ETH bonding curve post-Scale

The oracle used is the UniswapOracle.

  • Minter💰