from compass_api_sdk import CompassAPI, models
with CompassAPI(
api_key_auth="<YOUR_API_KEY_HERE>",
) as compass_api:
res = compass_api.morpho.user_position(chain=models.MorphoUserPositionChain.BASE_MAINNET, user_address="0x81d310Eb515E05EB26322e2DeDE9e75b754885A4")
# Handle response
print(res)
{
"state": {
"vaultsPnlUsd": "<string>",
"vaultsAssetsUsd": "<string>",
"marketsPnlUsd": "<string>",
"marketsBorrowAssetsUsd": "<string>",
"marketsCollateralUsd": "<string>",
"marketsSupplyAssetsUsd": "<string>"
},
"vaultPositions": [
{
"id": "<string>",
"state": {
"pnlUsd": "<string>",
"assets": "<string>",
"assetsUsd": "<string>",
"shares": "<string>"
},
"vault": {
"address": "<string>",
"name": "<string>",
"symbol": "<string>",
"whitelisted": true,
"asset": {
"name": "<string>",
"symbol": "<string>",
"address": "<string>",
"decimals": 123,
"priceUsd": "<string>",
"logoURI": "<string>"
},
"dailyApys": {
"apy": "<string>",
"netApy": "<string>"
},
"weeklyApys": {
"apy": "<string>",
"netApy": "<string>"
},
"monthlyApys": {
"apy": "<string>",
"netApy": "<string>"
}
}
}
],
"marketPositions": [
{
"market": {
"uniqueKey": "<string>"
},
"healthFactor": "<string>",
"priceVariationToLiquidationPrice": "<string>",
"state": {
"pnlUsd": "<string>",
"borrowAssets": "<string>",
"borrowShares": "<string>",
"borrowAssetsUsd": "<string>",
"collateral": "<string>",
"collateralUsd": "<string>",
"supplyAssets": "<string>",
"supplyShares": "<string>",
"supplyAssetsUsd": "<string>"
}
}
]
}
Check user’s overall position across the entire Morpho ecosystem.
Inlcuding all vault and market position metrics and relavant metadata of said vaults and markets.
from compass_api_sdk import CompassAPI, models
with CompassAPI(
api_key_auth="<YOUR_API_KEY_HERE>",
) as compass_api:
res = compass_api.morpho.user_position(chain=models.MorphoUserPositionChain.BASE_MAINNET, user_address="0x81d310Eb515E05EB26322e2DeDE9e75b754885A4")
# Handle response
print(res)
{
"state": {
"vaultsPnlUsd": "<string>",
"vaultsAssetsUsd": "<string>",
"marketsPnlUsd": "<string>",
"marketsBorrowAssetsUsd": "<string>",
"marketsCollateralUsd": "<string>",
"marketsSupplyAssetsUsd": "<string>"
},
"vaultPositions": [
{
"id": "<string>",
"state": {
"pnlUsd": "<string>",
"assets": "<string>",
"assetsUsd": "<string>",
"shares": "<string>"
},
"vault": {
"address": "<string>",
"name": "<string>",
"symbol": "<string>",
"whitelisted": true,
"asset": {
"name": "<string>",
"symbol": "<string>",
"address": "<string>",
"decimals": 123,
"priceUsd": "<string>",
"logoURI": "<string>"
},
"dailyApys": {
"apy": "<string>",
"netApy": "<string>"
},
"weeklyApys": {
"apy": "<string>",
"netApy": "<string>"
},
"monthlyApys": {
"apy": "<string>",
"netApy": "<string>"
}
}
}
],
"marketPositions": [
{
"market": {
"uniqueKey": "<string>"
},
"healthFactor": "<string>",
"priceVariationToLiquidationPrice": "<string>",
"state": {
"pnlUsd": "<string>",
"borrowAssets": "<string>",
"borrowShares": "<string>",
"borrowAssetsUsd": "<string>",
"collateral": "<string>",
"collateralUsd": "<string>",
"supplyAssets": "<string>",
"supplyShares": "<string>",
"supplyAssetsUsd": "<string>"
}
}
]
}
arbitrum:mainnet
, base:mainnet
, ethereum:mainnet
The user wallet address of the desired user position.
Successful Response
The response is of type object
.
Was this page helpful?