Introduction
Chaos Labs has researched two programs enabling permissionless listing on dYdX.
The first program takes a Liquidity Driven Approach. It imposes limitations on leverage and smooths price volatility. It focuses on minimizing risk to the protocol while enabling assets with healthy derivative markets to be promoted into mature assets. Strict listing criteria allow hundreds of new assets to be listed. The drawback is the additional effort required to maintain and monitor such a program. The Liquidity Driven Permissionless Market Listings paper can be found here
The second program takes an Oracle Driven Approach. It minimizes the difficulty of listing assets. Any asset on a data aggregate like CoinGecko/CoinMarketCap is automatically listed. Based on the asset’s price volatility and trading history, leverage may be disabled. In cases where leverage is enabled, it’s based on the asset’s volatility. There are no strict criteria for asset listing. Tens of thousands of assets can be listed upon launch. This is highly scalable but comes with additional risks to the protocol. The Oracle Driven Permissionless Market Listings paper can be found here.
This document will contain a summary of both programs along with a simple comparison of the pros and cons. Some thoughts on how to combine the programs will be presented as well. The community is always welcome to provide input/thoughts on other ways to combine the programs.
Liquidity Driven Approach
The Liquidity Driven Approach (LDA) is a multi-month-long program that gradually lifts restrictions on performant assets.
Listing Criteria
Listing criteria differ depending on whether the asset already has a spot market or not:
Pre-launch assets pay an additional listing fee and must launch within a given timeframe. This prevents fake or failed token listings from lingering on the protocol.
For assets with spot markets, emphasis is placed on the Market Health Assessment. This assessment looks at a variety of metrics, such as:
- Duration of Trading History
- Daily Volume to Market Cap Ratio
- Daily Volume to Aggregate Liquidity Ratio
- Bid-Ask Spread
- Price Volatility (Hourly, Daily, and Monthly)
- Price Impact of a Swap (comparable to v3’s impact notional amount for margin requirements)
- Funding rate and market convergence behavior
- Quantity of Transactions/Trades
- Estimated Revenue
Based on existing markets on dYdX and the overall state of crypto markets, criteria will be set. The bar for metrics can be moved over time as the number of assets listed grows and the permissionless listing program evolves. As an example, here are some market health criteria based on the number of markets on dYdX:
Markets (M) | Market Cap | Trading History Duration (t) | Daily Transactions |
---|---|---|---|
M ≤100 | Top 250 | t ≥ 1 year | ≥ 100,000 |
100 < M ≤ 1,000 | Top 2,000 | t ≥ 6 months | ≥ 50,000 |
1,000 < M ≤ 2,500 | Top 5,000 | t ≥ 3 months | ≥ 10,000 |
2,500 < M ≤10,000 | Any | Any | ≥ 1,000 |
Assets that meet these criteria can proceed to the Probationary Period itself.
Probationary Asset Period
The probationary period allows perpetual to be traded with restrictions. The probationary assets are assessed weekly, and their restrictions are adjusted accordingly. An asset with top scores for multiple consecutive assessments is promoted to mature asset status. Upon the start of the probationary period, the asset’s insurance fund and liquidity bootstrapping are initiated.
Probationary Asset Insurance Fund
Once in the probationary period, a separate insurance fund is created. Each probationary asset has an insurance fund:
The fund is seeded by listing fees. From there, liquidation and trading fees are added to the fund. This protects the larger insurance fund from being drained by an attacker.
Bootstrapping New Listings
New listings need an initial source of liquidity. Market Makers might not enter new markets, especially for long-tail assets. The uncertainty can outweigh the potential returns. To avoid a rush of illiquid markets, some liquidity bootstrapping is required. Two mechanisms are suggested to address this:
- Lister Liquidity Commitment: The lister of a new market must provide some liquidity upfront. Based on the amount provided, they receive a portion of trading revenue once the asset matures. As their rewards unlock upon maturation, listers are incentivized to list assets with active and liquid spot markets.
- Market Maker Rebates: Market Makers will be given a rebate on trading fees. Market Makers receive a 1.1 BPS rebate for the first 120 days of trading. We propose a higher rebate for markets in the probationary period.
Now the asset has an insurance fund and liquidity, the focus shifts to mitigating potential losses.
Price Limits
Probationary assets cannot be traded outside of a given price range. The width of the range is based on the volatility of the asset. As an example, this is the hourly % price movement of Ethereum within 3 months:
Most of the time, Ethereum’s price does not move more than 3% in an hour. The upper end of this price movement can be seen below:
Percentile | Percent True Range (%) |
---|---|
90 | 1.5 |
99 | 3.5 |
99.9 | 5.2 |
100 (Max) | 10.4 |
Looking at the table, we can cap perpetual trading on Ethereum such that its price does not move more than 5.2% in an hour. This would allow traders to trade most of the time freely. In a rare exception, the cap would kick in. This protects the insurance fund from catastrophic losses in the case of price manipulation attacks or extreme market volatility. Price movement is slowed, so liquidations happen at lower or no cost to the fund. This also protects traders on the wrong side of these price movements.
In the above example, the price limits protect Alice while allowing Bob to continue trading. The insurance fund and Alice have lower losses. Probationary assets will need a shorter timeframe for price limits due to their volatile nature. Some analysis is needed to determine exact timeframes and ranges for price limits. A default price limit is needed for newer assets as well. The suggested default limit and timeframe is 2.5% movement per 15 seconds.
Leverage Limits
Leverage is a valuable feature of any exchange. It allows traders to increase their profits in return for increased risk. The issue is leverage also increases the viability of price manipulation attacks. Thus, probationary assets should have lower leverage caps than their mature counterparts. Probationary assets will start with a 1.5x leverage limit. Each week, the asset is assessed, and its leverage cap is adjusted accordingly:
E(C) is the expected number of times the price limit is hit. It’s based on the asset’s historical volatility and the timeframe/limits used. When an asset hits the 5x leverage cap, it can be considered for maturation.
Asset Assessment
With the risk mitigants in place, assets are regularly assessed. An asset that hits the 5x leverage cap for N consecutive weeks is flagged for maturation. As an example:
The maturation process uses the leverage cap as an indicator of market health. The leverage cap is adjusted based on trading volume, market liquidity, and price volatility. An asset that excels in these categories for months demonstrates a healthy market. At that point, the market can confidently be marked as mature and have its restrictions lifted.
Oracle Driven Approach
The Oracle Driven Approach (ODA) focuses on mitigating risk to the protocol without imposing significant barriers to entry or trading. The ODA focuses on the liquidity risk dYdX faces when listing illiquid markets:
Pain Point | Mitigant |
---|---|
Increased Price Volatility | Early Deleveraging, Variable Margin Requirements |
Ease of Price Manipulation | Dual Price Mechanism |
First, illiquid markets have increased price volatility. The volatility of illiquid markets can vary greatly. To mitigate that, variable margin requirements are implemented. In cases where the insurance fund can incur losses, early deleveraging is implemented. This allows dYdX to sidestep additional liquidation costs due to market illiquidity.
Second, illiquid markets are easier to manipulate. It costs less to purchase a significant amount of spot liquidity. To mitigate these risks, the Dual Price Mechanism is used for liquidations. The Dual Price Mechanism combines the spot price, funding rate, and perpetual market price into one price. This forces attackers to manipulate perpetual and spot markets to extract money from the insurance fund.
Asset Listing
Asset listing is done automatically via data aggregators such as CoinGecko. Any asset listed is immediately available for trading with a few risk mitigants enabled.
Risk Mitigants
Dual Price Mechanism
Currently, dYdX uses the Oracle price to handle liquidations. In illiquid markets, price oracles are prone to manipulation. The Dual Price Mechanism should be used for liquidations instead to mitigate this. The Dual Price Mechanism is calculated as:
Where p_1=p_{index}(1+F), p_2=p_{index}+MA(p_{mid}-p_{index}), and p_l is the last traded price on the derivative exchange. The moving average will sample one data point per minute for the last hour. The Dual Price Mechanism is used by exchanges such as Bybit, Binance, and Phemex. Kucoin uses p1, and BTSE uses a price impact modifier of the spot price.
Combining the index/spot and perpetual markets into one price forces an attacker to manipulate both markets. This increases the cost of an attack but does not make it infeasible. An attack could still be profitable if both the perpetual and spot markets are illiquid.
If an asset does not have a spot market, then its mark price is calculated as 0.5*MA(p_{l} + p_{mid}), the average of the MA of p_l and p_{mid}.
Early Deleveraging
With an illiquid perpetual market, liquidations are prone to high slippage. This can cause liquidated positions to incur additional losses, which the insurance fund has to cover. Alternatively, positions in need of liquidation can be offset against existing positions. dYdX already has deleveraging in its contracts. Instead of using this as a last resort, liquidated contracts could be covered by users’ open positions. This is similar to partial tear-ups done by Clearing Houses, where a defaulted position is offset against equal and opposite positions.
This mechanism should only be invoked when market liquidity cannot absorb a liquidation. If a position’s execution price, p, is worse than its mark price, it should be torn up. For longs, we check if p < MP; for shorts, we check if p > MP. Early deleveraging is initiated if this condition is met and the user’s margin cannot cover the liquidation (i.e., the insurance fund would be invoked).
To compensate users for absorbing positions, half the liquidation fee (if any) is given to them. The insurance fund still covers any negative balance during deleveraging.
Liquating positions will cover most defaults. In cases where it cannot due to market illiquidity, Early Deleveraging reduces or eliminates costs to the insurance fund.
Variable Margin Requirements
Margin requirements are set based on the asset’s historical price volatility. Each asset’s long/short initial margin requirements are based on its Historical VaR. The maintenance margin requirement is then set to half the initial margin requirement. The initial margin requirement will always be at least 10%. Assets whose VaR 99 exceeds 90% have margin disabled. Margin requirements are updated daily.
If an asset does not have at least 90 days of trading history, its long/short initial margin requirements are set to 40%. Assets without spot markets cannot open long positions with margin. Short positions will have an 80% initial margin requirement.
Asset Assessment
Assets are assessed based on their margin requirements. Once an asset holds a 10% initial margin requirement for a given period, it is eligible for maturation. Price volatility is the most significant form of risk to the protocol. It is also a sign of a less mature asset. As the end of an asset’s price changes are used, this is equivalent to an asset going some period without a 10% daily loss/gain. The timeframe and windows are 90 days and one day, but further research is required to finalize the parameters.
Comparing Programs
The two programs take fairly different approaches to the problem of permissionless listing. The LDA gradually prepares assets for maturation. By setting a low leverage cap and making modest changes, the LDA requires months for an asset to mature. With strict market listing criteria, this makes for a slower but safer growth curve for dYdX. The pacing comes at an added cost of scalability. Market data oracles will have to be created. Listing fees significantly impair scalability. Low-cap markets may never be listed due to the upfront costs.
On the other hand, the ODA has no listing criteria. Thousands of assets can be listed immediately. The margin requirements are loose and flexible. An asset can start with up to 10x leverage, depending on its volatility. It’s very scalable but comes with added risk to the protocol. Not vetting assets makes entering the protocol easier for a trojan horse asset.
Ultimately, this ends up as a trade-off of risk vs. scalability.
Both programs can be fine-tuned to aid with their drawbacks. Some critical points are:
- Should there be some requirement for a market to be listed?
- How quickly can we determine if an asset is worth maturing?
- Is it worth listing assets if the trading is highly restrictive?
- Micro-caps with extremely high volatility constantly trigger price limits.
- If a market has low volume, does its liquidity matter?
- Will users list markets despite steep listing fees?
The primary tradeoff is between the number of markets listed at scale versus liquidity and price manipulation risk. The LDA focuses on the former, while the ODA focuses on the latter. Neither program is in final form, and each program can be used to inform/improve the other.
Conclusion: Combining Mechanisms
Permissionless Asset listing comes with some challenges. The primary question we wish to resolve is the tradeoff between scalability and risk. The LDA and ODA are not mutually exclusive. Each program consists of multiple mechanisms that serve a purpose:
Mechanism | Program | Purpose |
---|---|---|
Market Health Assessment | LDA | Filter out high-risk assets. |
Listing Fee | LDA | Incentivise listing high-quality assets. |
Segregated Insurance Fund | LDA | Protect mature asset insurance fund. |
Price Limits | LDA | Hinder price manipulation attacks. |
Leverage Caps | LDA | Hinder price manipulation attacks. |
Increased Market Maker Rebates | LDA | Incentive market makers to provide liquidity. |
Early Deleveraging | ODA | Hinder price manipulation. Protect insurance fund. |
Variable Margin Requirements | ODA | Protect insurance fund. |
Dual Price Mechanism | ODA | Hinder price manipulation attacks. |
These mechanisms can be mixed and matched between programs. For example, the Oracle Driven Approach could include a market health assessment. This removes the drawback of listing tens of thousands of assets immediately. Instead, it would automatically list assets with healthy spot markets. Additionally, increased market maker rebates can be included to reduce the number of illiquid markets.
Alternatively, the LDA could adopt the Dual Price Mechanism instead of price limits. Theoretically, it could even use both — a mark price determined by the Dual Price Mechanism with price limits.
Community members are welcome to signal their preference between the broader programs and indicate which individual mechanisms they like. The broader program and mechanisms signaled for approval will be integrated into a singular program.