Skip to Content
API ReferenceDeFi Yields

DeFi Yields

getYieldsLending

APY and TVL from lending protocols. All three query parameters are required.

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

Protocol Details

ProtocolPool FormatChains
AaveAsset symbol
e.g. USDC, WETH, wstETH, WBTC, DAI
Ethereum, Polygon, Optimism, Base, Avalanche, Arbitrum
CompoundComet contract address
e.g. 0xc3d688B...
Ethereum, Polygon, Optimism, Base, Arbitrum
MorphoVault address
e.g. 0x...
Ethereum, Polygon, Optimism, Base, Avalanche, Arbitrum, BNB Chain
HyperLendToken address
e.g. 0x...
Hyperliquid

Parameters

NameRequiredDescription
chainyesChain slug
e.g. ethereum
protocolyesLending protocol
Options: aave, compound, morpho, hyperlend
poolyesAsset symbol (e.g. USDC, WETH)
e.g. USDC

Response Fields

FieldType
dataobject
resultsobject[]
chainstring
protocolstring
poolstring
supplyApynumber
borrowApynumber
tvlinteger
updatedAtstring
Try It
{
  "jsonrpc": "2.0",
  "method": "getYieldsLending",
  "params": {
    "chain": "ethereum",
    "protocol": "aave",
    "pool": "USDC"
  },
  "id": 1
}

getYieldsVaults

APY and TVL from yield aggregators and vault protocols. All three query parameters are required.

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

Protocol Details

ProtocolPool FormatChains
BeefyVault ID
e.g. aavev3-usdc, convex-fraxusdc
Ethereum, Polygon, Optimism, Base, Avalanche, Arbitrum, BNB Chain
YearnVault address
e.g. 0x...
Ethereum, Arbitrum
PendleMarket address
e.g. 0x...
Ethereum, Optimism, BNB Chain, Arbitrum, Base
HyperliquidVault address
e.g. 0x...
Hyperliquid

Parameters

NameRequiredDescription
chainyesChain slug
e.g. ethereum
protocolyesVault protocol
Options: beefy, yearn, pendle, hyperliquid
poolyesVault/pool identifier
e.g. aavev3-usdc

Response Fields

FieldType
dataobject
resultsobject[]
chainstring
protocolstring
poolstring
apynumber
tvlinteger
updatedAtstring
Try It
{
  "jsonrpc": "2.0",
  "method": "getYieldsVaults",
  "params": {
    "chain": "ethereum",
    "protocol": "beefy",
    "pool": "aavev3-usdc"
  },
  "id": 1
}

getYieldsBest

Scans all lending and vault protocols across all supported chains and returns the highest yields sorted by APY. Useful for finding the best place to deploy capital.

curl -X POST https://your-endpoint.simplystaking.xyz/v1 \
  -H "Content-Type: application/json" \
{
  "jsonrpc": "2.0",
  "method": "getYieldsBest",
  "params": {
    "token": "USDC",
    "minTvl": 1000000,
    "limit": 10
  },
  "id": 1
}

Parameters

NameRequiredDescription
tokennoFilter by token symbol
e.g. USDC
minTvlnoMinimum TVL in USD
e.g. 1000000
limitnoMax results (default 10)
e.g. 10
typenoYield type filter
Options: lending, vault, staking

Response Fields

FieldType
dataobject
resultsobject[]
chainstring
protocolstring
typestring
poolstring
apynumber
updatedAtstring
Try It
{
  "jsonrpc": "2.0",
  "method": "getYieldsBest",
  "params": {
    "token": "USDC",
    "minTvl": 1000000,
    "limit": 10
  },
  "id": 1
}

getYieldsBalance

Returns a user's balance in a specific lending or vault protocol pool. All four query parameters are required.

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

Protocol Details

ProtocolPool FormatChains
AaveAsset symbol
e.g. USDC, WETH
Ethereum, Polygon, Optimism, Base, Avalanche, Arbitrum
CompoundComet contract address
e.g. 0xc3d688B...
Ethereum, Polygon, Optimism, Base, Arbitrum
MorphoVault address
e.g. 0x...
Ethereum, Polygon, Optimism, Base, Avalanche, Arbitrum, BNB Chain
HyperLendToken address
e.g. 0x...
Hyperliquid
BeefyVault ID
e.g. aavev3-usdc
Ethereum, Polygon, Optimism, Base, Avalanche, Arbitrum, BNB Chain
YearnVault address
e.g. 0x...
Ethereum, Arbitrum
PendleMarket address
e.g. 0x...
Ethereum, Optimism, BNB Chain, Arbitrum, Base
HyperliquidVault address
e.g. 0x...
Hyperliquid

Parameters

NameRequiredDescription
chainyesChain slug
e.g. ethereum
protocolyesProtocol name
Options: aave, compound, morpho, hyperlend, beefy, yearn, pendle, hyperliquid
poolyesPool/asset identifier
e.g. USDC
addressyesWallet address to check
e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Response Fields

FieldType
dataobject
resultsobject[]
chainstring
protocolstring
poolstring
addressstring
balanceobject
USDCnumber
USDnumber
updatedAtstring
Try It
{
  "jsonrpc": "2.0",
  "method": "getYieldsBalance",
  "params": {
    "chain": "ethereum",
    "protocol": "aave",
    "pool": "USDC",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}

getYieldsPrice

Returns the current price per share in USD for a pool token. Useful for converting pool token balances to USD value.

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

Protocol Details

ProtocolPool FormatChains
AaveAsset symbol
e.g. USDC, WETH
Ethereum, Polygon, Optimism, Base, Avalanche, Arbitrum
MorphoVault address
e.g. 0x...
Ethereum, Polygon, Optimism, Base, Avalanche, Arbitrum, BNB Chain
PendleMarket address
e.g. 0x...
Ethereum, Optimism, BNB Chain, Arbitrum, Base
MidasToken name
e.g. mRe7YIELD
Ethereum

Parameters

NameRequiredDescription
chainyesChain slug
e.g. ethereum
protocolyesProtocol name
Options: aave, morpho, pendle, midas
poolyesPool/asset identifier
e.g. USDC

Response Fields

FieldType
dataobject
resultsobject[]
chainstring
protocolstring
poolstring
priceobject
USDnumber
updatedAtstring
Try It
{
  "jsonrpc": "2.0",
  "method": "getYieldsPrice",
  "params": {
    "chain": "ethereum",
    "protocol": "aave",
    "pool": "USDC"
  },
  "id": 1
}

getYieldsPendleImpliedApy

Calculates the implied APY for a user's Pendle PT position based on their entry price and time to expiry. Returns the effective exchange rate, days to expiry, and implied APY.

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

Protocol Details

ProtocolPool FormatChains
PendleMarket address
e.g. 0x7d372819...
Ethereum, Optimism, BNB Chain, Arbitrum, Base

Parameters

NameRequiredDescription
chainyesChain slug
e.g. ethereum
poolyesPendle market address
e.g. 0x7d372819240d14fb477f17b964f95f33beb4c704
addressyesUser wallet address
e.g. 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Response Fields

FieldType
dataobject
resultsobject[]
chainstring
poolstring
addressstring
effectivePtExchangeRatenumber
expiryDatestring
daysToExpiryinteger
impliedApynumber
updatedAtstring
Try It
{
  "jsonrpc": "2.0",
  "method": "getYieldsPendleImpliedApy",
  "params": {
    "chain": "ethereum",
    "pool": "0x7d372819240d14fb477f17b964f95f33beb4c704",
    "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  },
  "id": 1
}

getMorphoVaults

Returns all available Morpho vaults on a chain with basic metadata (address, name, symbol, version). Use this to discover vaults before querying detailed data.

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

Parameters

NameRequiredDescription
chainyesChain slug
e.g. ethereum

Response Fields

FieldType
dataobject
chainstring
countinteger
vaultsobject[]
addressstring
namestring
symbolstring
chainIdinteger
chainobject
idinteger
networkstring
versionstring
whitelistedboolean
Try It
{
  "jsonrpc": "2.0",
  "method": "getMorphoVaults",
  "params": {
    "chain": "ethereum"
  },
  "id": 1
}

getMorphoVaultData

Returns detailed data for specific Morpho vaults including APY, TVL, fees, and reward info. Pass up to 50 vault addresses per request.

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

Parameters

NameRequiredDescription
chainyesChain slug
e.g. ethereum
vaultsyesComma-separated vault addresses (max 50)
e.g. 0xdd0f28e19C1780eb6396170735D45153D261490d

Response Fields

FieldType
dataobject
chainstring
countinteger
vaultsobject[]
addressstring
namestring
symbolstring
chainIdinteger
totalAssetsstring
totalAssetsUsdinteger
totalSupplystring
feenumber
apynumber
netApynumber
avgApynumber
avgNetApynumber
lastUpdatedstring
Try It
{
  "jsonrpc": "2.0",
  "method": "getMorphoVaultData",
  "params": {
    "chain": "ethereum",
    "vaults": [
      "0xdd0f28e19C1780eb6396170735D45153D261490d"
    ]
  },
  "id": 1
}