11. uCR - ubiquity/ubiquity-dollar GitHub Wiki

In a debt cycle, the uAD protocol shall issue 'perpetual, depreciating premium' credits that we call Ubiquity Credits (uCR).

When the Time Weighted Average Price (TWAP) for uAD is below $1, a participant can burn uAD tokens in exchange for uCR, which functions as debt that can be redeemed when the uAD TWAP goes back above $1. uAR can be exchanged 1:1 for uAD tokens in an upcoming inflation cycle (price of uAD above 1.00).

uCR is issued at a premium that depreciates over time through a debt cycle.

For example, the credits may be issued at a 30% premium at the very beginning of the debt cycle, and this premium shall depreciate over the course of the debt cycle. These credits are 'perpetual' since they never expire like uCR NFT coupons. However, the credit to uAD redemption ratio shall become lower over time, unlike uCR NFTs, which can be redeemed for uAD at a guaranteed ratio of 1:1 as long as they are unexpired.

The purpose of these credits is to incentivize the purchase of debt right from the beginning of the debt cycle when the premium for uCR NFT isn't high enough for uAD holders to make a substantial profit. This may be especially handy when the price of uAD attains substantial stability around the $1 peg, and the possible arbitrage return on buying uCR NFTs at a low premium decreases.

To ensure enough supply contraction of uAD in a debt cycle, we want what the labels and explanations in the diagram describe (1, 2, and 3). We want to place an incentive for participants

  1. To burn uAD as early in the debt cycle as possible.
  2. To continue to burn uAD even as the uAD price continues to decrease up to its minima.
  3. To continue to burn uAD up until TWAP = 1

The debt mechanism being proposed aims to provide sufficient incentive for 1,2, and 3, all with the aim of preventing prolonged debt cycles.

Minting of uCR

uCR tokens are minted to the participant burning x amount of uAD according to the formula:

2022-06-11 00_45_41-uCR Token

Here, p is a constant greater than or equal to 1, Blockheight_debt is the block height at the beginning of the debt cycle, and Blockheight_burn is the block height at the time of the participant burning uAD.

  • On average, a block is mined on the Ethereum blockchain every 13 seconds. Currently, there have been ~11 million blocks mined. So, BH_debt / BH_burn remains very close to 1. The ratio becomes more stable over time.
  • The constant p is a variable controlled by the DAO. The greater the value of p, the harsher the decrease of the rate at which uAR tokens are issued for a given amount of uAD tokens burned.

In this way, uCR tokens are issued at a decreasing rate over the course of the debt cycle. For a given x amount of uAD tokens, the earlier in the debt cycle you burn your tokens, the closer to a 1:1 ratio that you receive for burning debt coupons.

The contract balance: uCR pool + uCR NFT pool

The contract keeps track of a uCR pool, and a uCR NFT pool. The sum of uAD in each pool comprises the debt contract’s entire balance.

Redemption Formula

The debt contract has a single mint function that mints uAD to itself, i.e., the debt contract. uAD is minted according to the formula

2022-06-11 00_46_32-uCR Token

Where:

  • U(t) is the total uAD supply in circulation
  • U(m) is the uAD supply minted during the current expansion cycle

The newly minted uAD first goes to the uCR pool. When the mint function is called, if the balance of the uCR pool is less than the total supply of uCR tokens, the amount of uAD required to bring the pool up to par with the uCRsupply is allotted to the uCR pool.

Once the balance of the uCR pool is equal to the total supply of uCR tokens -- the remaining newly minted uCR goes to the uCR NFT pool. The amount of uAD required to bring the uDEBT pool up to par with the uDEBT supply (unexpired uDEBTs at that moment) is allotted to the uCR pool.

After minting according to the above formula, if the uAD balance of the contract exceeds the sum of the total supply of uCR and uCR NFT, then excess uAD is distributed to the Treasury, bonded uAD holders, etc.

Additional Questions

❔ What purpose do uCR tokens serve?

The primary usefulness of uCR tokens is that they fulfill goal number (1). Since uCR tokens are issued at a decreasing rate, it is more profitable to burn uAD tokens for uCR tokens early in the debt cycle than later in the debt cycle.

❔ Why uCR instead of uCR NFT?

Acquiring uCR NFTs and then redeeming them in a first-come-first-serve manner is a highly competitive and difficult task (primarily due to bots) with a stressful end-user experience. At the cost of not enjoying a debt premium, a participant can avoid this competitive redemption mechanism by choosing to burn uAD for uCR instead of uCR NFT.

💡 We anticipate most users will use the Ubiquity Auto Redeem contract for convenience.

A participant can instead redeem their uCR tokens without having to compete with anyone, as long as the balance of the debt contract has enough uAD to transfer to the participant in exchange for burning uCR tokens. There is an absence of competition when redeeming uCR for uAD because the mint function of the contract prioritizes the uAR pool. Before uCR NFT can even be redeemed, the contract makes sure the uCR pool is at par with the total supply of uCR tokens.

❔ Why exchange uAD for uCR if x amount of uAD yields at most x amount of uCR tokens? Why not wait to acquire uCR NFT with a premium?

A user can choose to do this if they wish. However, they must consider that the mint function prioritizes the uCR pool over the uCR NFT pool and that redeeming uCR NFT is a highly competitive bot-dominated activity. In all, they must evaluate the expiry risk of their uCR NFT.

❔ Why does the mint function prioritize uAR pool over the uCR NFT pool?

The highest priority is the fulfillment of goal (1) on the first page. The ability to exchange uCR for uAD in an inflation cycle must almost be a guarantee.

uCR NFT have an expiration time, whereas uCR does not. So, this fact of the mint function prioritizing the uAD pool over the uCR NFT pool is another component to consider when evaluating a batch of uCR NFT expiry for secondary uCR NFT markets.

⚠️ **GitHub.com Fallback** ⚠️