RFX v2 (Sonic): RFX Shared Liquidity Vaults
This section provides an overview of the RFX Liquidity Vaults.
Last updated
This section provides an overview of the RFX Liquidity Vaults.
Last updated
RFX Shared Liquidity Vaults (SLV) are Vaults that provide unified liquidity to markets on RFX. Each Vault uses a single collateral token, thus eliminating impermanent loss. These vaults are fully automated and allow LPs to "set and forget" without having to worry about constantly monitoring or rebalancing their LP positions.
RFX has deployed 2 SLVs on Sonic, one using wS as collateral and the other using scUSD.
How does the SLV work?
The SLV provides exposure to all markets on RFX and algorithmically allocates liquidity based on an off-chain algorithm to optimise for the highest yields.
The Shared Liquidity Layer Algorithm is stored off-chain and is designed to dynamically allocate funds across various markets based on performance metrics such as turnover and annual percentage rates (APR). The objective of integrating a shared liquidity layer to perpetual markets is two-fold: (1) provide deep liquidity to markets by minimising liquidity fragmentation and (2) utilise quantitative factors to enhance ROI / APR for LPs.
Depositing Liquidity to the SLV
Users must first pick which Vault they want to deposit liquidity in: wS or scUSD.
Once users have added liquidity to the vault their shares will accrue value as the vault accrues fees from the markets it has exposure to.
Redeeming Liquidity from the SLV
Steps:
To withdraw from the vault, users need to request to redeem their SLV tokens
the request for the desired SLV token amount is then placed in a queue and will be indicated as such in the "pending redeem" section on the RFX UI.
Once the request is fulfilled at the end of the current epoch, the UI will update and display the claimable collateral amount
Users can then click on the "Claim" button to withdraw/redeem their collateral
Note: There may also be periods where users are unable to withdraw the entirety of their SLV balance. This is because the SLV serves as a counter-party to all trades, and thus a portion of the liquidity maybe reserved against open interest. The maximum amount withdraw-able from the SLV at any given time is indicated as a $ amount on the Vault details page and is calculated using the following formula:
RV Token Price
The RV Token Price is calculated by dividing the NAV (Net Asset Value) of the Vault with the Total Shares Outstanding.
NAV in this case refers to the total value of assets contained in the vault. Therefore:
SLV Algorithm Overview
The SLV algorithm processes market data and calculates allocation weights that determine how the total available funds should be distributed amongst markets. The shared liquidity layer algorithm itself is empirically back-tested and periodically evaluated for optimum performance. The goal is to allocate funds to markets that are making the most revenue while being mindful of scaling. Since we are dynamically allocating every time the logic is ran, users are getting the best ongoing capital utilisation without having to manage the routine rebalancing.
The first iteration of the algorithm employs a discretionary approach to allocating liquidity based purely on pool APRs, with initial back testing results illustrating a superior performance to other perpetual market liquidity pools for the same time period and trading data.
Liquidity Allocation Flow:
Initialization - Upon instantiating, the algorithm initializes with the market’s state, minimum liquidity parameters, a threshold for filtering, and the total funds available for allocation.
Data/State Loading - Market data is loaded, incorporating minimum liquidity parameters to ensure operational stability in each market. In the context of a production environment, this would be querying live market data to get the current pool states of each market.
Score Calculation - Each market is assigned a score based on its turnover and APR. Scores below a predefined threshold are discarded to focus funds on markets with adequate performance.
Weight Calculation - Weights are calculated for markets that pass the threshold, which is returned as decimal percentages that will collectively add up to 1.0 (100%).
Funds Allocation - Funds are then allocated based on the calculated weights
Total Liquidity Provision - The total liquidity provisioned for each market is the sum of the minimum required liquidity and the additional funds allocated based on the market’s performance
The Shared Liquidity Layer Algorithm ensures a systematic and quantitative approach to fund distribution, focusing on market performance to optimize returns on investment. It scales liquidity provisioning dynamically, promoting growth in successful markets while maintaining stability across all markets.
Note: Future versions of RFX will employ the Shared Liquidity Schema to permit LPs to deploy their own liquidity vaults and run sophisticated yield strategies. For example: Provide liquidity only to OP/USD, ARB/USD, ZK/USD markets and only to those markets where the open interest skew is less than 55-45 L/S and 24H trading volume is higher than $2 Million.
Once decided users must deposit the collateral token (wS or scUSD) into the SLV from the page on the RFX UI in return for SLV Tokens that represent shares in the vault. Users can deposit to the vault at any time, and will receive freshly minted SLV tokens in proportion to their deposit amount relative to the vault's overall TVL.
Users can request to redeem their collateral by burning their SLV tokens from the page on the RFX UI. All withdrawals from the SLV are subject to a queue and claim period. Currently, withdrawals are queued up and processed at the end of every rebalancing epoch. Each epoch last for 4 hours.