Equations

Staking

deposit=withdrawal

Swaps between PID and sPID during staking and unstaking are always honored 1:1. The amount of PID deposited into the staking contract will always result in the same amount of sPID. And the amount of sPID withdrawn from the staking contract will always result in the same amount of PID.

rebase=1−(PIDDeposits/sPIDOutstanding)

The treasury deposits PID into the distributor. The distributor then deposits PID into the staking contract, creating an imbalance between PID and sPID. sPID is rebased to correct this imbalance between PID deposited and sPID outstanding. The rebase brings sPID outstanding back up to parity so that 1 sPID equals 1 staked PID.

Bonding

bondPrice=1+Premium

PID has an intrinsic value of 1 BUSD, which is roughly equivalent to $1. In order to make a profit from bonding, PIDAO charges a premium for each bond.

Premium=debtRatio∗BCV

The premium is derived from the debt ratio of the system and a scaling variable called BCV. BCV allows us to control the rate at which bond prices increase.

The premium determines profit due to the protocol and in turn, stakers. This is because new PID is minted from the profit and subsequently distributed among all stakers.

debtRatio=bondsOutstanding/PIDSupply

The debt ratio is the total of all PID promised to bonders divided by the total supply of PID. This allows us to measure the debt of the system.

bondPayoutreserveBond=marketValueasset/bondPricebondPayoutreserveBond​=marketValueasset​ / bondPrice

Bond payout determines the number of PID sold to a bonder. For reserve bonds, the market value of the assets supplied by the bonder is used to determine the bond payout. For example, if a user supplies 1000 BUSD and the bond price is 250 BUSD, the user will be entitled 4 PID.

bondPayoutlpBond=marketValuelpToken/bondPricebondPayoutlpBond​=marketValuelpToken​ / bondPrice

For liquidity bonds, the market value of the LP tokens supplied by the bonder is used to determine the bond payout. For example, if a user supplies 0.001 PID-BUSD LP token which is valued at 1000 BUSD at the time of bonding, and the bond price is 250 BUSD, the user will be entitled 4 PID.

PID Supply

PIDsupplyGrowth=PIDstakers+PIDbonders+PIDDAO+PIDpPIDExercisePIDsupplyGrowth​=PIDstakers​+PIDbonders​+PIDDAO​+PIDpPIDExercise​

PID supply does not have a hard cap. Its supply increases when:

  • PID is minted and distributed to the stakers.

  • PID is minted for the bonder. This happens whenever someone purchases a bond.

  • PID is minted for the DAO. This happens whenever someone purchases a bond. The DAO gets the same number of PID as the bonder.

  • PID is minted for the team, investors, advisors, or the DAO. This happens whenever the aforementioned party exercises their pPID.

PIDstakers=PIDtotalSupplyrewardRatePIDstakers​=PIDtotalSupply​∗rewardRate

At the end of each epoch, the treasury mints PID at a set reward rate. These PID will be distributed to all the stakers in the protocol.

PIDbonders​=bondPayout

Whenever someone purchases a bond, a set number of PID is minted. These PID will not be released to the bonder all at once - they are vested to the bonder linearly over time. The bond payout uses a different formula for different types of bonds. Check the bonding section above to see how it is calculated.

PIDDAO=PIDbondersPIDDAO=PIDbondersPIDDAO=PIDbondersPID_{DAO} = PID_{bonders}

The DAO receives the same amount of PID as the bonder. This represents the DAO profit.

PIDpPIDExercise=pPID+BUSDPIDpPIDExercise​=pPID+BUSD

The individual would supply 1 pPID along with 1 BUSD to mint 1 PID. The pPID is subsequently burned. Read this Medium article for more information on pPID.

Backing per PID

PIDbacking=treasuryBalancestablecoin+treasuryBalanceotherAssetsPIDbacking​=treasuryBalancestablecoin​+treasuryBalanceotherAssets​

EveryPIDincirculationisbackedbytheOlympustreasury.TEvery PID in circulation is backed by the Olympus treasury. T

he assets in the treasury can be divided into two categories: stablecoin and non-stablecoin.

treasuryBalancestablecoin=RFVreserveBond+RFVlpBondtreasuryBalancestablecoin​=RFVreserveBond​+RFVlpBond​

The stablecoin balance in the treasury grows when bonds are sold. RFV is calculated differently for different bond types.

RFVreserveBond=assetSuppliedRFVreserveBond​=assetSupplied

For reserve bonds such as BUSD bond and FRAX bond, the RFV simply equals to the amount of the underlying asset supplied by the bonder.

RFVlpBond=2sqrt(constantProduct)(RFVlpBond​=2sqrt(constantProduct)∗(% ownership of the pool)

For LP bonds such as PID-BUSD bond and PID-FRAX bond, the RFV is calculated differently because the protocol needs to mark down its value. Why? The LP token pair consists of PID, and each PID in circulation will be backed by these LP tokens - there is a cyclical dependency. To safely guarantee all circulating PID are backed, the protocol marks down the value of these LP tokens, hence the name risk-free value (RFV).

Last updated