Not just a pretty picture

Franzns
Beethoven X
Published in
4 min readJan 9, 2023
One of the NFTs

This article is all about the pretty pictures within Reliquary. But first, let’s recap what we already know:

Reliquary is a new type of incentive system for liquidity providers. It works similarly to the Masterchef but the number of rewards emitted for a position is not only based on staked LP size, but also on the maturity of the staked LP. 0xsouvlaki explained in his recent articles how the maturity of the LP affects the rewards you receive. Go give them a read!

The pretty pictures

What you do with Reliquary is very similar to what you do with the Masterchef: You stake (now called deposit in Reliquary) your fBeets into a farm to receive additional rewards. Like in the Masterchef, the Reliquary can host multiple farms, but for the launch, we will only offer one: the fBeets farm.

Apart from the maturity model, the other big difference of Reliquary is that after you staked your fBeets you will be issued a relic. A relic is a financial NFT that represents a position in Reliquary.

Among many other attributes, a relic keeps track of your pending rewards, the amount of fBeets you have deposited and the maturity of the position. Every time you deposit fBeets into Reliquary you can choose whether you want to mint a new relic, and therefore open a new position in Reliquary, or whether you want to add it to an existing relic you have minted before.

You can mint as many relics as you like and every relic will represent a unique position in Reliquary. Each newly minted relic will start with 0 maturity.

When you deposit fBeets into an existing relic, it will suffer a maturity penalty. The impact of the penalty depends on the ratio of the amount that is being deposited versus the amount already held by the relic.

Maturity impact

To better understand how the maturity impact work, we first need to understand how the maturity is calculated:

When you create a relic, the creation timestamp will be added to the relic as the entry timestamp. The maturity is defined as the elapsed seconds since entry. When the maturity is impacted, behind the scenes the entry timestamp is manipulated. If the entry timestamp increases, maturity is reduced (less elapsed seconds since entry). If the entry timestamp decreases, maturity is increased (more elapsed seconds since entry)

It is important to note that a deposit will always result in a maturity penalty. When fBeets are added to a relic the weighted average is calculated. The amounts will be weighted on the entry timestamp when added to the receiving relic resulting in the following formula for the new entry:

Let’s say the current timestamp is 1672531200. If you deposit 10 fBeets to a relic with 50 fBeets and a maturity of 100 seconds (entry timestamp is 1672531100), the new entry timestamp will become:

The maturity is calculated as elapsed seconds since the entry timestamp: 1672531200 - 1672531116 = 84, hence we lost 16 seconds maturity.

The general rule for depositing is: if you have a relic that already has a balance of 1000 fBeets and deposit 10 fBeets, the maturity will suffer a 1% penalty. On the other hand, if you have a relic that only has a balance of 10 fBeets and you deposit 1000 fBeets, the maturity will suffer a 99% penalty.

Don’t worry, you won’t need to calculate that every time you deposit fBeets into a relic. Our UI will guide you through the process and provide you with all the important information.

Additional features of relics

Please note that these additional features won’t be exposed by our UI initially but can be executed via direct contract interaction:

  1. You can split one relic into two: This will mint a new relic and deposit the specified split amount into it. It will inherit the maturity of the original relic.
  2. You can merge one relic into another: This will burn the merged relic and add its balance to the other relic. The maturity of the other relic will be impacted based on the maturity and the amount of fBeets of the merged relic.
  3. You can shift fBeets from one relic to another: This will shift the specified balance from one relic to another. The maturity of the receiving relic will be impacted based on the maturity and the amount of fBeets of the sending relic.

Although a deposit will always result in a maturity penalty, a merge or a shift can also result in a maturity boost if the merged or shifted fBeets have a higher maturity than the receiving relic. Again, the weighted average is used as described above. Let’s say we shift 50 fBeets from a relic with an entry timestamp 1672531000 to a relic that has 50 fBeets with an entry timestamp of 1672531200:

The new entry timestamp is lower, thus resulting in a maturity boost of 100 seconds.

We are very excited to launch Reliquary soon. If you have questions, don’t hesitate to reach out to any of us on our Discord server.

--

--