Skip to Content
API ReferenceDeFi Positions

DeFi Positions

getAaveV3UserPositions

Returns a user's full Aave V3 position: collateral assets, debt, health factor, net worth, and liquidation status. Reads directly from on-chain Pool + ProtocolDataProvider contracts.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getAaveV3UserPositions",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesNetwork slug
addressyesWallet address
e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Response Fields

FieldType
dataobject
chainstring
addressstring
totalCollateralUsdnumber
totalDebtUsdinteger
netWorthUsdnumber
healthFactornumber
ltvnumber
reservesobject[]
symbolstring
balancestring
balanceUsdinteger
isCollateralboolean

Supported Networks

EthereumPolygonArbitrumOptimismBaseAvalancheBNB ChainGnosis
Try It
{
  "jsonrpc": "2.0",
  "method": "getAaveV3UserPositions",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}

getAaveV2UserPositions

Returns a user's Aave V2 position: collateral assets, debt, health factor, and liquidation threshold. Important: fields named totalCollateralUsd/totalDebtUsd are actually denominated in ETH (not USD) - Aave V2 returns ETH-based values.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getAaveV2UserPositions",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesNetwork slug
addressyesWallet address
e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Response Fields

FieldType
dataobject
chainstring
addressstring
totalCollateralUsdnumber
totalDebtUsdnumber
healthFactornumber
ltvnumber
suppliesobject[]
symbolstring
addressstring
balancestring
borrowsobject[]
symbolstring
addressstring
balancestring

Supported Networks

EthereumPolygonAvalanche
Try It
{
  "jsonrpc": "2.0",
  "method": "getAaveV2UserPositions",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}

getCompoundV3UserPositions

Returns a user's Compound V3 (Comet) positions across all markets on a chain. Includes supply/borrow balances, collateral assets, USD values, and liquidation status.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getCompoundV3UserPositions",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}
Markets
USDCWETHUSDTUSDSwstETHWBTCAEROUSDe

Parameters

NameRequiredDescription
chainyesNetwork slug
addressyesWallet address
e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Response Fields

FieldType
dataobject
chainstring
addressstring
marketsobject[]
marketNamestring
marketAddressstring
baseTokenobject
symbolstring
addressstring
decimalsinteger
supplyBalancestring
borrowBalancestring
collateralarray
isLiquidatableboolean

Supported Networks

EthereumPolygonArbitrumOptimismBaseLinea
Try It
{
  "jsonrpc": "2.0",
  "method": "getCompoundV3UserPositions",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}

getCompoundV2UserPositions

Returns a user's Compound V2 positions across cToken markets. Note: Compound V2 is deprecated (borrows/mints paused Dec 2025) - users may still have existing positions.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getCompoundV2UserPositions",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}
Markets
cETHcUSDCcUSDTcDAIcWBTC2

Parameters

NameRequiredDescription
chainyesNetwork slug
addressyesWallet address
e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Response Fields

FieldType
dataobject
chainstring
addressstring
marketsobject[]
cTokenSymbolstring
cTokenAddressstring
underlyingSymbolstring
underlyingAddressstring
underlyingDecimalsinteger
supplyBalancestring
borrowBalancestring

Supported Networks

Ethereum
Try It
{
  "jsonrpc": "2.0",
  "method": "getCompoundV2UserPositions",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}

getMorphoUserPositions

Returns a user's Morpho Blue positions across hardcoded markets. Shows supply/borrow share-to-asset conversions, collateral deposits, and market parameters (LLTV, oracle). Only detects positions in the listed markets.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getMorphoUserPositions",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}
Ethereum Markets
WETH/USDCwstETH/USDCwstETH/WETHWBTC/USDC
Base Markets
WETH/USDCcbETH/USDC

Parameters

NameRequiredDescription
chainyesNetwork slug
addressyesWallet address
e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Response Fields

FieldType
dataobject
chainstring
addressstring
marketsobject[]
marketIdstring
loanTokenobject
symbolstring
addressstring
decimalsinteger
collateralTokenobject
symbolstring
addressstring
decimalsinteger
supplySharesstring
supplyAssetsstring
borrowSharesstring
borrowAssetsstring
collateralstring
lltvinteger

Supported Networks

EthereumBase
Try It
{
  "jsonrpc": "2.0",
  "method": "getMorphoUserPositions",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}

getLidoUserPositions

Returns stETH and wstETH balances with ETH-equivalent values and live exchange rates. Full stETH + wstETH data on Ethereum; wstETH balance only on L2s (bridged token). Note: stakingApr is hardcoded at 3.5%.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getLidoUserPositions",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesNetwork slug
addressyesWallet address
e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Response Fields

FieldType
dataobject
chainstring
addressstring
stETHobject
balancestring
balanceEthstring
wstETHobject
balancestring
balanceStEthstring
balanceEthstring
exchangeRatesobject
stEthPerWstEthstring
wstEthPerStEthstring
totalEthEquivalentstring
stakingAprnumber

Supported Networks

EthereumPolygonArbitrumOptimismBaseGnosisLinea
Try It
{
  "jsonrpc": "2.0",
  "method": "getLidoUserPositions",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}

getCurvePools

Returns data for 3 hardcoded Curve pools only. Does not discover pools dynamically.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getCurvePools",
  "params": {
    "chain": "ethereum"
  },
  "id": 1
}
Pools
3pool (DAI/USDC/USDT)stETH/ETHTricrypto2 (USDT/WBTC/WETH)

Parameters

NameRequiredDescription
chainyesNetwork slug

Response Fields

FieldType
dataobject
chainstring
poolsobject[]
namestring
addressstring
virtualPricestring
coinsobject[]
addressstring
balancestring
amplificationstring
feestring

Supported Networks

Ethereum
Try It
{
  "jsonrpc": "2.0",
  "method": "getCurvePools",
  "params": {
    "chain": "ethereum"
  },
  "id": 1
}

getCurveLlamaLendMarkets

Returns all Curve LlamaLend (OneWay Lending) vault markets on a chain. Shows vault name, symbol, underlying asset, total deposits and shares.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getCurveLlamaLendMarkets",
  "params": {
    "chain": "ethereum"
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesNetwork slug

Response Fields

FieldType
dataobject
chainstring
marketsobject[]
vaultAddressstring
namestring
symbolstring
assetAddressstring
totalAssetsstring
totalSupplystring

Supported Networks

EthereumArbitrumOptimism
Try It
{
  "jsonrpc": "2.0",
  "method": "getCurveLlamaLendMarkets",
  "params": {
    "chain": "ethereum"
  },
  "id": 1
}

getCurveLlamaLend

Returns a user's Curve LlamaLend positions across all OneWay Lending vaults. Shows vault shares and their equivalent underlying asset value.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getCurveLlamaLend",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesNetwork slug
addressyesWallet address
e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Response Fields

FieldType
dataobject
chainstring
addressstring
marketsobject[]
vaultAddressstring
namestring
symbolstring
assetAddressstring
totalAssetsstring
totalSupplystring
positionsobject[]
vaultAddressstring
namestring
sharesstring
assetsstring

Supported Networks

EthereumArbitrumOptimism
Try It
{
  "jsonrpc": "2.0",
  "method": "getCurveLlamaLend",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}

getPendleV2Info

Returns Pendle V2 router and routerStatic contract addresses for a chain only - does NOT return user positions or market data.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getPendleV2Info",
  "params": {
    "chain": "ethereum"
  },
  "id": 1
}

Parameters

NameRequiredDescription
chainyesNetwork slug

Response Fields

FieldType
dataobject
chainstring
routerAddressstring
routerStaticAddressstring
supportedChainsstring[]

Supported Networks

EthereumArbitrumBNB ChainOptimismBaseHyperliquid
Try It
{
  "jsonrpc": "2.0",
  "method": "getPendleV2Info",
  "params": {
    "chain": "ethereum"
  },
  "id": 1
}

getDefiSummary

Aggregates positions across 7 protocols in parallel. Returns per-protocol status (ok/error/unsupported) with positions or error details.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getDefiSummary",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}
Included
Aave V2Aave V3Compound V2Compound V3Morpho BlueLidoCurve LlamaLend
Not Included
Uniswap LPCurve LPPendle

Parameters

NameRequiredDescription
chainyesNetwork slug
addressyesWallet address
e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Response Fields

FieldType
dataobject
addressstring
chainstring
timestampstring
protocolsobject[]
protocolstring
statusstring
dataobject
totalCollateralUsdnumber

Supported Networks

EthereumPolygonBNB ChainOptimismBaseAvalancheArbitrumGnosisMoonbeamLineaHyperliquid
Try It
{
  "jsonrpc": "2.0",
  "method": "getDefiSummary",
  "params": {
    "chain": "ethereum",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}