Skip to main content
TVL: ~$58.9M | Type: Multi-Collateral Lending | Docs: docs.curvance.com

Overview

Curvance is the largest lending protocol on Monad by TVL. It supports multi-collateral positions, meaning users can post several different assets as collateral simultaneously. Each market has its own collateral factor and independent supply/borrow APY.

Functions

getCurvanceMarkets()

Returns all active Curvance lending markets with their current rates and liquidity. Returns CurvanceMarket[]
FieldTypeDescription
addressstringMarket contract address
assetstringUnderlying token address
collateralFactornumberMax LTV for this asset (e.g. 0.75 = 75%)
supplyAPYnumberCurrent supply APY as a decimal
borrowAPYnumberCurrent borrow APY as a decimal
totalSupplybigintTotal supplied liquidity (raw)
totalBorrowbigintTotal borrowed amount (raw)
const markets = await sdk.getCurvanceMarkets()
// → [
//   { address: '0x...', asset: '0x...', collateralFactor: 0.80, supplyAPY: 0.052, borrowAPY: 0.088, protocol: 'curvance' },
//   { address: '0x...', asset: '0x...', collateralFactor: 0.65, supplyAPY: 0.031, borrowAPY: 0.059, protocol: 'curvance' },
// ]

getCurvanceTVL()

Returns total value locked across all Curvance markets in USD. Returns number
const tvl = await sdk.getCurvanceTVL()
// → 58900000

getCurvanceMarket(address)

Returns data for a single Curvance market by its contract address.
ParameterTypeDescription
addressstringMarket contract address
Returns CurvanceMarket
const market = await sdk.getCurvanceMarket('0x...')
// → { address: '0x...', asset: '0x...', collateralFactor: 0.80, supplyAPY: 0.052, borrowAPY: 0.088 }

Usage Example

import { Rampart } from 'rampart-monad'

const sdk = new Rampart()

const markets = await sdk.getCurvanceMarkets()

// Find best supply rate
const bestSupply = markets.sort((a, b) => b.supplyAPY - a.supplyAPY)[0]
console.log(`Best Curvance supply: ${(bestSupply.supplyAPY * 100).toFixed(2)}%`)

// Find highest collateral factor (most capital efficient)
const highestLTV = markets.sort((a, b) => b.collateralFactor - a.collateralFactor)[0]
console.log(`Highest LTV: ${(highestLTV.collateralFactor * 100).toFixed(0)}% for ${highestLTV.asset}`)

Contract Addresses

ContractAddress
UnitrollerProxy0xe9eD4e8c5c37a4D36c3C52EB25D5Db67Dd6FD12b