Frax v2: Algorithmic Market Operations

Sam Kazemian
12 min readMar 11, 2021

The vision of Frax is to create a permissionless, decentralized, stable, scalable and capital efficient digital money. Since launch, Frax v1 has demonstrated that a fractional-algorithmic stablecoin can succeed and match the stability of fully collateralized alternatives.

Frax introduced the world to the concept of a fractional-algorithmic stablecoin. If you’re new to Frax, Frax v1 is the first stablecoin with parts of its supply backed by collateral and parts unbacked (stabilized algorithmically). The ratio of collateralized to unbacked FRAX (CR) is set by market forces. If FRAX is above the peg and needs to expand, the CR lowers so that additional FRAX can be minted with less collateral. If the FRAX price drops below the peg, the CR increases, boosting the collateral backing each FRAX to restore confidence in the system. All seigniorage profits, unbacked FRAX, fees, and excess collateral goes to the governance token, Frax Shares (FXS).
This mechanism was a breakthrough for stablecoin design. It has been called the “leader of the new school” of algorithmic stablecoins by Messari’s Ryan Watkins, and while we appreciate the recognition for our community, we’re just getting started. We believe that a programmable money requires a programmable monetary policy. While Frax v1 introduced the concept of a fractional algorithmic stablecoin, Frax v2 introduces the building blocks for a fully programmable monetary policy.

Frax v2 expands on the idea of fractional-algorithmic stability by introducing the world to the idea of the “Algorithmic Market Operations Controller” (AMO). Simply put, an AMO controller is an autonomous contract that enacts arbitrary FRAX monetary policy so long as it does not lower the collateral ratio and change the FRAX price. This means that AMO controllers can perform open market operations algorithmically (that’s where they get their name), but they cannot simply mint FRAX out of thin air and break the peg. This keeps FRAX’s base layer stability mechanism pure and untouched which has been the core of what makes our protocol special and has inspired other smaller projects. It also keeps AMO controllers economically disciplined knowing that there is a ceiling for the amount of FRAX that can be unbacked which stops the protocol from unrestrained money printing of classical central banks.

The AMO controllers will programmatically pause operation if any of their logic requires minting FRAX that would require recollateralization of the CR. The base layer fractional-algorithmic mechanism is always running just like before. If FRAX price is above the peg, the CR is lowered, FRAX supply expands like usual, and AMO controllers keep running. If the CR is lowered to the point that the peg slips, the AMOs pause all market operations, the system recollateralizes just like before as FRAX is redeemed and the CR goes up to return the peg. This allows all AMOs to operate with input from market forces, the same way that the v1 mechanism works.

AMO controllers enable FRAX to become one of the most powerful stablecoin protocols by creating maximum flexibility and opportunity without altering the base stability mechanism that made FRAX the leader of the algorithmic stablecoin space. AMO controllers open a modular design space that will allow for constant upgrades and improvements without jeopardizing protocol operation. This is the next step in Frax becoming the most capital efficient decentralized digital money.

Moving forward, Frax v2 will begin to have multiple AMO controllers that improve the protocol, increase capital efficiency, increase privacy, and drive more value to FXS holders. Anyone can propose, build, and create AMOs which can then be deployed with governance. That means if you believe Frax’s algorithmic market operations should include interaction with your DeFi protocol, reach out to us to discuss development and collaboration! Many projects have greatly benefited from being integrated into Frax’s AMOs just as much as Frax itself has benefitted. For example, the Collateral Investor AMO has deployed over $30m+ of idle collateral to yEarn, Aave, and Compound.

Frax, as a protocol, is the largest user of yEarn’s USDC v2 vault. It is also one of the largest lenders in Compound’s entire $9B+ money market. This kind of AMO collaboration can have explosive effects and traction for your DeFi project if you want to propose a symbiotic AMO controller. Here’s the roadmap for all the AMO controllers the team and community are working on in the coming few months:

Frax AMO Controller: Collateral Investor
This contract was technically the first of the AMO controllers before we introduced the concept by name. As many in the community are already familiar, the Collateral Investor AMO rebalances idle USDC collateral to blue chip DeFi protocols to attain cash flow for FXS holders (by using interest proceeds to buy and burn FXS on the open market). This AMO has already generated hundreds of thousands of dollars of revenue in just a few short weeks (all of which goes to FXS holders).

Frax AMO Controller: Curve
Next, we are working with Curve and Andre Cronje to develop a protocol-level strategy to deeply integrate the FRAX3CRV pool. Frax has deployed its own FRAX3CRV metapool. This means that the Frax deployer address owns admin privileges to its own Curve pool. This allows the Curve AMO controller to set and collect admin fees for FXS holders and various future functions. The protocol can move idle USDC collateral or new FRAX to its own Curve pool to create even more liquidity and tighten the peg while earning revenue.

The AMO’s overall strategy involves optimizing for the minimum FRAX supply Y such that selling all of Y at once into a Curve pool with Z TVL and A amplification factor will impact the price of FRAX by less than X%, where X is the CR’s band sensitivity. Said in another way, the Curve AMO can put FRAX+USDC into its own Curve pool and control TVL. Since the CR recollateralizes when FRAX price drops by more than 1 cent under $1, that means that there is some value of FRAX that can be sold directly into the Curve pool before the FRAX price slips by 1%. The protocol can have at least that amount of algorithmic FRAX circulating on the open market since a sale of that entire amount at once into the Curve pool’s TVL would not impact the price enough to cause the CR to move. These amounts are quite large and impressive when considering Curve’s stablecoin optimized curve. For example, a 330m TVL FRAX3Pool (assuming balanced underlying 3Pool) can support at minimum a $39.2m FRAX sell order without moving the price by more than 1 cent. If the CR band is 1% then the protocol should have at least 39.2m algorithmic FRAX in the open market at minimum.

This is an extremely powerful market operation which would mathematically create a floor of algorithmic FRAX that can circulate without any danger of breaking the peg. In practice, the Curve AMO strategy is somewhat similar to the Fei protocol’s liquidity collateralization mechanism except this AMO is even more efficient. Frax owns the Curve metapool itself, Curve’s stableswap invariant keeps the peg much tighter, and Frax is able to channel FRAX+USDC into its own Curve pool the same way Fei moves FEI-ETH into its Uniswap pool. In short, the Fei protocol is simply a single Frax AMO controller while Frax can execute various AMO strategies.

Frax AMO Controller: Tornado Cash
Since FRAX aims to be an entirely permissionless, decentralized money, the next natural area of focus should be full privacy akin to traditional cash. To expand our privacy features, we’ve proposed making FRAX the newest asset added to Tornado.cash, the premier zk privacy tech on Ethereum. We’ve proposed an AMO Controller that would allow minting of FRAX directly into the FRAX-Tornado anonymity set which would use FRAX’s expansion events as privacy enhancing ammunition which is a positive sum outcome for the protocol since any increase in privacy is value generating. Arbitrageurs and users will have the ability to mint FRAX directly into Tornado.cash’s anonymity set to mix new FRAX from genesis. The gas and optimization costs of this strategy are being explored to leverage L2 solutions. The eventual end goal for this AMO is to anonymize the entirety of incoming FRAX supply when gas/L2 optimization solutions are fully implemented.

Frax AMO Controller: Bonds (FXB) & Interest Rate Markets
The FXB AMO controller issues FXB tokens on an xy=k curve and pays FXB owners a protocol adjustable interest rate paid into the curve (so that FXB holders can redeem their bonds at higher prices, essentially creating a fungible interest bearing token with high liquidity). Previous attempts at bonds/coupons by other projects have been unsuccessful for a number of reasons: lack of fungibility, low liquidity, poor economic design, and no base layer fractional-algorithmic mechanism to backstop them if needed. The bond & interest rate AMO allows for servicing large FRAX contractions to offload the burden slowly over 1 year (or some maturity timeline) rather than all at once on the fractional-algorithmic mechanism. For example, if there is a large contraction event that requires 50% of the FRAX supply to be redeemed quickly at once, then there would be immense pressure on FXS holders due to newly minted FXS being sold off by redeemers. The FXB AMO offers an interest rate yield on FRAX that some users could earn instead of redeeming FRAX for collateral+FXS. This substantially protects FXS holders. As the interest is being paid out, if newly minted FRAX lowers the CR and slips the price, the AMO turns off until enough FRAX is redeemed and the CR is at the right amount to restore the peg. This mechanism essentially softens out large contractions over the FXB maturity period in a more sustainable and longer time-horizon so that FXS holders are shielded from vicious cycles that have plagued other algorithmic stablecoin designs.

The bond AMO is in deep testing and a few weeks out. Above is the screenshot for the AMM trading/redeeming interface that can be found at app.frax.finance/bonds (note: this has not been deployed to mainnet).

These AMO controllers are critical to the expansion of FRAX and we want to make sure that these contracts are designed with input and help of the community. If you are a dev or want to help with FRAX AMO development, join our Telegram t.me/fraxfinance

If you have an idea for a core AMO contract and would like to apply for an FXS grant to build it, reach out to us! We need the best cryptoeconomists and developers to build the biggest decentralized stablecoin and central banking protocol the world has ever seen. If you are part of another DeFi project that wants to build an AMO that deeply integrates with FRAX, please send us a proposal. We will also have a full governance forum up shortly to discuss these AMOs (and other protocol details) in depth!

With AMO controllers, FRAX is not just the #1 algorithmic stablecoin, it is creating a new DeFi category that it is the sole occupant of. All other stablecoins are essentially single instance AMO controllers when compared to Frax v2. “Competitor” stablecoins are simply employing 1–2 different strategies at a core protocol level while FRAX’s modular AMO framework allows the community to quickly and easily build every other stablecoin implementation into FRAX as an AMO controller as long as it adheres to the collateral ratio and base fractional-algorithmic mechanism.

In contrast to existing central banks and centralized stablecoins, FXS can be owned by anyone and everyone to give them exposure to this grand vision. In the full ethos of cryptocurrency, we believe that at the base layer, FXS is and will always be the value accrual token that affords governance rights, cash flow, and ownership of this distributed, decentralized protocol.

Community Proposals: Below are some AMO Controller requests that we would like to collaborate on and fund with FXS grants. Additionally, if you want to build an AMO that utilizes your project as part of FRAX’s open framework, reach out to us. AMOs are not limited to the below, they are truly limitless and Turing-complete in market operations. Anything you can code that is within the fractional-algorithmic framework is possible!
Frax AMO Controller: Collateral Hedge — This controller takes some amount of collateral and perfectly hedges against it with an inverse/short position to create a basis trade of net 0 volatility to minimize against significant drops in collateral price. This AMO would allow FRAX to be backed by more diverse and volatile collateral. For example, we are exploring using Synthetix inverse assets with the asset itself to form perfectly hedged units of collateral (ex: ETH-iETH).
Frax AMO Controller: FRAX lending — This controller mints FRAX into money markets such as Compound or CREAM to allow anyone to borrow FRAX by paying interest. The FRAX minted into money markets don’t enter circulation unless they are overcollateralized by a borrower so this AMO does not lower the direct CR. This controller allows the protocol to directly lend FRAX and earn interest from borrowers through existing money markets. Effectively, this AMO is MakerDAO’s entire protocol in a single contract. The cash flow from lending can be used to buy back and burn FXS (similar to how MakerDAO burns MKR from stability fees).

Other items on the roadmap:

  • Binance Smart Chain FRAX+FXS tokens! Soon you will be able to deposit BSC FXS on Binance.com directly! We are working on BSC ecosystem integration in the coming days. If you are a part of the BSC community, please make sure to reach out to us if you’d like to include FRAX+FXS in your project or farm. We are very interested in collaborating.
  • FRAX<>FinNexus Pool (Derivatives/Options): Making sure FRAX is a stablecoin that can be used to collateralize, settle, and buy options+derivatives is fundamental to its value proposition. We’re working with FinNexus to make a dedicated FRAX pool which is incentivized with FNX to become their stablecoin of choice for options trading. This is just the start of our partnership on a close level to optimize FRAX as an efficient money for all kinds of options/derivatives trading.
  • Matic/Polygon+QuickSwap: Following are successful integration and bridging of FRAX+FXS onto Matic, we secured the largest QuickSwap partnership of any token! Our FRAX farms on L2 lead the way in yield and liquidity size. We’re excited to lead the stablecoin space in the Matic/Polygon network with QuickSwap. Our goal here is to continue to build together and make FRAX the most used asset on Matic L2.
  • Improvements to Collateral Ratio: PID Controller
    The CR PID controller now accounts for the market cap and liquidity of the two tokens in the protocol. This better accounts for velocity of money where a larger market cap of FRAX is harder to stabilize algorithmically even if the price is above the peg. For example, 100m supply of FRAX at $1.01 means there is 20x more demand than 5m supply of FRAX at $1.01. The prior collateral ratio logic did not account for the market cap of FRAX nor the FXS market cap. The PID controller accounts for market cap, liquidity, and price so that the protocol is aware of money velocity, liquidity, and demand-side dynamics when taking into account when to adjust the CR. This will be a dramatic improvement than before and only will lower the CR when the system can truly support more unbacked FRAX.
    The docs have been updated for technical specs: https://docs.frax.finance/price-stability#pidcontroller-update
  • Frax Liquidity Ventures Program (FLV): We recently announced our initiative to increase FRAX trading pairs by partnering with select projects that want to incentivize their stablecoin LP farms with FRAX instead of DAI/USDC/USDT. We will proportionally channel FXS rewards allotted to the FLV projects that incentivize FRAX pairs. The FLV will help many projects get more exposure to FRAX as their stablecoin of choice and help speed up migration from fiatcoins to FRAX. If you are a project that is interested, make sure to reach out to us on Telegram or Twitter!

We’re very excited to build Frax v2 and further innovate in the DeFi space! In the coming few days, we will publish formal documentation specs at docs.frax.finance and open source code on full AMO frameworks, how to build within this new paradigm, and also the progress we’ve made as a team+community on each of the listed AMOs above (which is extensive). With this vision, FRAX+FXS can truly become one of the indispensable pillars of the entire cryptocurrency space. To the moon (and Mars)!

Lastly, we want to give a huge thank you and gratitude to everyone who has invested and/or backed our project in one way or another. We wouldn’t be here without you all.

The true list is too long to post, but you know who you are if you’ve helped us get to where we are. We owe our sincere thank you and appreciation.

DISCLAIMER: Nothing in this post is financial advice or suggestion to purchase/buy any asset. FRAX and FXS are not securities nor give any legal or contractual rights. Frax is a community run DeFi project with a massive international user base and many independent integrations/supporters. No individual or corporation owes any fiduciary or contractual duties to either FRAX or FXS holders.

Telegram: t.me/fraxfinance
Twitter: twitter.com/fraxfinance

--

--