Skip to main content
Type: Uniswap V3 Fork | Docs: capricorn.finance

Overview

Capricorn is a Uniswap V3 fork deployed natively on Monad. It uses identical pool mechanics to Uniswap V3 (concentrated liquidity, tick-based pricing) but with a separate factory and router. Capricorn tends to have deeper liquidity for Monad-native tokens that may not have established pools on Uniswap.
Like Uniswap V3, Capricorn’s QuoterV2 is not a view function. The SDK uses simulateContract for all quote operations - do not use readContract directly.

Functions

getCapricornPools()

Returns all active Capricorn liquidity pools on Monad. Returns
FieldTypeDescription
poolAddressAddressPool contract address
token0AddressFirst token address
token1AddressSecond token address
feenumberFee tier in bps (500, 3000, 10000)
sqrtPriceX96bigintCurrent sqrt price Q64.96
liquiditybigintActive liquidity
ticknumberCurrent tick
import { getCapricornPools } from 'rampart-monad'

const pools = await getCapricornPools()
console.log(`${pools.length} Capricorn pools`)

// Find pools for a specific token
const monPools = pools.filter(p =>
  p.token0 === '0x...' || p.token1 === '0x...'
)
console.log(`MON pools: ${monPools.length}`)

getCapricornPrice()

Returns the spot price for a token pair across the best available Capricorn pool. Parameters
NameTypeDescription
tokenAAddressInput token address
tokenBAddressOutput token address
Returns number. price of tokenA denominated in tokenB.
import { getCapricornPrice } from 'rampart-monad'

const price = await getCapricornPrice(
  '0x...', // MON
  '0x...'  // USDC
)
console.log(`1 MON = ${price} USDC on Capricorn`)
import { getCapricornPrice, getUniswapPrice } from 'rampart-monad'

const [capricorn, uniswap] = await Promise.all([
  getCapricornPrice('0x...', '0x...'),
  getUniswapPrice('0x...', '0x...')
])

const spreadBps = Math.abs(capricorn - uniswap) / uniswap * 10000
if (spreadBps > 10) {
  console.log(`Arb opportunity: ${spreadBps.toFixed(1)} bps spread`)
}

Contract Addresses

ContractAddress
Factory0x6A1E0A0B03d2EC1C4A4D09FC1856F4Dba5862e7D