ƒlayer

ƒlayer: A Novel NFT Liquidity Protocol

June 2024

ABSTRACT

In this white paper, we introduce the ƒlayer protocol: a novel solution for providing fungible liquidity to non-fungible token (NFT) collections. Unique to ƒlayer is its use of Harberger Fees, ensuring immediate liquidity across all rarities of a collection, rather than being limited to floor items. This approach not only introduces an entirely new way to liquidate mid-tier and rare items but also catalyzes a fresh market for "Trade-Ups", where collectors can exchange multiple floor items for rarer ones. ƒlayer also introduces a Lockbox mechanism to allow users to access fungibility without giving up ownership of their NFT, as well as reservations (reserve NFTs for a later purchase) and re-listing (arbitrage mispriced items).

Crucially, ƒlayer rewards LPs with these Flayer protocol fees directly in the Uniswap pool, extending real yields beyond swaps (reducing the impact of impermanent loss), and improving the performance of passive LP strategies. Furthermore, these “exogenous fees” allow LPs to compete with tighter spreads creating a more efficient NFT market for those collections that participate.

Secondary to this, ƒlayer’s integration with Uniswap V4 also paves the way for novel NFT trading strategies (TWAMMs, onchain limit orders, and more) and some added benefits discussed in this paper.

ƒlayer is aimed at LPs, NFT collectors, and traders. It prioritizes immutability and feeless entry/exit as core principles, underscoring its commitment to creating a neutral fungibility layer for NFTs.

This document offers a succinct overview of the ƒlayer protocol, its capabilities, and our vision moving forward.

1 INTRODUCTION

Creating sustainable liquid markets for NFTs remains an unsolved problem. While a handful of NFT collections have solved floor liquidity thanks to secondary market bids, aggregators and NFTX liquidity, the scale of this liquidity is limited, and non-floors are ubiquitously illiquid.

NFTX’s use of Uniswap V2 and, more recently, Uniswap V3, has helped establish liquidity in the tens of millions, but volatile movements in the price can quickly widen spreads and make markets unusable without incentives for other liquidity providers to step in. Blur has also had some success in creating bid liquidity for NFTs, however much of this liquidity relies on gameable BLUR token incentives.

We improve on this through a few notable features:

  • Liquid Listings: When a Liquid Listing is created, the seller, regardless of listing price, immediately receives a freshly minted ERC20 token, which can be instantly sold at floor value. The remaining value above the floor is realized when the listing is subsequently filled.
  • Liquid Auctions: When a Liquid Auction is created the seller immediately receives a freshly minted ERC20 token, which can be instantly sold at floor value. The remaining value above the floor is then sold via dutch auction.
  • Trade-Ups: Liquid Listings and Liquid Auctions are priced in floor ƒ token multiples. For instance, a user pricing their rare Milady at 2 ƒMILADY tokens would allow for someone with 2 floor NFTs to trade-up to the listed rare.
  • Lockbox: When depositing an item into the user’s Lockbox, the user immediately receives a freshly minted ERC20 token. This is similar to Liquid Listings however deposited items are not available for purchase but instead have a variable interest rate based on pool utilisation.
  • Re-Listing: Arbitrageurs can permissionlessly curate listings by re-listing assets without having to take on the risk of buying the asset from the pool. This feature enables efficient repricing of all assets in the pool and provides a revenue source for appraisers.
  • Reservations: Users can reserve items in the pool by putting up collateral and paying an interest rate. Reserved items can then be redeemed at a later date–useful for users with short-term liquidity issues or anticipating upcoming events such as airdrops.

ƒlayer leverages UV4 to provide unique features for LPs and users:

  • Liquidity Providers: LPs farm yield by providing floor liquidity to Uniswap V4. There is no concept of “staking” LP tokens, instead any additional protocol revenue (e.g. Liquid Listing, Liquid Auction and Lockbox fees) are sent directly to the UV4 pool through the donate() method, inheriting the same claim logic as applied to swap fees. This provides a differentiated source of yield that goes beyond the impermanent loss that comes with swap fees.
  • UV4 Hooks: new trading strategies such as TWAMM and onchain limit orders are unlocked in UV4 as well as open source hook development that will likely create new tools for the NFT market through ƒlayer’s liquidity.
  • UV4’s Singleton Contract: creates reductions in gas fees for swappers, allowing users to hop between floors of different collections without the additional gas costs of UV3 or the transfer of individual ERC721 tokens.
  • ƒlayer LST: While outside of the scope of this white paper, a combination of Geode’s LST infrastructure and Uniswap V4 will allow ƒlayer to generate additional yield from circulating ETH in the system.

ƒlayer also removes the cost of entry/exit. A user who wants to enter and exit the fungible state of their NFT will pay no fee. Instead, fees are collected via the fee systems described in this paper, allowing LPs to reduce swap fees to create tighter spreads while remaining competitive.

Users and creators will also be able to permissionlessly bribe LPs through UV4’s donate() feature. Bribes can act as a route to bootstrap liquidity for a collection to enable Flayer’s unique set of features as well as UV4 strategies and associated NFT-Fi products that integrate ƒlayer pool tokens.

2 LIQUID LISTINGS

One of the limitations of existing fungible NFT protocols is that liquidity is restricted to only the floor items. Other protocols have made steps towards solving this problem by allowing higher tier deposits, however the process requires manual/centralized effort and may not adapt quickly to changing meta.

ƒlayer allows any non-floor item within a collection to be deposited into a collection’s pool as a Liquid Listing, and in return for the listing the user receives a floor token (i.e. ƒMILADY). All listings are quoted in multiples of the floor, and the price is set by the user creating the listing.

For example, Alice has a non-floor Milady that she values at 1.3x the floor price. She deposits the item into the pool and sets its redemption price at 1.3 ƒMILADY and in return receives 1 ƒMILADY token. She can then sell the token on Uniswap V4 to access immediate liquidity while she waits for the remainder to sell.

Alice is able to instantly access 75% of the value of her item without the need to wait for a buyer.

2.1 Harberger Fees

Liquid Listings would not work without an incentive to ensure that the seller is setting a fair price. Without such an incentive, users could list their items at extortionate prices with no intention to be filled whilst still accessing a freshly minted ƒ token. This would result in the ƒ token depegging from the market as it could no longer be used to claim a fairly priced item.

To resolve this issue, ƒlayer introduces Harberger Fees, where an interest rate is paid on the price set by the holder.

With a correctly set interest rate it is possible to create a strong incentive for users to set the price at a fair market rate, ensuring that the ƒ token itself remains pegged and that the system remains healthy. Users are still able to set their price far above the fair market rate, however the interest rate will be high and the item will not sell, incurring losses that would eventually force the listing to close.

Harberger Fees pave the way for “Liquid Listings” as described in Alice’s example earlier. Liquid Listings grant the ability to list a mid-tier or rare, accessing instant floor liquidity while the user waits for the remaining value to be sold.

When a user lists an NFT, they pre-pay the interest to cover their listing up until the chosen expiry date. All fees are paid in ƒ tokens that are deducted from the liquidity released at the point of listing.

2.2 Fees

When a fee is collected, it is pooled in Flayer and queued to be swapped to ETH using Uniswap V4’s beforeSwap() hook. This hook manipulates a buyer’s swap data to include Flayer fee pool liquidity (no fee, no slippage), providing a better execution price and a more desirable fee token for the LPs (ETH). These ETH fees are then sent into the UV4 pool via donate() and triggered via the afterSwap(), beforeAddLiquidity() and beforeRemoveLiquidity() hooks for timely distribution.

LPs can then claim their share of the fees using the same logic as swap fee collection without any additional staking or gas.

2.3 Dutch Auction

Users pre-pay interest for a specified number of days until their listing expires and are free to update the price or duration at the current fixed interest rate at any time. Listings can be closed at any time by the holder, returning any remaining pre-paid balance.

If a user’s pre-pay balance runs out (and the listing is not filled or closed), the item is immediately locked into a dutch auction where the price falls from its current floor multiple down to the floor (1x) over a period of 4 days. By knowing the pre-pay expiry time upfront at listing, there is no requirement for keepers to trigger a dutch auction.

The value of the item falls linearly every second until it reaches 1 ƒ token, at which point it can be redeemed in the same way as any other floor NFT inside the pool.

This auction process allows users to “set and forget” their listings, accepting that they will pay a predetermined listing fee and will either sell at the initial price set or - in the event that they have mispriced the asset - during the auction process.

2.4 Liquid Auction

When creating a Liquid Listing the user is able to send the item immediately to auction. This will allow for very fast liquidation of non-floor items with the auction creator receiving immediate liquidity of 1 ƒ token.

This use case is particularly helpful for individual NFT-Fi applications that need to liquidate their users’ non-floor items as quickly as possible without the need to prepay for Harberger Fees or appraise assets.

The fee for a Liquid Auction is calculated as a 4 day listing and as with all items that enter auction, there is no refund on the fee.

3 RE-LISTING / RESERVING

ƒlayer allows users to not only list their own NFTs, but to re-list or reserve NFTs that are already in the pool and not in auction. This will allow those with specialized knowledge to profit by reserving or repricing mispriced assets in the pool.

For example, Carol is unfamiliar with Milady traits and mints a Milady into the pool thinking that it is a floor. Bob, who has expert knowledge in the field, spots this Milady, who is wearing an “Im Cute Im Punk” shirt, and considers it mispriced at floor. Bob immediately creates a listing at 1.25x the floor for this Milady that he does not own, pre-paying the interest and taking any profit on a sale. He is able to arbitrage directly from the pool without taking on the risk of purchasing the Milady at the floor to then re-list on a secondary market.

This scenario could also take place for non-floor assets, where a listing at 1.1x is filled and increased to 1.3x without any more capital required beyond the 0.1 purchase and the accrued interest.

In the case of a reservation, Duncan may be saving for a Remilio NFT but his forever Remilio has just appeared in the pool. He can reserve this item while he waits to accumulate a full ƒREMIO token to redeem it. In another case, he may be anticipating a Remilio airdrop and wants exposure to the claim.

4 LOCKBOX

Accessing floor liquidity via Liquid Listings or by depositing floors in the pool results in the user losing their right to the NFT that they deposited (in return for an ƒ token).

The Lockbox provides an alternative to users who want to retain their NFT by protecting their deposit from public purchase - as long as the user keeps up their interest payments.

In the case of Lockbox deposits, the interest applied does not follow a Harberger Fee model and instead uses a utilisation curve. This is critical to ensure that there are enough floor items available to token holders at any given time.

ƒlayer uses a Compound-style utilisation rate where over a certain threshold (80%) the interest paid on Lockbox deposits increases rapidly.

Users deposit their NFT and can borrow up to 0.95 ƒ tokens. Variable interest is then applied to their debt, which if greater than 0.95, can be liquidated by going to auction. At auction the value above 1 is returned to the holder while the keeper receives a flat 0.05 ƒ tokens.

5 TRADE-UPS

Swapping NFTs has typically been an OTC affair, where users create specific conditions for a trade. These deals are highly illiquid and rarely filled. NFTX solved this natively for collections by allowing floor to floor swaps. ƒlayer takes this a step further by opening up floors to mid/rare swaps.

Consider Evelyn, who lists her Pikachu Remilio at 3x the floor. Other users are able to fill this listing by providing floor items — either the full amount (3 floors) or partially (2 floors + ETH). Once sold, Evelyn could then TWAMM her 2 ƒ tokens for ETH (she already received 1 ƒ token at the time of listing) in the hope of getting the best execution price or she could sell immediately. Evelyn could instead use her 3 tokens to redeem floor NFTs for free to sell on secondary markets or for use as collateral in NFT-Fi.

With enough liquidity across collections, cross-collection trade-ups and downs can be made possible not just on ƒlayer but also across secondary market listings priced in ƒ tokens.

6 OTHER NOTABLE FEATURES

6.1 ƒlayer LST

While outside of the scope of this whitepaper, all ƒlayer ƒ token liquidity is paired with flETH, a liquid staking token with yield that is diverted to a separate DAO-owned contract.

6.2 Offchain Inventory

With the introduction of UniswapX and the rising trend of offchain inventory as a profitable market making strategy, ƒlayer is in a unique position to capitalize by using its own treasury of ƒ tokens to execute on these strategies.

As an aside; while offchain market making reduces fees for passive onchain LPs, ƒlayer’s protocol is set up to subsidize revenues through Liquid Listings.

7 SUMMARY

In summary, ƒlayer is a non-custodial and neutral implementation of a fungibility layer for NFTs that aims to tighten spreads by extending LP fees beyond swaps.

At the pool layer, the protocol is neutral with no upgradeability and freedom to enter and exit the fungible state of an NFT without fees. Neutrality will help expand the network effects of ƒlayer’s pool tokens through product and gaming integrations.

ƒlayer also unlocks features not yet seen in the NFT market: Liquid Listings, Trade-Ups, Re-listing and Reservations, creating additional value for users and LPs.

As liquidity for ƒlayer pool tokens expands, more product opportunities will become available to further increase revenue.

DISCLAIMER

This paper is for general information purposes only. It does not constitute investment advice or a recommendation or solicitation to buy or sell any investment and should not be used in the evaluation of the merits of making any investment decision. It should not be relied upon for accounting, legal or tax advice or investment recommendations. This paper reflects current opinions of the authors and is not made on behalf of ƒlayer or their affiliates and does not necessarily reflect the opinions of the authors, their affiliates or individuals associated with them. The opinions reflected herein are subject to change without being updated.

APPENDIX- A: Mathematical Formulas for Interest Rate Models

The following appendices describe the formulas for calculating the fixed rate Harberger Rate, which is used for public listings that are available to purchase. And the variable rate Utilisation Rate, which is applied to private listings.

Harberger Rate Formula:

$$\text{tokenEthValue} \times \left( \left( \frac{\text{duration}}{\text{year}} \times \text{multiplier} \right) + \left( \frac{e^{\text{multiplier}}}{10} \times \frac{\text{multiplier}}{0.1 \, \text{ether}} \right) \right)$$

Utilisation Rate Formula:

Pre-Kink:
$$\text{tokenEthValue} \times \left( \left( \frac{200 + \left( \text{utilizationRate} \times 600 \right)}{\text{utilizationKink}} \times \text{duration} \right) \div 365 \, \text{days} \right)$$
Post-Kink
$$\text{tokenEthValue} \times \left( \left( \left( \left( \frac{(\text{utilizationRate} - \text{utilizationKink}) \times (100 - 8)}{1 \, \text{ether} - \text{utilizationKink}} + 8 \right) \times 100 \right) \times \text{duration} \right) \div 365 \, \text{days} \right)$$