Dynamic Fee Model Proposal for Jupiter Perpetuals

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:

  1. 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:

  1. Encourage Traders (Increase Demand):
    • Lower borrow fees.
    • Lower trading fees.
  2. 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.

2 Likes