โž—
Equations

Staking

deposit=withdrawaldeposit=withdrawal
โ€‹

Swaps between ZONE and sZONE during staking and unstaking are always honored 1:1. The amount of ZONE deposited into the staking contract will always result in the same amount of sZONE. And the amount of sZONE withdrawn from the staking contract will always result in the same amount of ZONE.
rebase=1โˆ’(ZONEdeposits/sZONEoutstanding)rebase=1โˆ’(ZONEdeposits/sZONEoutstanding)
โ€‹
The treasury deposits ZONE into the distributor. The distributor then deposits ZONE into the staking contract, creating an imbalance between ZONE and sZONE. sZONE is rebased to correct this imbalance between ZONE deposited and sZONE outstanding. The rebase brings sZONE outstanding back up to parity so that 1 sZONE equals 1 staked ZONE.

Bonding

Minting happens by allowing users to purchase a bond. This bond price is the Mint price.
bondPrice=1+PremiumbondPrice=1+PremiumbondPrice=1+Premiumbond Price = 1 + Premium
โ€‹
ZONE has an intrinsic value of 1 DAI, which is roughly equivalent to $1. In order to make a profit from minting, Twilight ZONE charges a premium for each minting action.
Premium=debtRatioโˆ—BCVPremium = debt Ratio * 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 ZONE is minted from the profit and subsequently distributed among all stakers.
debtRatio=bondsOutstanding/ZONEsupplydebtRatio=bondsOutstanding/ZONEsupply
โ€‹
The debt ratio is the total of all ZONE promised to bonders divided by the total supply of ZONE. This allows us to measure the debt of the system.
bondPayoutreserveBond=marketValueasset/bondPricebondPayoutreserveBond=marketValueasset / bondPrice
โ€‹
Bond payout determines the number of ZONE sold to a minter. For reserve mints, the market value of the assets supplied by the minter is used to determine the bond payout. For example, if a user supplies 1000 DAI and the mint price is 250 DAI , the user will be entitled 4 ZONE.
bondPayoutlpBond=marketValuelpToken/bondPricebondPayoutlpBond=marketValuelpToken / bondPrice
โ€‹
For liquidity mints, the market value of the LP tokens supplied by the minter is used to determine the bond payout. For example, if a user supplies 0.001 ZONE-DAI LP token which is valued at 1000 DAI at the time of bonding, and the bond price is 250 DAI, the user will be entitled 4 ZONE.

ZONE Supply

ZONEsupplyGrowth=ZONEstakers+ZONEbonders+ZONEDAOZONEsupplyGrowth = ZONEstakers + ZONEbonders + ZONEDAO
โ€‹
ZONE supply does not have a hard cap. Its supply increases when:
  • ZONE is minted and distributed to the stakers.
  • ZONE is minted for the bonder. This happens whenever someone purchases a bond.
  • ZONE is minted for the DAO. This happens whenever someone purchases a bond. The DAO gets the same number of ZONE as the bonder.
ZONEstakers=ZONEtotalSupplyโˆ—rewardRateZONEstakers=ZONEtotalSupplyโˆ—rewardRate
โ€‹
At the end of each epoch, the treasury mints ZONE at a set reward rate. These ZONE will be distributed to all the stakers in the protocol.
ZONEbonders=bondPayoutZONEbonders=bondPayout
โ€‹
Whenever someone purchases a bond, a set number of ZONE is minted. These ZONE will not be released to the minter 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 Minting section above to see how it is calculated.
ZONEDAO=ZONEbondersZONEDAO=ZONEbonders
โ€‹
The DAO receives the same amount of ZONE as the minter. This represents the DAO profit.

Backing per ZONE

ZONEbacking=treasuryBalancestablecoin+treasuryBalanceotherAssetsZONEbacking=treasuryBalancestablecoin+treasuryBalanceotherAssets
โ€‹
Every ZONE in circulation is backed by the Twilight Zone treasury. The assets in the treasury can be divided into two categories: stablecoin and non-stablecoin.
โ€‹
treasuryBalancestablecoin=BackingPerZONEreserveBond+BackingPerZONElpBondtreasuryBalancestablecoin=BackingPerZONEreserveBond + BackingPerZONElpBond
โ€‹
The stablecoin balance in the treasury grows when bonds are sold. Backing per ZONE is calculated differently for different mints types.
BackingPerZONEreserveBond=assetSuppliedBackingPerZONEreserveBond=assetSupplied
โ€‹
For reserve mints such as DAI minting, the Backing per ZONE simply equals to the amount of the underlying asset supplied by the minter.
BackingPerZONElpBond=2sqrt(constantProduct)โˆ—(ownershipofthepool)BackingPerZONElpBond=2sqrt(constantProduct) โˆ— (ownership of the pool)
โ€‹
For LP Mints such as ZONE-DAI Minting, the RBacking Per ZONE is calculated differently because the protocol needs to mark down its value. Why? The LP token pair consists of ZONE, and each ZONE in circulation will be backed by these LP tokens - there is a cyclical dependency. To safely guarantee all circulating ZONE are backed, the protocol marks down the value of these LP tokens.