Fee Summary
The JLP mint/burn fee applies when interacting with the JLP pool directly (minting or redeeming JLP). It is included here because it uses the same weightage-based adjustment as the Perps swap fee, on a different base rate. Full JLP details: JLP Earn.
When Do You Pay Fees?
Fees are charged at three different moments in the life of a position. This summary covers what you can expect at each stage. Each fee is documented in detail in its own section below. Opening a position:- Base fee (0.06% of trade size)
- Price impact fee (scales with trade size and the recent net trading flow on the asset)
- Swap fee (only if your input token differs from the position’s underlying collateral token)
- SOL transaction fee (network fee + a priority fee Jupiter sets automatically)
- SOL rent for the request accounts the trade creates (refunded once the trade is executed)
- Borrow fee, accruing continuously for as long as the position is open and settled from your collateral when you change or close the position
- Base fee (0.06% of trade size)
- Price impact fee
- Swap fee (only if you choose to receive profits in a token different from the underlying collateral token)
- SOL transaction fee
If a position is liquidated instead of closed manually, all remaining collateral is taken as a liquidation fee. See the Liquidation Penalty section.
Fees in the Trade Interface
The trade form on Jupiter Perps shows a Total Fees row, with a live breakdown of all fees behind it, before you confirm a position. The values are calculated in real time based on the current market conditions and your selected size, leverage, and collateral.Use the breakdown to verify the total cost before submitting a trade.
Base Fee
A flat fee of 0.06% is charged on the trade size when opening or closing a position. The base fee applies to:- Opening a position (market or limit order)
- Closing a position (manual, TP/SL, or liquidation)
- Trade size: $10,000
- Base fee: $10,000 x 0.06% = $6
Price Impact Fee
Jupiter Perps executes trades at oracle prices, so the execution price does not depend on trade size the way it would on an orderbook. To compensate for the risk this creates for JLP holders, a price impact fee is charged to simulate the price impact that would occur on a traditional orderbook exchange. The price impact fee has two components, a linear one and an additive one. The base fee, the linear fee and the additive fee together are capped at 0.50% of the trade size, so the price impact fee itself is at most 0.44% at current parameters (the trade form’s Price Impact tooltip shows this maximum; the app prevails).Linear Price Impact Fee
The linear component scales proportionally with trade size. Each asset has a fixed scalar constant (pricing.tradeImpactFeeScalar) stored in its custody account.
Formula:
- SOL: 7xS2gz2bTp3fwCC7knJvUWTEU9Tycczu6VhJYKgi1wdz
- BTC: 5Pv3gM9JrFFH883SWAhvJC9RPYmo8UNxuFtv5bMMALkm
- ETH: AQCGyheWPLeo6Qp9WpYS9m3Qj479t7R636N9ey1rEjEn
Reference: Chaos Labs initial proposal
Additive Price Impact Fee
The additive component applies on top of the linear fee when the imbalance exceeds a predefined threshold. The imbalance is the net size opened minus closed on the asset over roughly the last minute, in either direction, your own trade included, so splitting a large order within the same minute does not avoid it. It is not the difference between total long and total short open interest. Each asset has its own threshold (priceImpactBuffer.deltaImbalanceThresholdDecimal), feeFactor, exponent, and maxFeeBps values stored in its custody account. At current parameters the threshold is $1.5M on SOL and ETH and $750,000 on wBTC.
Formula:
- Linear fee: ceil(1,720,000 / 375,000) = 5 BPS
- Additive penalty: the imbalance ($1,720,000) exceeds the threshold, so ceil(1,720,000 / 1,500,000) = 2 BPS
- Total: 6 (base) + 5 + 2 = 13 BPS, below the 50 BPS cap. Price impact fee = 7 BPS × $1,720,000 = about $1,204
feeFactor and exponent are per-custody parameters defined onchain. The exact values can be read from the custody accounts linked above.Borrow Fee
Traders pay a borrow fee for the duration their leveraged position is open. This fee compensates liquidity providers for the capital locked in the position. Borrow fees accrue continuously on the full position size, without compounding. They appear as Borrow Fees Due, are taken from your collateral when you add to, reduce, or close the position, or deposit or withdraw collateral, and count against your collateral in the liquidation price in the meantime.Formula
jumpRateState in the custody account): an annual rate that rises slowly from a minimum up to a target utilization, then steeply toward a maximum as the pool’s tokens get fully used, divided by the number of hours in a year. The Borrow Rate shown in the market header (% / hr) is this rate at current utilization, so no separate utilization factor applies. The formula above assumes a constant rate; the program accrues the rate as it changes with utilization. Longs use the curve and utilization of the market asset; shorts use the curve and utilization of the USDC custody, which also count USDC lent through JLP Loans.
Worked Example
Swap Fee
When a trade involves swapping between JLP-held assets (e.g. depositing SOL collateral to open a USDC-collateral short), a swap fee is charged. Base rates:- Any swap involving SOL, ETH, or wBTC: 10 BPS (0.10%)
- Swaps between two stablecoins: 2 BPS (0.02%)
- Swaps that move an asset’s current weightage closer to its target → fee decreases
- Swaps that move an asset’s current weightage further from its target → fee increases
JLP Mint & Burn Fee
Minting (depositing assets into the JLP) and burning (redeeming JLP for assets) start from a base fee of 0.20% for every asset (launch value; the app prevails), adjusted by the same weightage mechanism as swaps, since both actions change the pool composition: the fee goes down when the action moves the asset closer to its target weight and up, by as much as about 1%, when it moves it further away. For more on the JLP pool, mint and burn flows, and yield mechanics: JLP Earn.Transaction and Priority Fees
- Traders pay a SOL network fee for each transaction submitted to Solana.
- Jupiter adds a priority fee automatically, based on market conditions; there is no priority fee or Jito tip setting.
- A small SOL amount is used as rent for the request accounts created by actions sent to the program as requests: opening, closing, adding or removing collateral. Each request creates a request account and its token account (a few thousandths of a SOL in total). Both are closed as soon as the keeper executes or rejects the request, and their rent comes back to your wallet as separate small SOL transfers. Several actions therefore produce several refunds. The position account itself is reused and never closed, so it returns nothing.

