Skip to main content
This page covers how Metis decides which markets to include in routing. Markets follow one of two routing types: Instant routing for new markets on supported DEXes, and Normal routing, the default, with a periodic liquidity check.

Routing types

Instant routing

New markets created on supported DEXes are listed automatically. During a grace period, the liquidity criteria do not apply. The grace period is determined by token age, not market age. A new pool created for an existing token does not reset the grace period. After the grace period ends, the liquidity criteria apply (see Liquidity criteria). For bonding curves: if the token does not graduate before the grace period ends, the market is removed from routing. Once the bonding curve graduates to a new market, the graduated market is added to routing.
  • Meteora Dynamic Bonding Curve
  • Meteora Dynamic AMM
  • Meteora DAMM V2
  • Meteora DLMM
  • Raydium
  • Raydium CLMM
  • Raydium CPMM
  • Raydium Launchlab
  • Pump.fun AMM
  • Pump.fun
  • Fluxbeam
  • Whirlpool
  • Moonshot
  • Virtuals
  • Boop.fun

Normal routing

The default for all markets. Every 30 minutes, the routing engine re-checks the liquidity of each market. Markets that fail the check are removed from routing.

Liquidity criteria

A market must pass one of the following to remain routable.

1. Less than 30% price difference on a $500 round-trip

Using a benchmark position size of $500, the price difference between buying $500 worth and selling it back on the same market must be less than 30%.
If the price difference exceeds 30%, the market does not have enough liquidity for the benchmark position size.

2. Less than 20% price impact comparing $1000 vs $500 buys

If the round-trip test does not pass, the engine compares the price per token from a $1000 buy against the price per token from a $500 buy. If the price impact between the two buys exceeds 20%, the market is considered illiquid.
You can check your pool’s liquidity directly via the UI of the DEX it was created on.

What integrators see when a market is removed

These criteria apply to Metis. When a market is removed from Metis routing:
  • /swap/v1/quote returns NO_ROUTES_FOUND
  • /swap/v2/build returns No routes found
  • /swap/v2/order may still return a quote via another router (JupiterZ, OKX, or Dflow)
If a token quotes on jup.ag but /swap/v1/quote returns NO_ROUTES_FOUND, the route is most likely coming from a non-Metis router. Use /swap/v2/order for Meta-Aggregator coverage across all routers.