Moxie Tech: Bonding Curve Initialization 1

Document explains process behind bonding curve initialization after auction is finished.

Glossary:

  1. s : Subject (Farcaster user, channel or network)

  2. p: Represents Moxie Protocol

  3. n : Number of tokens in the auction.

  4. P: Auction clearing price.

  5. m: Unsold supply during auction.

  6. Fs: Funds raised in auction for Subject s.

  7. AFs: Subject Fee applied during auction closure.

  8. AFp: Protocol Fee applied during auction closure.

  9. Bs: Initial supply for bonding curve.

  10. Br: Initial reserve for bonding curve.

  11. BFs: Subject Fee for buying fan tokens from bonding curve.

  12. BFp: Protocol Fee for buying fan token from bonding curve. This is set to 0% in mainnet.

  13. SFs: Subject Fee for selling fan tokens to bonding curve. This is set to 2.5% in mainnet

  14. SFp: Protocol Fee for selling fan tokens to bonding curve. This is set to 2.5% in mainnet.

Step by step explanation of finalize subject onboarding transaction(auction closure) :

  1. On auction closure, subject factory contract receives funds raised in auction Fs & unsold supply of subject token m.

    Fs = (n-m) * P

  2. Unsold supply m of Fan tokens is burned.

  3. Auction Fee calculations:

    1. Protocol Auction Fee AFp = Fs * 5 /100 (This fee is set to 5% in mainnet.)

    2. Subject Auction Fee AFs = Fs * 5 / 100 (This fee is also set to 5% in mainnet.)

  4. Moxie Foundation purchases 1 subject token at the auction clearing price P which is locked in contract forever.

  5. Effective Subject Token Supply

       *Bs = n - m + 1*
  6. Effective Auction Funds

     *Br =  Fs - AFp - AFs  + P*
  7. Moxie Bonding Curve which is based out of Bancor’s formula is initialized with supply Bs & reserve Br.

  8. Protocol Auction Fee AFp is sent to Moxie Foundation which is burned.

  9. AFs is used to buy subject tokens from bonding curve for subject.

    1. Bonding Curve Fee calculations:

      1. BFs = 0 (This is set to 0% in mainnet)

      2. BFp = 0 (This is set to 0% in mainnet)

    2. Total funds moved to reserve: AFs - BFs - BFp

    3. x subject Token minted for subject S

      x = BancorFormula.calculatePurchaseReturn(AFs - BFs - BFp, Supply, Reserve, Reserve Ratio)

After auction closure

  1. Supply of subject token = n - m + 1 + x

  2. Total reserve for subject token = Br + AFs -BFs - BFp = 0.9 * Fs + 0.05 * Fs + P

  3. Price of subject Token = * BancorFormula(Supply, Reserve, Reserve Ratio)*

Last updated

Moxie Protocol Foundation, Cayman Islands