Skip to main content
This page covers every fee type charged on Jupiter Perps, including when each fee applies, how it is calculated, and worked examples.

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 shares the same weightage-based mechanism as the Perps swap fee. 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 open interest imbalance)
  • Swap fee (only if your input token differs from the position’s underlying collateral token)
  • SOL transaction fee (network fee + optional priority fee or Jito tip)
  • SOL rent for the position’s escrow account (returned when the position is closed)
While the position is open:
  • Borrow fee, charged hourly and deducted from your collateral, for as long as the position is open
Closing a 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 forfeited to the JLP. See the Liquidation Penalty section.

Fees in the Trade Interface

The trade form on Jupiter Perps shows a live breakdown of all fees 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. The Borrow Fees Due field updates continuously once the position is open, accessible from the Positions tab.

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)
Example:
  • Trade size: $10,000
  • Base fee: $10,000 x 0.06% = $6

Price Impact Fee

Jupiter Perps executes trades at oracle prices, which means traders receive the displayed price regardless of trade size (no orderbook slippage). 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 that are summed and capped at a per-asset maximum.

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:
The tradeImpactFeeScalar value in the custody account is stored in BPS format. Divide by 10,000 to use against USD trade sizes.
Custody accounts (for scalar values): Example (SOL, at time of writing): Reference: Chaos Labs initial proposal

Additive Price Impact Fee

The additive component applies on top of the linear fee when the open interest (OI) imbalance — the difference between total long OI and total short OI for an asset — exceeds a predefined threshold. Each asset has its own threshold (priceImpactBuffer.deltaImbalanceThresholdDecimal), factor, exp, and maxPriceImpactFee values stored in its custody account. Formula: AdditivePenalty(BPS)=factor(newImbalance/Threshold)expAdditivePenalty(USD)=TradeSize(AdditivePenalty(BPS)/10000)FinalPriceImpactFee(USD)=min(LinearFee(USD)+AdditivePenalty(USD),MaxFee(USD))Additive Penalty (BPS) = factor * (newImbalance / Threshold) ^ exp Additive Penalty (USD) = Trade Size * (Additive Penalty (BPS) / 10000) Final Price Impact Fee (USD) = min(Linear Fee (USD) + Additive Penalty (USD), Max Fee (USD)) If the imbalance is below the threshold, the additive penalty is zero. Example (SOL long, at time of writing):
  1. Linear fee: $10,000 × 0.000000008 = $0.00008
  2. Additive penalty: The imbalance ($2,000,000) exceeds the threshold ($750,000), so the penalty formula applies using the SOL-specific factor and exp values.
  3. Final fee: min(Linear Fee + Additive Penalty, $10,000 × 0.50%) = min(…, $50)
factor and exp are per-custody parameters defined onchain. The exact values can be read from the custody accounts linked above.
Reference implementation: price-impact-fee.ts Additional references:

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 compound hourly and are deducted from the position’s collateral.

Formula

HourlyBorrowFee=(TotalTokensLocked/TotalTokensinPool)HourlyBorrowRatePositionSize(USD)Hourly Borrow Fee = (Total Tokens Locked / Total Tokens in Pool) * Hourly Borrow Rate * Position Size (USD)

Worked Example

Borrow fees are continuously deducted from your collateral. Over time, this reduces your effective margin and increases your liquidation price. Positions held for extended periods — especially at high leverage — require regular monitoring.

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:
  • Non-stablecoin assets (SOL, ETH, wBTC): 10 BPS (0.10%)
  • Stablecoin assets (USDC, USDT): 2 BPS (0.02%)
The final fee is adjusted based on how the swap affects each asset’s current weightage relative to its target weightage in the JLP:
  • 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
The pool uses the maximum of the input and output asset’s fee when calculating the final swap fee. Example: Swapping SOL → USDC: the SOL base fee (10 BPS) is used, as it is higher than the USDC base fee (2 BPS). Reference implementation: calculate-swap-amount-and-fee.ts

JLP Mint & Burn Fee

Minting (depositing assets into the JLP) and burning (redeeming JLP for assets) use the same weightage-based fee calculation as swaps, since both actions change the pool composition. For more on the JLP pool, mint and burn flows, and yield mechanics: JLP Earn. Reference implementation: calculate-mint-burn-jlp.ts

Transaction and Priority Fees

  • Traders pay a SOL network fee for each transaction submitted to Solana.
  • Optional priority fees or Jito bundle tips can be set in the interface to improve transaction processing speed.
  • A small SOL amount is used as rent to create an escrow account (PDA) when opening a position. This rent is returned when the position is closed.
The estimated transaction fee and rent amount (in SOL) are shown in the trade form before confirming.

Liquidation Penalty

When a position is liquidated, all remaining collateral is collected by the protocol and distributed to the JLP.
You will lose your entire remaining collateral upon liquidation, not just the amount required to cover the loss. See the Liquidation page for how to monitor and avoid liquidation.