Fragments Primer

In this primer we cover the core concepts behind the Fragments Protocol using a series of animated diagrams. We'll first describe the outputs of the system at a high level. Then we'll show how this is achieved from the bottom up.


1. Senior and Junior Perpetuals

Here we describe the high level inputs and outputs of the Fragments protocol:

describe fragments

The Fragments protocol works by reorganizing the volatility of an input asset (BTC) into senior and junior perpetual tranches.

Sr tranches are lower in volatility than their underlying asset; and Jr tranches are higher in volatility than their underlying asset. Using the example of BTC:


BTC
Sr
Jr


  • Sr — the low volatility derivative
  • Jr — the high volatility derivative

Holding Sr and Jr together, in the right ratio, is like holding the underlying (BTC); because volatility is conserved in the system.

  Key Takeaway

Sr's and Jr's are low and high volatility derivatives of their underlying asset, respectively. To learn how they work under the hood read on below.


2. Fixed-term Tranching

In this section we'll explain fixed-term tranching.

describe tranching --fixed

Tranching is the process of reorganizing an asset's volatility into two or more derivative assets with different volatility exposure.

The volatility of an asset, Ai can be separated into senior and junior fixed-term tranches simply and predictably:

 A[SriJri]

[Sri, Jri]
A
  • Sri — is affected by volatility last
  • Jri — is affected by volatility first

At maturity both tranches mature into claims on the underlying asset (BTC). Holding both [Sri, Jri] is equivalent to holding the underlying asset.

  What's Special About This?

Fixed-term tranching simplifies the process of converting a medium risk asset into two derivative assets: one that is safe and one that's extra risky.

  • Safe Asset — The senior tranche (Sri) can be held as a safe asset because it is only affected by volatility after its matching junior (Jri) has been depleted.
  • Risky Asset — The Junior tranche (Jri) offers magnified volatility because all volatility accrues to it until it has been fully depleted.

Much of traditional finance works by some variation of this, but the methods used are complex, opaque, and difficult to implement without administrative oversight. Read on to learn about perpetual tranching.


3. Perpetual Tranching

Fixed term tranching, described above, is an extremely powerful building block. In fact you can use fixed-term tranches to create perpetual tranches; and reorganize volatility indefinitely.

describe tranching --perpetual

Perpetual Tranching is the process of reorganizing volatility into two or more derivative assets with different volatility profiles; indefinitely.

An input asset's volatility, A, can be separated into senior and junior tranches perpetually, by bundling multiple fixed-term tranches that are evenly offset by time.

 [A0A1A2A3][Jr0Sr0Jr1Sr1Jr2Sr2Jr3Sr3][Jr0Jr1Jr2Jr3][Sr0Sr1Sr2Sr3]

And then systematically rotating maturing tranches out (left), in exchange for fresh tranches in (right):

Sr
Jr
  • The Perpetual Senior (Sr) — is a proportional claim on a rotating basket of Sri tranches — it can be held as a safe asset.
  • The Perpetual Junior (Jr) — is a proportional claim on a rotating basket of Jri tranches — it can be held for magnified exposure

Proportional Redemption

At any time, users can redeem the perpetual senior or junior tokens for underlying collateral on-chain.

Example: Let's say Alice owns 1% of the Sr (or Jr) token supply; and wants to redeem all of it for underlying collateral. Upon redemption she would receive 1% of each fixed-term tranche in the collateral set, as well as 1% of any raw underlying collateral in the set:

Sr100 → [  Sr0100+Sr1100+Sr2100+Sr3100+Raw100  ]

Proportional redemption prevents bank-run scenarios because the composition of collateral remains the same before and after any given redemption.

  What's Special About This?

Fixed-term tranching is great for temporarily reorganizing volatility, but fixed-term tranches aren't fungible across vintages because different vintages have experienced different market conditions over time. This makes them less perennially liquid. By bundling multiple vintages into rotating baskets of Sri's and Jri's we can solve for this problem in a simple and highly durable way.


4. Rotation

describe fragments --rotation

Rotation is the process of withdrawing maturing tranches and replacing them with fresh tranches. This process is automated and occurs weekly.


At the time of rotation (in the case of BTC), the junior perpetual contract initiates a process that:

  • Mints fresh (Sr/Jr) tranches using assets in the JrBTC collateral set and moves the new seniors to the SrBTC collateral set (left arrows above).
  • Withdraws the maturing Sr's from the SrBTC collateral set and merges them with maturing Jr's in the JrBTC collateral set, storing as BTC (right arrows above).

In the case where the BTC balance in the Jr vault does not cover the entire rollover, it rotates as much as possible.

Volatility Multiple

In the case where there is a target volatility multiple. Some amount of maturing Sr0's may be left in the Sr collateral set to preserve the target ratio:

  • Example: Let's say SrBTC is targeting 0.3x volatility. Because Sri can be approximated as a zero volatility asset, 30% of its collateral ought be raw BTC and the remaining 70% should be fresh fixed-term Sri tranches.


5. Rebalancing

Rebalancing is a process of periodic value transfer between the Sr and Jr collateral sets that aims to 1) ensure there's sufficient capital in the Jr collateral set to complete rotations and 2) keep volatility multiples reasonably close to target.

Demand for stability (Sr tokens) and volatility (Jr tokens) come from different places. For this reason, the TVL of Jr and Sr collateral sets can grow out of balance.

Bidirectional Funding Rate

To help the system maintain balance, there is a funding rate mechanism that periodically transfers value from the overcapitalized collateral set to the undercapitalized collateral set. This has the added benefit of incentivizing users to hold whichever position there's less relative demand for; further encouraging balance.


rt=target ratior=current ratiok=funding rate=f(rrt)

  • Example: let's say the system targets a 2/1 (Jr/Sr) ratio of collateral TVL. But at present there's excess demand for holding the Jr vs the Sr and the current TVL rato is 3/1. In this case the protocol looks at the deviation ratio ((3/1) / (2/1)) and computes an amount to transfer that directionally pushes the system towards the target ratio; based on this deviation.

Calculating the Funding Rate

To calculate the runding rate, we just need to recognize there's some balance Δb that can be subtracted from one collateral set and added to the other; such that the current ratio, r, equals the target ratio rt:

SrbJr+b=rt


From here, solving for Δb gives us:

b=SrrtJrrt+1


To avoid overcorrection, Δb, is divided by a smoothing constant c. This gives the actual amount settled in a particular daily rebalancing action, b:

b=bc


Extrapolating to a 30-day funding rate (in the case where holders of Jr are paying holders of Sr) gives us k:

k=i=130(1+biSr,i)


Rebalancing occurs daily, so the 30-day funding rate, k, is presented as though no other market actions take place; and each day's balance change affects the next day's deviation deterministically. Both the rebalancing frequency and the funding rate curve are configurable by governance.

Rebalancing ∝ Volatility Multiple

The volatility multiple of Jr is an equilibrium target. That is to say, if the Jr targets the multiple 1.2xBTC, holding the Jr is like holding 1.2xBTC at equilibrium. However this volatility multiple can temporarily fluctuate based on market forces. Recall that the Fragments protocol targets a specific ratio of Sr / Jr collateral. When the system deviates from this target ratio, the volatility multiple temporarily changes. Broadly:

  • When current_ratio > target_ratio — the volatility multiplier is temporarily lower than its target
  • When current_ratio < target_ratio — the volatility multiplier is temporarily higher than its target

The rebalancing mechanism, described above, automatically corrects for these deviations. When the system rebalances back into equilibrium, the multiplier returns to target.


6. Durability

The Fragments protocol was designed to bend rather than break under extreme market conditions. This means the system prefers temporary volatility over any condition that could: directly damage the broader ecosystem, lead to insolvency, or otherwise force the system to forever cease function.

Recall that the Fragments protocol works by splitting a medium volatility asset into a high-volatility derivative (JrBTC) and a low-volatility derivative (SrBTC).

  • SrBTC and JrBTC are one-directional, proportional claims on baskets of collateral:
    Similar to how a UNI-V2 LP token is a one-directional proportional claim on a basket of two assets.
  • The value of SrBTC (and JrBTC) is determined by the redeemable value of its collateral:
    Similar to how the value of a UNI-V2 LP token is determined by the redeemable value of its collateral.

Additionally:

  • SrBTC and JrBTC are collateralized by fixed-term BTC tranches.
  • Fixed-term BTC tranches mature into raw BTC every 28 days.

Below, we'll cover the most extreme scenario to further illustrate.

Rotations Halting

In the most extreme scenario the tranched assets in SrBTC's collateral set matures into raw BTC and the SrBTC token becomes a freely redeemable claim on the raw underlying asset. Although the system becomes more volatile, there are no bank-run conditions, insolvency, or cascading liquidations that take place along the way.

When rotation capital is insufficient, the fixed term Sri tranches naturally and progressively degrade into their underlying asset. The following shows the progression of SrBTC's collateral set that halts rotation for four consecutive cycles:

SrBTCt0=[Sr3,Sr2,Sr1,Sr0,BTC]SrBTCt1=[Sr3,Sr2,Sr1,BTC,BTC]SrBTCt3=[Sr3,Sr2,BTC,BTC,BTC]SrBTCt2=[Sr3,BTC,BTC,BTC,BTC]SrBTCt3=[BTC,BTC,BTC,BTC,BTC]

You can think of this as similar to ice and water. Imagine you have a voucher that's redeemable for a percentage of ice in a freezer. Continuing with this metaphor, If the refrigeration process halts (ie: rotations halt) your voucher (the SrBTC token) becomes redeemable for a combination of ice and water until the refrigeration process resumes, after which the water progressively freezes back into (and is redeemable for) ice.

Since each vintage of senior tranches in the SrBTC collateral set is offset by a fixed time-window, when rotations halt, the SrBTC token becomes redeemable for a combination of raw BTC and senior tranches. The longer rotations halt for the greater the fraction of redeemable collateral is raw BTC until rotations resume.

As more senior BTC tranches mature into raw BTC the price of SrBTC will become temporarily more volatile because BTC is more volatile than senior BTC tranches. Similarly, as rotations resume the price of SrBTC will become more stable again because senior BTC tranches are heavily insulated from underlying BTC volatility.

This process of degrading and resuming is continuous rather than discrete. The system “bends” safely rather than “breaking” catastrophically. More specifically, rather than triggering bank-runs, insolvency or cascading liquidations, when under extreme stress the SrBTC token simply becomes temporarily more volatile, and can resume stability in the future without bailouts.