Jupiter is the dominant DEX aggregator on Solana. The router clears more than $2B of swap volume on busy days and integrates 30+ Solana DEX programs through a single API. This piece explains how Jupiter's Metis routing engine selects paths, how the v6 API exposes that engine to developers, and how Jupiter Perps and JLP fit alongside the spot router. The technical content focuses on what matters for stablecoin teams routing USDC, PYUSD, and USDT through Solana, with comparisons to EVM aggregators where the design choices diverge.
What Is Jupiter Aggregator?
Jupiter is a smart-order-router for Solana DEX liquidity. When a user swaps Token A for Token B, Jupiter scans all integrated venues, computes the cheapest path (which can include splits across multiple pools and intermediate hops through SOL or USDC), and submits a single transaction that executes the entire route. Per Jupiter's official station, the platform integrates Raydium, Orca, Meteora, Phoenix, Lifinity, Saber, Aldrin, and 25+ other venues.
The aggregator's market share has held above 70% of Solana's aggregator-routed swap volume through 2026 per Dune dashboards. Most major Solana wallets — Phantom, Backpack, Solflare — embed Jupiter as the default swap engine, which reinforces the concentration. Stablecoin swap aggregators compares Jupiter against EVM equivalents.
Jupiter also operates a perpetuals exchange (Jupiter Perps) and a stablecoin-issuer-style liquidity pool (JLP). These are separate products from the spot router but share the same brand and treasury. The discussion below treats them in turn.
How Does Metis Routing Work?
Metis is Jupiter's routing engine. It runs offchain, precomputes liquidity graphs for all integrated venues, and returns optimized swap paths through the v6 API. The engine handles three problems Solana imposes on routers: transaction size limits, parallel-execution constraints, and the lack of a global mempool.
Solana transactions are capped at 1232 bytes for legacy format and around 1644 bytes with version-0 transactions plus address lookup tables. Each program touched in a swap consumes bytes for the program ID, account references, and instruction data. Jupiter's open-source routing core uses lookup tables to compress account references, which lets a single transaction route through 4–6 hops where the legacy format would only fit 2–3.
Metis split-routes when a single venue can't fill the trade at the best price. A swap of 100,000 USDC to SOL might split 60% through Orca's USDC/SOL Whirlpool, 25% through a Raydium constant-product pool, and 15% through Phoenix's central-limit-order book. The engine picks the split that minimizes total slippage net of fees. The split is precomputed: by the time the user signs, the routing decision is locked.
This precomputation matters because Solana doesn't have a public mempool. Other validators don't see the swap until it's already in a block. Metis can't react to MEV the way a Flashbots-style searcher does on Ethereum. The trade-off is fewer MEV games, but slightly stale routing data — pool prices can move between Metis quote and onchain execution. Jupiter's quote endpoint returns a slippage tolerance that bounds this drift.
How Does the Jupiter API Work?
The v6 API exposes Metis to anyone building on top. Two primary endpoints:
/quote: pass input mint, output mint, and amount; receive a route plan with expected output, price impact, and per-hop liquidity sources.
/swap: pass a quote response and a wallet pubkey; receive a serialized versioned transaction ready to sign.
The API is rate-limited but free at low volume. Jupiter's swap API documentation details the rate tiers and the Pro plan for high-volume integrators. Most stablecoin payment apps and trading frontends on Solana use this path: quote on user input, swap on confirmation.
The API also supports Jupiter Pro features like dollar-cost-averaging (DCA), limit orders, and value-averaging. These are not part of the core spot router; they are additional products that build on the routing primitive.
For stablecoin-specific use cases, the API's "onlyDirectRoutes" parameter forces single-hop swaps. This matters when a treasury wants to swap USDC ↔ USDT or USDC ↔ PYUSD without intermediate exposure to SOL or BONK. Cross-chain stablecoin swap infra compares this to multi-chain alternatives.
How Does Jupiter Perps Work?
Jupiter Perps is a perpetuals exchange that runs alongside the spot router. Unlike Drift's order-book design, Jupiter Perps uses a pooled-liquidity model. Traders open positions against a single pool (the JLP token), and JLP holders take the other side of every position. The pool earns fees from trader losses; LPs absorb trader gains.
JLP holds USDC, SOL, ETH, BTC, and USDT in a target weighting set by the protocol. As of April 2026, JLP TVL is roughly $1.3B per Jupiter's dashboard. The pool earns 75% of platform fees (open, close, borrow, swap), which historically translates to 30–80% APY for LPs, with most of the yield denominated in the underlying basket assets rather than a separate reward token.
The trade-off for traders: Jupiter Perps charges a borrow fee proportional to the percentage of the pool a position locks up. A 10x long on SOL with $50K margin locks $500K of the pool's SOL allocation; the borrow fee scales with that lock. Jupiter Perps documentation details the fee math.
For stablecoin teams, JLP's USDC and USDT allocations represent meaningful aggregated yield. Treasury teams sometimes hold JLP as a yield-bearing alternative to spot USDC, accepting the principal-risk exposure to SOL/ETH/BTC volatility in exchange for the fee yield. The catch: JLP isn't redeemable on demand at NAV during high-utilization periods. The pool's redemption mechanism scales with available reserves, and large redemptions during open-interest spikes can incur slippage or queueing.
The pool composition matters for risk management. JLP's target weights were set at roughly 47% SOL, 11% ETH, 11% BTC, 26% USDC, and 5% USDT in 2025, then tilted slightly more toward stables in 2026 as the protocol matured. Holders effectively own a basket weighted toward Solana-native exposure. Pure stablecoin exposure is not the goal; the product is "yield-bearing crypto basket" rather than "yield-bearing dollar."
Liquidity Sources Jupiter Routes Through
The router's value comes from breadth. Major venues:
Raydium: constant-product AMM, the largest spot DEX by TVL on Solana.
Orca: Whirlpools (concentrated liquidity, similar to Uniswap v3) plus a constant-product fallback.
Meteora: dynamic liquidity market maker (DLMM) pools with bin-based concentrated liquidity.
Phoenix: central-limit-order-book DEX, used heavily for tight stablecoin spreads.
Lifinity: oracle-priced AMM that uses Pyth feeds to set prices proactively.
Saber: legacy stableswap, still used for long-tail stable-to-stable pairs.
Routing through Phoenix matters specifically for stablecoin trades. Phoenix's order-book design supports tight bid/ask spreads that constant-product AMMs can't match for low-volatility pairs like USDC/USDT. Jupiter routes large stablecoin trades preferentially through Phoenix when CLOB depth is sufficient.
Beyond these spot venues, Jupiter integrates RFQ (request-for-quote) liquidity from market makers like Wintermute and DWF Labs through specialized adapters. RFQ flow lets large trades fill at quoted prices without onchain market impact, similar to how OTC desks operate on EVM. The trade-off: RFQ requires offchain quoting infrastructure and isn't available for every trade size.
How Jupiter Compares to EVM Aggregators
Three meaningful differences between Jupiter and EVM aggregators (1inch, Matcha, Paraswap, OpenOcean):
Single-chain focus. Jupiter operates only on Solana. EVM aggregators span Ethereum, Base, Arbitrum, Optimism, Polygon, Avalanche, BNB Chain, and others. The single-chain focus lets Jupiter optimize harder for Solana-specific constraints (transaction size, lookup tables, lack of mempool) but means Jupiter alone can't solve cross-chain swaps.
Settlement speed. Solana's 400ms slot times mean Jupiter swaps confirm in 1–2 seconds versus 12–30 seconds on Ethereum L1 and 2–5 seconds on most EVM L2s. For high-frequency stablecoin operations, this is the cited reason teams choose Solana over an EVM L2.
Fee structure. Solana's transaction-fee model charges per-signature plus optional priority fees, totaling under $0.01 for most swaps even during congestion. EVM aggregators charge gas costs that scale with the route's complexity and the underlying chain's gas market. A four-hop swap on Ethereum L1 can cost $5–20 in gas; the same swap on Solana through Jupiter costs cents.
For stablecoin payment teams comparing rails, the fee differential favors Solana for high-volume retail use cases. The EVM L2 ecosystem offsets this with broader composability into existing DeFi protocols. Stablecoin API latency and fees covers the comparison in more depth.
Stablecoin Use Cases on Jupiter
Three patterns dominate stablecoin activity through Jupiter:
USDC ↔ PYUSD swaps. Treasury teams holding PYUSD and needing USDC (or vice versa) route through Jupiter rather than redeeming with the issuer. Pool depth on the USDC/PYUSD pair grew significantly through 2025 as PayPal expanded PYUSD's Solana supply. Spread on a $1M swap is typically under 5bp, well below the alternative of bridging to Ethereum and using Curve.
Large USDC ↔ USDT trades. Phoenix's order book provides the tightest spreads for this pair on Solana. A $5M swap can clear at 1–2bp net of fees during liquid hours. Jupiter routes through Phoenix preferentially when its bid/ask depth is sufficient, falling back to Curve-style stableswaps from Saber or specialized concentrated-liquidity ranges in Orca.
Inbound CCTP swaps. Many CCTP flows arrive as USDC and need to swap into another asset (SOL for gas, JitoSOL for staking, or another stable for treasury policy). Jupiter is the standard exit point. Wallet integrations and CCTP relayers often build a swap step directly into the destination flow.
Trade-offs and Risks
Routing centralization. Jupiter's offchain Metis engine is closed-source for the actual route-selection algorithm (the open-source core covers transaction construction, not graph search). If Jupiter's API goes down, every wallet integrated with it loses swap functionality. Alternative routers (DFlow, Hashflow, Titan) exist but at much smaller scale.
MEV exposure. Without a mempool, Solana has less MEV than Ethereum, but it isn't zero. Validators can reorder transactions within a block, and some sophisticated searchers run their own validators to capture sandwich opportunities. Jupiter's slippage protection bounds the worst case but doesn't eliminate it.
JLP correlated-loss risk. JLP holders take the other side of all open positions. In a directional rally, traders who are long SOL collectively profit; JLP loses. Historical drawdowns on JLP have reached 15–25% during sharp SOL moves. The fee yield offsets this in expectation, but the path-dependence is meaningful.
Quote staleness. Metis returns quotes valid for a slippage tolerance window, typically 0.5%. If pool prices move beyond that window between quote and execution, the swap reverts. This is an explicit safety mechanism but produces failed transactions that still pay base network fees.
Eco's Role
For stablecoin teams moving liquidity to Solana, Jupiter is the venue once the funds arrive. Getting them there is the part Eco handles. Eco Routes selects between Circle CCTP, LayerZero OFT (for PYUSD and similar OFTs), and Wormhole (for USDT and other wrapped stablecoins) based on cost, speed, and finality. The handoff is clean: Eco delivers USDC to the user's Solana ATA, Jupiter handles the swap from there. Cross-chain liquidity protocols covers the rail set, and Solana DeFi apps covers the broader app set Jupiter sits within.
FAQ
Is Jupiter the same as Uniswap?
Functionally similar (both swap tokens), structurally different. Uniswap is itself a DEX with its own pools. Jupiter is a router that aggregates other DEXs' pools — it has no native liquidity. The closest Ethereum analog is 1inch or Matcha, not Uniswap.
Does Jupiter charge a fee?
Jupiter doesn't charge a swap fee on the spot router; the underlying DEX charges its own fee, and Jupiter passes it through. Jupiter Perps charges open/close/borrow fees that fund JLP yield.
Can I use Jupiter from outside Solana?
Yes through cross-chain bridges. Jupiter has integrated some bridge providers directly, but the simpler path is to bridge USDC to Solana via CCTP, then swap on Jupiter. Stablecoin swap aggregators compares cross-chain options.
What is JLP and should I hold it?
JLP is Jupiter Perps' liquidity pool token. Holders earn 75% of platform fees but absorb trader PnL. It's a yield-bearing basket of USDC/SOL/ETH/BTC/USDT, suitable for users who want fee yield and accept directional volatility.
How does Jupiter compare to 1inch?
Both aggregate DEX liquidity. 1inch covers Ethereum and EVM L2s; Jupiter covers Solana exclusively. The routing math is similar; the integration breadth and chain-specific optimizations are what differentiate them within their respective ecosystems.

