Skip to main content
Rampart integrates 14 DEX protocols on Monad Mainnet - from orderbook AMMs and concentrated liquidity pools to DEX aggregators and on-chain orderbooks.

Supported DEXes

ProtocolTypeEst. TVLStatus
KuruOrderbook AMM~$5MLive
Uniswap V3Concentrated Liquidity~$10MLive
Uniswap V4V4 Hooks AMM~$2MLive
PancakeSwapV3 Concentrated Liquidity~$8MLive
CloberOn-chain Orderbook~$1MLive
iZiSwapiZi Concentrated Liquidity~$1MLive
CapricornUniswap V3 Fork~$1MLive
KyberSwapDEX Aggregator~$300KLive
SwaapMarket-Maker DEX~$500KLive
WooFiPMM (Proactive Market Maker)~$1MLive
LFJ (Trader Joe)DLMM (Liquidity Book)~$2MLive
OpenOceanDEX Aggregator~$200KLive
BeanDLMM DEX~$500KLive

DEX Categories

Orderbook DEXes

Kuru and Clober provide on-chain orderbook mechanics - limit orders, bid/ask spreads, and price-level depth. Best for precision trading and arbitrage strategies.

Concentrated Liquidity AMMs

Uniswap V3, Uniswap V4, PancakeSwap, iZiSwap, and Capricorn allow liquidity providers to concentrate capital in specific price ranges, improving capital efficiency vs. traditional AMMs.

DLMM (Discrete Liquidity Market Maker)

LFJ and Bean implement the Liquidity Book model - discrete price bins instead of continuous curves, enabling zero-slippage trades within a bin.

PMM / Market-Maker DEXes

WooFi uses a Proactive Market Maker model with off-chain price feeds. Swaap uses professional market-maker algorithms for tighter spreads.

DEX Aggregators

KyberSwap and OpenOcean route orders across multiple DEXes to find the best execution price. Useful when building swap UIs or comparing prices across the ecosystem.

Quick Start

import {
  getKuruPools,
  getUniswapPools,
  getPancakeSwapPools,
  compareWithKuru
} from 'rampart-monad'

// Get all pools from the two largest DEXes
const [kuruPools, uniPools] = await Promise.all([
  getKuruPools(),
  getUniswapPools()
])

console.log(`Kuru: ${kuruPools.length} pools`)
console.log(`Uniswap V3: ${uniPools.length} pools`)

// Find best MON/USDC price across Kuru vs Uniswap
const comparison = await compareWithKuru(
  '0x...', // tokenA (MON)
  '0x...', // tokenB (USDC)
  1_000_000n // 1 USDC
)
console.log(comparison)

Architecture Note

All DEX functions are standalone - import only what you need. They use publicClient from chain.ts under the hood, which connects to Monad Mainnet at https://rpc.monad.xyz (chain ID 143).
Uniswap V3, V4, and Capricorn use simulateContract instead of readContract for QuoterV2 calls, as Monad’s RPC does not support eth_call with view overrides for non-view functions.