How JLP Works with Perps
The JLP pool operates as a trader-to-LP exchange model, where:Pool-Based Liquidity
- Single Liquidity Pool: All liquidity comes from the JLP pool, not from resting orders or order books
- Direct Trading: Traders open and close positions directly against the pool
- Unlimited Size: Trade size is limited only by available pool liquidity and position-level constraints
- Oracle-Based Pricing: All trades execute at oracle prices, ensuring large trades don’t affect prices for others
Pool Composition
The JLP pool manages several custodies (tokens) for liquidity providers:| Token | Custody Address |
|---|---|
| SOL (Wrapped SOL) | 7xS2gz2bTp3fwCC7knJvUWTEU9Tycczu6VhJYKgi1wdz |
| WWETH (Wrapped WETHereum) | AQCGyheWPLeo6Qp9WpYS9m3Qj479t7R636N9ey1rEjEn |
| WBTC (Wrapped Bitcoin) | 5Pv3gM9JrFFH883SWAhvJC9RPYmo8UNxuFtv5bMMALkm |
| USDC (USD Coin) | G18jKKXQwBbrHeiK3C9MRXhkHsLHf7XgCSisykV46EZa |
- Provide collateral backing for long positions (SOL, WWETH, WBTC)
- Provide collateral backing for short positions (USDC)
- Cover trader profits when positions are closed
- Earn fees for liquidity providers through trading and borrowing
How Traders Interact with JLP
- Opening Positions: When a trader opens a leveraged position, they deposit collateral and borrow the remaining position size from the JLP pool
- Closing Positions: When positions are closed, profits are paid from the pool’s assets, while losses are added to the pool
- Borrow Fees: Traders pay continuous borrow fees to the pool based on their position size and the pool’s utilization rate
- Trading Fees: All open/close fees flow into the pool (with 25% going to the protocol)
Becoming a Liquidity Provider
To become a JLP liquidity provider, you need to mint JLP tokens by depositing one of the supported assets (SOL, WETH, WBTC, USDC) into the pool.
- JLP can be acquired through swapping on jup.ag which finds the best price either by other DEXes or the pool itself.
- Or through the JLP Earn, which mints or burns JLP tokens directly from the pool.
JLP Lending
JLP tokens can be used as collateral to borrow USDC from the pool, creating additional utility and yield opportunities for liquidity providers.This feature allows liquidity providers to:
- Access liquidity without selling their JLP position
- Potentially increase their yield through leverage
- Maintain exposure to JLP returns while borrowing for other purposes
Economics
Key Concepts
With the introduction of USDC lending from the JLP, the following definitions represent the true state of the custody accounts: DebtThe custody account’s
This gives the pure debt amount without accumulated interests.
debt field represents the tokens borrowed from the custody.This gives the pure debt amount without accumulated interests.
This represents the “true” owned token amount by the custody.
Borrowed tokens are not stored in
Borrowed tokens are not stored in
custody.assets.owned, so this calculation provides the actual value of assets owned by the pool.This represents the “true” locked token amount by the custody, including borrowed tokens:
Similar to the theoretically owned value above, this returns the actual locked token amount by the custody.
Assets Under Management
The AUM for each custody account in the pool is calculated as follows. Stablecoins (USDC)- First, calculate the global short position profit/loss (Unrealized PNL in USD).
- Second, check if the short traders are in profit.
- Finally, calculate the assets under management.
- Global short position profit/loss (Unrealized PNL in USD):
- shortSize =
custody.assets.globalShortSizes - shortAvgPrice =
custody.assets.globalShortAveragePrices
- shortSize =
- Check if
shortAvgPrice > currentTokenPrice. If true, short traders are in profit, otherwise they are in loss.
-
Assets under management for each asset:
- If the short traders are in profit, subtract
unrealizedShortPNLfromaumUsd. - Otherwise, add
unrealizedShortPNLtoaumUsd.
- If the short traders are in profit, subtract
-
The
guaranteed_usdvalue in each custody account represents an estimate of the total size of all long positions. It is only an estimate asguaranteed_usdis only updated when positions are updated (i.e. opening / closing positions, updating collateral). It does not update in real-time when asset prices change. -
The
guaranteed_usdvalue is used to calculate the pool’s AUM as well as the overall PNL for all long positions efficiently.
Virtual Price and Market Price
Virtual PriceThe virtual price represents the intrinsic value of each JLP token based on the pool’s underlying assets.
The market price of JLP is determined by supply and demand on the open market (e.g., through DEX swaps). It can differ from the virtual price depending on market conditions.When the AUM limit is hit and deposits are restricted, liquidity providers will seek for circulating JLP in the open market, causing demand for JLP to exceed supply, leading to a market price premium above the virtual price.
You may sell your JLP at market price any time (by swapping it with other tokens on DEXes). However, if Market Price is below the Virtual Price, your JLP will be redeemed (burned) at the virtual price instead.
APR/APY Calculation
The APR and APY for JLP are updated weekly based on the fees generated by the pool (in USD) from perps trading activities. 75% of these fees are distributed to JLP holders, excluding asset appreciation and traders’ PnL. Fees are reinvested by being redeposited into the pool every hour. You can refer to JLP Earn page for more details. APR Formula- = total USD value of 75% of perps trading fees generated over the last 7 days (excluding protocol share).
- = current total AUM of the pool.
- The APR is expressed as an annualized rate, updated weekly based on the prior week’s fees.
- Fees are automatically compounded every hour, but the website calculates APY with a weekly compounding interval ().
- This APY is denominated in USD and reflects only the compounded yield from 75% of perps trading fees, not asset price appreciation or trader PnL.
- is taken from the previous formula.
- is the number of compounding periods per year (weekly).
Pool Rebalancing
The JLP pool maintains target weightages for each asset to ensure balanced exposure and optimal risk management. Each asset has a target weightage—the ideal proportion relative to the pool’s total AUM—and a current weightage that reflects the actual proportion at any given time. When swaps occur between JLP assets, they affect each asset’s weightage:- Swapping into the pool (e.g., depositing SOL) increases that asset’s current weightage
- Swapping out of the pool (e.g., withdrawing SOL) decreases that asset’s current weightage
- Risk Management: Balanced exposure prevents over-concentration in any single asset, reducing vulnerability to extreme price movements
- Liquidity Optimization: Proper asset distribution ensures the pool can efficiently serve both long and short traders
- Fee Generation: Rebalanced pools can better accommodate trading activity, leading to more consistent fee generation
Global Realized PNL
- Longs: uses locked tokens value minus guaranteed USD (collateral-based).
- Shorts: uses size × absolute price difference divided by average entry price (price-difference-based).
1
- Using the custody account
- Get the
assets.guaranteedUsdfield which stores the value of
position.sizeUsd - position.collateralUsdfor all open long positions for the custody. - Note that a position’s
sizeUsdvalue is only updated when a trade is made, which is the same forguaranteedUsdas well. It does not update in real-time when the custody’s price changes.
2
- Multiply
custody.assets.lockedby the custody’s current price to get the USD value of the tokens locked by the pool to pay off traders’ profits
3
- Subtract
guaranteedUsdfromlockedTokensUsdto get the estimate of unrealized PNL for all open long positions. - Note that the final value is greater than the actual unrealized PNL as it includes traders’ collateral
1
- Using the custody account
- Get the
assets.globalShortSizesfield which represents the total USD value of all open short positions. - Get the
assets.globalShortAveragePricesfield which represents the average entry price (in USD) of all open short positions.
2
- Calculate the absolute price difference ratio between the average entry price and the current token price.
- This represents the percentage change in price since the average entry.
3
- Multiply
globalShortSizesbypriceDifferenceRatioto get the estimate of unrealized PNL for all open short positions.
Yield
The JLP token adopts a growth-focused approach, similar to accumulating ETFs like VWRA or ARKK. Rather than distributing yield through airdrops or additional token mints, the JLP token’s value is designed to appreciate over time. This appreciation is driven by the growth of the JLP pool’s AUM, which is used to derive the virtual price as shown above. 75% of all fees generated from Jupiter Perpetuals trading, token swaps, and JLP minting/burning are reinvested directly into the JLP pool. This mechanism continuously enhances the pool’s liquidity and value for token holders. The remaining 25% of fees is allocated to Jupiter as protocol fees, supporting ongoing development and maintenance. For example, if trading activities generate 10 SOL in fees, 7.5 SOL would be added to the JLP pool, increasing its SOL holdings and AUM. Fees generated by the pool are reinvested directly back into the JLP pool, mirroring how accumulating ETFs reinvest dividends. This reinvestment strategy compounds the pool’s growth, steadily increasing the JLP token’s price and intrinsic value.Exposure
The intrinsic value of the JLP token is linked to the price movements of the liquidity pool’s underlying tokens (SOL, WETH, BTC, USDC). As a JLP holder, your portfolio is exposed to market movements, particularly to the performance of the non-stablecoin tokens: SOL, WETH, and BTC. If these tokens decrease in price, the value of your JLP position will likely decrease as well. That said, JLP holders earn yield from fees generated by trading activities. When traders incur losses, these are reinvested into the JLP pool, benefiting JLP holders. Conversely, when traders profit, it comes at the expense of the JLP pool. The JLP usually outperforms its underlying assets during sideways or bearish market conditions since traders often struggle to be profitable in bear markets. However, during strong bull markets, the situation can reverse. Traders may open more long positions which can lead to trader profitability at the expense of JLP holders.Risk Considerations
JLP holders are exposed to risks that can impact their portfolio:| Risk | Description |
|---|---|
| Market Volatility | Rapid price movements can negatively impact the JLP. Extreme market events or black swan scenarios may cause correlations between assets to break down, potentially amplifying losses instead of mitigating them. |
| Counterparty Risk | The JLP pool poses a counterparty risk to JLP holders, as smart contract vulnerabilities or platform issues could potentially impact the ability to maintain or close hedge positions. That said, Jupiter is working with leading firms in the field to audit and maintain our contracts to protect the Jupiter Perpetuals exchange and JLP holders. |
| Opportunity Cost | Capital allocated to acquiring JLP could potentially earn higher returns if allocated elsewhere. In bull markets for example, JLP may underperform compared to simply holding the underlying assets. JLP holders should thoroughly research and understand the benefits and risks of the JLP token before acquiring them. |
