This text was generated with AI model, you can check full essay here. Feel free to ask clarifications and make suggestions.
Overview
This proposal introduces a dynamic fee model for the JLP pool. The idea is to adjust platform fees regularly based on asset utilization, ensuring an optimal balance between interests of traders, investors, and new investors.
Participants and Their Roles
The platform has three main participant groups:
- Traders (Users) – Open positions and pay fees. Without them, the platform has no purpose.
- Liquidity Providers (Investors) – Supply capital to the platform before traders start using it. They are incentivized by fee distribution and care about token volatility.
- New Investors – Potential investors who have not yet participated but are crucial for platform growth.
Setting Priorities
The platform can prioritize different participant groups based on its goals:
Priority Weights | Traders | Investors | New Investors |
---|---|---|---|
Growth | 0.25 | 0.35 | 0.40 |
Maturity | 0.45 | 0.35 | 0.20 |
User Experience | 0.60 | 0.25 | 0.15 |
For this proposal, we assume the Maturity model.
Key Fee Parameters
The interaction between participants is governed by the following adjustable fees:
- Trading Fee – Charged when opening a position.
- Borrow Fee – Ongoing fee for holding a position.
- Mint Fee – Fee for adding liquidity.
- Burn Fee – Fee for withdrawing liquidity.
- Incoming Swap Fee – Fee for swapping liquidity into an asset.
- Outgoing Swap Fee – Fee for swapping liquidity out of an asset.
Note: Price impact fee does not directly affect utilization, so it is omitted in this discussion, but it is usefull for platform and should be kept in new model as well.
Important Notes:
- Closing Fee Must Be Zero – Traders already pay borrow fees while holding positions. Charging them a variable fee to close a position would be unpleasant and inconvenient, so the only fee we can adjust is opening positions fee.
Parameter | Min Cap | Max Cap | Adjustment Step | Notes |
---|---|---|---|---|
Trading Fee | 0.01% | 0.5% | 0.002% | Only applies to opening trades. |
Borrow Fee | 0.0001% | 0.05% | 0.0001% | Adjusted per hour (1%-500% APR). |
Mint/Burn Fee | 0.01% | 5% | 0.01% | Based on historical market data. |
Swap Fees | 0.01% | 0.5% | 0.01% | Aligned with popular swap pool fees. |
The Role of Utilization
Liquidity utilization refers to the percentage of available liquidity currently used by traders.
Why Utilization Matters:
- Low Utilization → Capital is underutilized, leading to lower fees and inefficiency.
- High Utilization → Increases risk, as traders may struggle to open positions.
- Ideal Utilization → The highest possible utilization that never reaches 100%.
Proposed Target:
- 80% Utilization for non-stable assets (e.g., BTC, ETH, SOL).
- 50% Utilization for stable assets (discussion needed).
How Fees Impact Supply & Demand
Fees influence trader and investor behavior, but external market conditions (e.g., funding rates on traditional exchanges) play a bigger role. The platform must dynamically adjust fees to stay competitive.
Increasing Utilization
If utilization is too low, we can:
- Encourage Traders (Increase Demand):
- Lower borrow fees.
- Lower trading fees.
- Discourage Liquidity Growth (Limit Supply):
- Raise mint fees.
- Lower burn fees.
- Increase incoming swap fees.
- Lower outgoing swap fees.
If utilization is too high, we do the opposite.
Weighted Impact of Fee Adjustments
Each action has a different impact on participant satisfaction. Below is a ranking of actions based on how favorable they are for each group (0 = worst, 5 = neutral, 10 = best) and weighted Impact, calculated using priority weights:
Action | Traders | Investors | New Investors | Weighted Impact (Maturity model) |
---|---|---|---|---|
Lower Borrow Fee | 9 | 0 | 2 | 4.45 |
Lower Trading Fee | 10 | 1 | 3 | 5.45 |
Increase Mint Fee | 5 | 10 | 0 | 5.75 |
Lower Burn Fee | 5 | 10 | 5 | 6.75 |
Increase Swap Fee (In) | 5 | 7 | 6 | 5.9 |
Lower Swap Fee (Out) | 5 | 3 | 4 | 4.1 |
The platform adjust fees randomly but proportionally to these weights.
Adjustments Based on Utilization
Fee changes should scale based on how far utilization is from the target (80% in this example).
Utilization Level | Range | Multiplier |
---|---|---|
Critical Low | 0-16% | 8 |
Very Low | 16-32% | 4 |
Low | 32-48% | 2 |
Slightly Low | 48-64% | 1 |
Optimal low | 64-80% | 0 |
TARGET | 80% | 0 |
Optimal high | 80-84% | 0 |
Slightly High | 84-88% | 0 |
High | 88-92% | 1 |
Very High | 92-96% | 2 |
Critical High | 96-100% | 8 |
Implementation Algorithm
The following logic should run hourly for each asset in the pool:
1. Retrieve current utilization rate.
- Example: SOL utilization = 30% (lower than target).
2. Select a randomly weighted action to increase utilization.
- Example: "Lower Borrow Fee" with probability 13.73%
3. Retrieve current parameter value.
- Example: Borrow Fee = 0.0033%.
4. Determine adjustment multiplier based on utilization.
- Example: Utilization is "Very Low" (Multiplier = 4).
5. Calculate new parameter value:
- 0.0033% - (4 × 0.0001%) = 0.0027%.
6. Ensure new value stays within min/max caps.
7. Apply new fee value.
Conclusion
This dynamic fee model ensures that:
- The platform adapts to market conditions in real time.
- Traders, investors, and new investors interests are balanced based on platform priorities.
- Utilization remains stable and within the desired range.
This model is simple, fair, and highly responsive to market fluctuations, keeping JLP competitive and sustainable.