Short ramblings on Frax
0x5152
February 11th, 2022

Disclaimer: This is not official information, only what I collected from looking at the contracts and talking to ppl.

The purpose of this post is to try to explain a little bit of how Frax works and its Protocol Controlled Value. Things I won’t explain: Collateral Ratio, Frax Minting and Redemption, Frax Stability Mechanism.

TL;DR; Frax owns more than $1 for each Frax that needs backing.

What is Frax?

In the recent time we have seen a lot of blog posts and Twitter threads explaining how the partially-backed algorithmic stablecoin called Frax works. I’m not going to do that again and just summarize it as,

Frax is a stablecoin partially backed by an external collateral (for example a 3rd party stablecoin like USDC, DAI, etc), complemented with the issuance of protocol shares, represented with the Frax Share (FXS) token. The value of the FXS token comes from it being the governance token of the protocol and it can also be used to receive a percentage of the seigniorage the protocol generates. In this case, seigniorage mainly refers to the income produced when the collateral that backs Frax is put to work.

Is it true that when Frax is minted FXS gets burned?

The answer is it possible, but does not happen. In the initial version, Frax V1, this was the case, for example if the collateral ratio was of 85%, to mint one Frax you needed to supply 85c of USDC and 15c of FXS, and the latter was burned.

But then, something magical happened, enter the Algorithmic Market Operations or AMOs.

All time Frax price
All time Frax price

In the image above we can see that since it’s beginning the Frax price was kinda wobbly, but fairly stable around $1. Close to July it began to have a much higher stability, that’s around the time the Curve AMO was introduced. In its essence it does two things: if the Curve Frax3Crv pool is unbalanced in favor of Frax (the pool contains less than 50% of Frax) then the protocol mints Frax, deposits it into the pool to rebalance it and becomes owner of some percentage of the pool. If the pool is unbalanced against Frax (it contains more than 50% of Frax), then, since the protocol is owner of a percentage of the pool, it withdraws Frax and burns it to rebalance the pool.

We can see how the minting to and burning from the pool are mechanisms to stabilize Frax’s price around $1, but also allow the protocol to accumulate enormous amounts of liquidity, currently the Frax protocol owns over 60% of the Frax3Crv, or around $1800m divided between Frax, USDC, Dai and USDT. An AMO with a similar functionality is also deployed on Uniswap V3, but with a much lower TVL of ~$12m.

So no FXS burned?

All of the Frax minted the last months has been through AMOs, so sadly no, no much burning lately, but something different happens. Frax puts its collateral to work, for example it deposits USDC on Yearn, AAVE, Compound, the owned shares of the Curve pools are deposited into Convex, and more. This revenue can be considered as seigniorage, but regardless of definitions, the total collateral owned by Frax grows, and more collateral available means that more Frax can be safely minted, a portion of this minted Frax is used to buyback FXS which is distributed to veFXS stakers. This mechanism was implemented in FIP1559, when it began working, around April, 50% of the buybacks were burned and the other 50% distributed to veFXS stakers. Around October it was modified and now 100% of the buybacks are distributed to stakers.

FIP1559
FIP1559

So how much collateral does Frax have?

The Frax dashboard provides the following information

Some of Frax holdings
Some of Frax holdings

If we breakdown the holdings we get the following

These contracts also have 90.5m of free Frax, and Frax has another 162.4m of Frax lent. Summing up all this information, we can get the amount of Frax that need backing by subtracting the protocol owned Frax from the total Frax supply:

  • Total Frax Supply: 2,635,000,000
  • Protocol Owned Frax: 1,321,598,871
  • Protocol Lent Frax: 162,394,000

Frax that need backing: 1,151,007,129

When we add all the collateral of the table above (excluding the ones marked with *), the collateral owned by Frax totals $1,062,298,511.

But this is not all the protocol controlled value. You may have noticed that in the table I left out about 1/4 of the liquidity, if we assume that half of that liquidity is Frax and half collateral, the protocol owns about 50m more of Frax and $50m of additional collateral. Also, Frax has an interesting bridging mechanism in which it mints Frax on Ethereum mainnet beforehand and locks it in bridges, which then allows users to mint a native (also called canonical) Frax token when they supply collateral (such as bridged versions of Frax, like anyFrax or PolygonFrax, or other 3rd party stables like BUSD) on those other chains. This means that the protocol owns this to-be-bridged/placeholder Frax, which I estimate to be some tens of millions (I’ll say 30m just to give a number). Finally Frax also has investments, it owns other volatile tokens, which add $67m, shown in the following image.

Frax volatile assets
Frax volatile assets

Summing everything up, my estimation is that there are ~1,070,000,000 Frax that need backing, the protocol controls ~$1,100,000,000 of stable collateral, ~$67m in volatile collateral, which means that current Effective Collateralization Rate is >102%.

Wait what? Wasn’t Frax supposed to be fractional?

Yes, but two things ended up happening:

  1. The Curve AMO can be interpreted as minting Frax at 100% collateralization rate, which increases the backing per each Frax.
  2. The Curve AMO through Convex is generating a ton of revenue, over $170m annualized at spot rate composed of CRV and CVX rewards.

These are the main reasons why the effective collateralization rate is higher than 100%.

What will happen with all this excess collateral?

A target collateralization rate of 85% means that there is an excess of ~$190m in stable assets + $67m in volatile assets. My best guesses are that it will eventually be used to buyback and distribute FXS, or it will be used as initial backing of the FPI.

FPI, you’ve got the alpha?

Nothing, best I can do is give you staking options for the airdrop.

  • You can stake FXS on Tokemak but this will get you the lowest weight since it has something like a 1-day withdrawal.
  • You can stake on the Frax/FXS pool which receives additional FXS farming rewards (currently 77% if you lock for 3 years).
  • You can lock FXS as veFXS up to 4 years which receives a share of the protocol profits, gives you the right to vote, and possibly earn bribes (if they come), but is non-transferable.
  • You can lock as cvxFXS which gives you airdrop weight equivalent to locking in veFXS for 4 years. You’ll receive the corresponding share of protocol profits distributed to veFXS stakers, a portion of the FXS farmed through Convex in the future, CVX staking rewards, and it is transferable token, so you can eventually sell it. (Downside is you give up voting power and potential to receive bribes, although this is what I speculate will happen based on how cvxCRV works, to be confirmed by Convex)
  • *Not released yet, but StakeDAO just announced they will have a liquid FXS staking, no mention about if sdFXS holders will receive airdrop, but seems likely. They will also receive the share of protocol profits distributed to veFXS, a portion of the FXS farmed through StakeDAO, SDT staking rewards, is transferable, and you are not forced to give up governance power or the potential to receive bribes.

Since the StakeDAO product is planned to be released at the end of February, we can expect the airdrop to occur at a latter date, although, like everything in crypto, I wouldn’t be surprised if it gets delayed some more weeks.

It will also be interesting to see how the competition between StakeDAO and Convex develops. For example, Convex could vote against gauge rewards to sdVeToken pools, which probably are a very important part to make StakeDAO’s system success.

Some other stuff

  • Why is the collateralization rate increasing? Best explanation I have been able to find is that the function that controls the collateralization rate calculates Frax’s price based on an Eth price oracle and a Frax/ETH oracle, which may not work very accurately.

Contracts from where I got the information from

  • Ethereum
    • frax_pool_v3 0x2fE065e6FFEf9ac95ab39E5042744d695F560729
    • convex_amo 0x49ee75278820f409ecd67063D8D717B38d66bd71
    • fei_pool_1 0x70F55767B11c047C8397285E852919F5f6c8DC60
    • fei_pool_2 0xE4BD0461AE7fdc76c61CE286a80c9B55d83B204a
    • stakedao_amo 0x375278D3C65f29C1A90E8550888f1439cFeFe465 and 0x90a4c72add7b007042527a72ffec570c50fb81c8
    • uni_v3 0x3814307b86b54b1d8e7b2ac34662de9125f8f4e6
    • tokemak_amo 0x4e710B33c87CEDF832Cd82E11d743A011864f733
  • Fantom
    • curve_amo 0x0eBA9254301B972f8a6A6bB2D576b2B1e0017C18
    • saddle_amo 0xE838c61635dd1D41952c68E47159329443283d90
  • Polygon
    • curve_amo 0x5e5A23b52Cb48F5E70271Be83079cA5bC9c9e9ac
    • sushi 0xBF667807Ff4d431E2aa77c50497434646F190Bfa
  • Avalanche
    • curve_amo 0xc036Caff65c1A31eAa53e60F6E17f1E6689937AA
  • Arbitrum
    • comptroller 0xe61D9ed1e5Dc261D1e90a99304fADCef2c76FD10
    • sushiswap 0x5D83f657959F916D72a33DDF53BFb7EcD7Ef1507

You can find a more extensive list of Frax contracts here

Arweave TX
wiUMckbUIVsXAPmvqpfzJi7oTBamQ-tk2eLrLqjbp4g
Ethereum Address
0x5152e31dfF3C7C7fa1f7D90cef6C9EafD56bE7E7
Content Digest
aHfH_cSy6wToU7aWKXW07y_sL4-atFQcMNt_6Y1EQdM