Routing · Solana DEX Liquidity for Market Makers

Jupiter vs Raydium for Solana Market Making — Routing, Slippage & Liquidity Depth Compared

If you’re building a Solana market making bot or running liquidity for multiple tokens, you eventually hit the same question: do I route trades through Jupiter, hit Raydium directly, or both?

This guide breaks down how Jupiter’s aggregator and Raydium’s AMM + order book liquidity actually work, how they interact, and how to design your routing logic inside an MM engine like Solana MM Pro to get better execution instead of guessing.

Open Solana MM Pro Console
Article overview Routing · 2025
  • Jupiter = Solana’s DEX aggregator & router.
  • Raydium = AMM + order book liquidity hub.
  • How to pick routes for MM bots & liquidity desks.

Related guides: Solana Volume Bots, Pump.fun MM Bots, Solana MM Bot Guide.

1. Jupiter vs Raydium: what roles do they actually play?

The most important thing to understand is that Jupiter and Raydium are not the same category, even if people casually compare them as “which DEX is better”.

Jupiter – DEX aggregator & router

Jupiter is a DEX aggregator on Solana – it doesn’t hold its own liquidity pools; instead it routes trades across multiple DEXes (Raydium, Orca, Meteora, private AMMs, etc.) to find the best execution path.

  • Scans Solana’s DEX landscape for the best price / lowest slippage for a given pair.
  • Handles a significant share of Solana’s DEX volume, with some reports putting it around or above half of DEX routing.
  • Offers higher-level features like limit orders, DCA and perps as well.

Raydium – AMM + order book liquidity hub

Raydium is one of Solana’s flagship DEXes and AMMs, combining AMM pools with OpenBook/Serum-style order book depth, making it a core liquidity venue on Solana.

  • Holds some of the deepest liquidity in the Solana DEX ecosystem.
  • Many trades routed through Jupiter end up being settled on Raydium pools.
  • Supports both classic AMM and concentrated liquidity (CLMM) pools for tighter depth.

In other words: Raydium is one of the main places where liquidity lives; Jupiter is the smart router that decides how to reach that liquidity (and others) with minimal slippage.

2. Routing & slippage: Jupiter’s path vs direct Raydium swaps

As a market maker or bot designer, your first concern is usually: where do I get the best fill?

Jupiter’s latest routing engines (like Iris for Jupiter Ultra) are built to compute the best route across Solana’s diverse liquidity landscape – splitting orders across multiple pools, AMMs and even private MM venues when that improves execution.

Using Jupiter for routing

  • You ask Jupiter for a quote; it inspects pools on Raydium, Orca, Meteora, etc.
  • It returns a route that may include one or multiple hops and multiple AMMs.
  • Your MM engine signs a single versioned swap transaction and sends it.
  • You benefit from aggregated liquidity and auto best-price routing by default.

Going direct to Raydium

  • You hit a specific pool (e.g. RAY/USDC CLMM) with direct AMM math.
  • You can sometimes optimize gas + latency for high-frequency or very specific pairs.
  • You’re betting that this pool alone is good enough for your size.
  • You maintain more control but lose Jupiter’s cross-venue routing intelligence.

In most retail and mid-size MM cases, Jupiter’s routing wins on average slippage and execution cost. For very specialized strategies (e.g. concentrated liquidity management on a single Raydium CLMM), you may still choose to go direct.

3. Liquidity depth: why Raydium still matters even in a Jupiter world

Multiple third-party analyses still show Raydium as one of the most liquid and frequently used DEXes on Solana, with a significant share of DEX volume and TVL.

In fact, some reports estimate that over half of trades routed through Jupiter end up on Raydium – in other words, Jupiter often chooses Raydium as the best underlying venue for execution.

Raydium AMM pools

Raydium’s standard AMM pools give you classic x*y=k liquidity with deep TVL across many core pairs, especially SOL/USDC and major SPL tokens.

Order book integration

Raydium integrates with Solana’s order book protocols like OpenBook/Serum to combine AMM and CLOB depth, giving tighter spreads and improved price discovery for larger trades.

Concentrated liquidity (CLMM)

Raydium’s CLMM design lets LPs concentrate liquidity around the current price, boosting depth and reducing price impact for trades in that band – which is ideal for MM strategies.

For a Solana MM engine, the takeaway is simple: Raydium is where a lot of the real liquidity lives; Jupiter is the thing that routes you into (and around) that liquidity most efficiently.

4. Market maker’s perspective: when to prefer Jupiter vs direct Raydium

From a pure MM / bot operator point of view, Jupiter and Raydium are tools inside your routing layer. The right choice depends on:

  • The pair (blue-chip vs micro-cap).
  • Your trade size and frequency.
  • Whether you’re primarily a liquidity provider or a taker.

Use Jupiter routing when…

  • You’re a taker-focused MM, trading across many SPL pairs.
  • You want auto-best route across Raydium, Orca, Meteora, private AMMs, etc.
  • Your size is medium and you want to minimize slippage without hand-tuning every pool.
  • You’re building a multi-DEX MM engine and don’t want to implement each AMM manually.

Go direct to Raydium when…

  • You are also providing liquidity in specific pools and want tight integration.
  • You’re managing CLMM positions and need custom logic around narrow price ranges.
  • You have pair-specific alpha and want lower latency / simpler transactions.
  • You’re happy to manually define which Raydium pools the bot should use.

For most teams that aren’t running a full-blown prop desk, the sweet spot is: Jupiter for routing + Raydium as a major underlying liquidity venue.

5. How a Solana MM engine should configure Jupiter vs Raydium routing

In a per-client MM console like MM Pro, routing is just another strategy parameter: router = auto | jup | pump. The “auto” option effectively means: “Jupiter first, with fallback to Pump.fun when appropriate”.

Recommended defaults for DEX pairs

  • router = auto for most Raydium / Orca / Meteora pairs.
  • Let Jupiter handle best-path selection and route splitting.
  • Monitor executed venue share – you’ll often see a lot of fills on Raydium anyway.

Tuning for specialist strategies

  • For CLMM LP + MM combos, you can expose a “raydium-only” router in your engine.
  • For pure Pump.fun phase, use router = pump with SOL quote.
  • For structured volume support, see Solana Volume Bots.

A unified console lets you define this per strategy: some strategies are Jupiter-first taker strategies, others are Raydium-native LP/CLMM strategies, and some are Pump.fun-only for early launch support. All of them can be visible in the same MM Pro-style dashboard.

6. Slippage, price impact & spread capture: what matters for MM bots

For a market maker, it’s not just about “best price” – it’s about reproducible spread capture and controlled inventory. Jupiter and Raydium contribute differently:

Jupiter’s contribution

  • Minimizes worst-case slippage for a given order size by scanning multiple venues.
  • Finds routes that may split an order across AMMs and order books automatically.
  • Makes it easier for bots to avoid obviously bad routes under high volatility.

Raydium’s contribution

  • Provides deep base liquidity for many top pairs, especially SOL/USDC and majors.
  • CLMM pools concentrate liquidity around current price to reduce price impact.
  • Integration with order books allows for tighter spreads and better high-volume execution.

For most MM bots, the simplest mental model is: “Use Jupiter to navigate, rely on Raydium (and others) for depth”. Your engine doesn’t have to “pick a winner” – it just needs to configure the router to recognize different regimes.

7. Example: designing a Jupiter/Raydium-aware Solana MM strategy

Suppose you’re running a Solana MM engine for a token that trades on a Raydium pool and gets routed via Jupiter. A clean setup might look like:

  1. Per-client MM wallet: use a dedicated client in your console for this token, funded with SOL + the token.
  2. router = auto: let Jupiter route trades, but track where fills are actually landing (likely mostly Raydium).
  3. spread & sizing: set spread in bps, base size in quote, and buy/sell % bands as you would for any DEX pair.
  4. liquidity awareness: monitor pool depth and slippage; for very deep Raydium CLMMs, you may test direct routing vs Jupiter.
  5. volume behavior: combine this with controlled volume profiles (see Solana Volume Bots) to avoid wash-like patterns.

The point is not “Jupiter vs Raydium” as if they were enemies. In practice, a serious MM stack uses Jupiter’s router as the front door, and Raydium + other AMMs as the execution venues.

8. Next steps: building a full Solana MM routing stack

You now have a realistic picture of how Jupiter and Raydium interact for Solana market making, and when MM bots should rely on routing vs direct pool access.

To go deeper and turn this into an actual, per-client MM operation, move through the rest of the cluster: