Skip to main content
NOTEIf you are an exchange or market maker and want to participate in our routing system, please refer to our DEX Integration and RFQ Integration guides.

Overview

Jupiter’s routing system consists of multiple routing engines working together to provide the best possible execution price and success rate for swaps on Solana. The architecture is hierarchical, with Juno serving as the top-level liquidity aggregator that combines multiple routing sources, including Jupiter’s proprietary engines (Iris and JupiterZ) and third-party liquidity providers.
EngineDescription
JunoLatest liquidity aggregator that combines multiple sources (Iris, JupiterZ, DFlow, OKX) with self-learning mechanisms. Powers Ultra Swap and accessible via Ultra Swap API.
IrisAdvanced routing engine for Jupiter Ultra, delivering best execution across Solana DEXes through multi-hop, multi-split swaps.
JupiterZRFQ system connecting users with market makers, creating competitive quotes for top token pairs.
MetisLow-level routing engine providing granular control over swap instructions for developers needing maximum flexibility.

Juno Liquidity Engine

Juno is Jupiter’s latest liquidity engine, it is built with the combined learnings from Iris and JupiterZ, with one single objective - to ensure the best possible execution price and success rate across all engines and liquidity sources. Juno employs a sophisticated self-learning mechanism to maintain high availability of competitive routes while automatically sidelining underperforming or potentially problematic quotes. Juno will be incrementally introducing new third-party liquidity sources and a continual effort to improve Iris and JupiterZ routing capabilities.
Multi-liquidity sourcesIntegrates third-party liquidity sources and Jupiter’s proprietary routing engines to ensure best possible rates. Currently, Juno consists of Iris, JupiterZ, Hashflow, DFlow and more in the pipeline.
Self-learningAutomatically detects and sidelines underperforming or problematic sources, while continuously learning to provide competitive quotes.
Continuous optimizationsBy integrating external liquidity sources directly, Juno creates a competitive environment that drives continuous improvement across all routing engines. This approach ensures users consistently receive optimal execution rates while providing valuable performance data to enhance both Iris and JupiterZ routing capabilities.
Juno is directly powering the Ultra Swap on Jupiter frontend (jup.ag) and is also accessible via Ultra Swap API: The Jupiter Ultra Swap API is the only API you ever need to experience or build the best trading experience on Solana - Jupiter handles all the complexities such as RPCs, slippage, broadcast method and landing rates, all while accessing the best liquidity available through Juno.

Jupiter Iris Routing Engine

Iris is Jupiter’s latest and most advanced routing engine, purpose-built for Jupiter Ultra to deliver the best execution price across Solana’s diverse liquidity landscape. This new engine reflects our deep learnings from previous iterations and is at the core of Jupiter Ultra’s unmatched execution performance.

Iris is our new router exclusive to Jupiter Ultra, our Ultra V3 blog post discusses the improvements and benefits of Iris.
Behind Iris is a proven history of innovation: Jupiter’s original DEX aggregation engine, Metis v1 (launched 2023), set the standard as a reliable, general-purpose liquidity engine for Solana. Successive updates such as Metis v1.5 (April 2025) were introduced for Ultra, and these lessons and ongoing experiments directly informed the design and capabilities of Iris, making it the next evolutionary step in Jupiter’s routing technology.
Overcoming SVM constraintsEmploys a sophisticated and efficient transaction construction to enable multi-hop-multi-split swaps.
Integrating diverse DEXesUtilizes a standardized interface to integrate with a wide range of DEXes, abstracting away the complexities of each individual DEX.
Optimizing for price and executionEnsuring the quoted price is as close as the actual price, while also ensuring the transaction is executed successfully.
Accessing markets immediately and safelyEmploys necessary infrastructure powered by a network of robust RPC nodes to include markets and checks their liquidity in real-time.
Market RevivalDynamically re-indexes markets to enable tradability for all tokens.

JupiterZ (RFQ) Routing Engine

Since its launch in 2024, JupiterZ has emerged as a transformative addition to Jupiter’s routing capabilities. JupiterZ functions as an RFQ (Request For Quote) system that connects users directly with market makers, enabling market makers to provide competitive quotes for top token pairs. This ensures users receive the best possible execution price available from both on-chain and off-chain liquidity at the moment they wish to trade.
Intent-based architectureEmploys an intent-based system where users express their desired trade and market makers compete to fulfill it.
Integrating diverse market makersUtilizes a standardized interface to integrate with multiple market makers, abstracting away the complexities of each liquidity provider.
Optimizing for price and executionCreates a competitive environment where market makers compete to provide the best quotes, while ensuring the transaction is executed successfully and efficiently.
Real-time quote aggregationEmploys a versatile proxy to collect and compare quotes from multiple routing sources (such as Jupiter Iris and JupiterZ) in real-time.
Gasless transactionsEnables users to execute trades without incurring transaction fees, providing a seamless and cost-effective trading experience.
JupiterZ has been handling a large portion of trades on the Jupiter frontend (jup.ag) - which has demonstrated JupiterZ’s reliability and effectiveness in providing competitive quotes and successful trade execution. Currently, JupiterZ is accessible through the Ultra Swap API: A streamlined interface that makes it simple for developers and applications to tap into Iris, JupiterZ and other routing sources. For more information about JupiterZ, please refer to our RFQ Integration guide.

Metis Routing Engine

Metis is Jupiter’s original, low-level routing engine designed for maximum flexibility, transparency, and composability. Unlike Jupiter Ultra and its Iris engine, which focus on end-to-end execution and abstraction, Metis exposes granular control over raw swap instructions, making it ideal for developers, advanced integrators, and builders who need to fine-tune every aspect such as adding custom instructions, CPI, transaction execution and more.

Metis is now an independent public good, no longer coupled to Jupiter or Ultra, and is maintained as a toolkit for the ecosystem.Though Jupiter continues to provide access to a hosted Metis API for developers.
Metis can be accessed either via the Jupiter-hosted Metis Swap API at this section of the docs, or by running your own self-hosted binary (requires a binary key and 10,000 staked JUP) at metis.builders.