Morpho Blue is a lending protocol with two position types: vaults (curated lending strategies) and markets (isolated lending/borrowing pools). The API returns V1 (MetaMorpho) vaults, V2 vaults, and direct market positions.
Supported chains
Chain ID Network 1 Ethereum 10 Optimism 137 Polygon 8453 Base 42161 Arbitrum
Position types
Type identifier Description Key fields morpho-vault-v1MetaMorpho V1 vault deposit shares, assets, assetsUsd, apy, vaultMetricsmorpho-vault-v2Morpho V2 vault deposit shares, assets, assetsUsd, apy, vaultMetricsmorpho-marketDirect market position supply, borrow, collateral, healthFactor, marketMetrics
walletPositions example
query {
walletPositions ( inputs : [
{ protocol : "morpho" , chainId : 1 , walletAddress : "0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6" }
]) {
data {
... on MorphoWalletPositions {
protocol
walletAddress
chainId
vaultV1Positions {
type vaultAddress vaultName vaultSymbol
shares assets assetsUsd apy
underlyingAsset { address symbol decimals }
vaultMetrics { totalAssets totalAssetsUsd totalSupply }
}
vaultV2Positions {
type vaultAddress vaultName vaultSymbol
shares assets assetsUsd apy
underlyingAsset { address symbol decimals }
vaultMetrics { totalAssets totalAssetsUsd totalSupply }
}
marketPositions {
type marketId
loanAsset { address symbol decimals }
collateralAsset { address symbol decimals }
supply { assets assetsUsd }
borrow { assets assetsUsd }
collateral { assets assetsUsd }
healthFactor
marketMetrics { supplyApy borrowApy netSupplyApy netBorrowApy lltv utilization }
}
}
}
errors { protocol chainId walletAddress error { code message retryable } }
}
}
poolDetails example
Morpho supports two pool types. The API auto-detects based on address length:
42-character hex address → vault pool
66-character hex unique key → market pool
Vault pool query
Vault pool parsed data
query {
poolDetails ( inputs : [
{ protocol : "morpho" , chainId : 1 , poolAddress : "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb" }
]) {
data { protocol chainId poolAddress data }
errors { protocol chainId poolAddress error { code message retryable } }
}
}
Notes
healthFactor on market positions is null when the position has no debt. A value below 1.0 means the position is liquidatable.
APY values are decimals (e.g., 0.0685 = 6.85%)
shares and assets are string-encoded BigInt values to avoid floating-point precision loss
netSupplyApy and netBorrowApy include token reward incentives
lltv (liquidation loan-to-value) is a decimal (e.g., 0.86 = 86%)