Positions End-points
This section provides all the needed information about how to request the data to the User DeFi Positions API
getUserDeFiHistory
Get all DeFi historical information (active open positions) for a specific user
GET
https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositions/all/{userAddress}
Path Parameters
[
{
"chain": "string",
"logo": "string",
"name": "string",
"portfolio": [
{
"detail": {
"borrow": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"rewards": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"supply": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
]
},
"statistic": {
"navUSD": 0,
"totalDebtUSD": 0,
"totalSupplyUSD": 0
},
"yieldAndPnl": [
{
"address": "string",
"deFiEvents": [
{
"balances": [
{
"balance": 0,
"balanceUSD": 0,
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenLogo": "string",
"tokenName": "string",
"tokenSymbol": "string"
}
],
"eventType": "string",
"id": "string",
"position": {
"active": true,
"fees": [
{
"fee": 0,
"feeUSD": 0
}
],
"pnlUSD": 0,
"position": {
"balance": 0
},
"positionYield": {
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
},
"yieldUSD": 0,
"yields": [
{
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
}
]
},
"protocol": "string",
"timestamp": 0
}
],
"decimals": 0,
"name": "string",
"pnlUSD": 0,
"symbol": "string",
"txCount": 0,
"txFeeUSD": 0,
"yieldUSD": 0
}
]
}
],
"site": "string"
}
]
{
// Response
}
{
// Response
}
{
// Response
}
curl -X GET --header 'Accept: application/json'
'https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositions/all/{userAddress}'
getUserDeFiHistoryWithPnl
Get all DeFi historical information (both active open and past closed positions) for a specific user (including PNL)
GET
https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositionsWithPnl/all/userAddress
Time-travelling possible: get a snapshot of the DeFi position info & status at a past date, by using the timestamp
set to a past date.
Path Parameters
Query Parameters
[
{
"chain": "string",
"logo": "string",
"name": "string",
"portfolio": [
{
"detailed": {
"borrow": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"rewards": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"supply": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
]
},
"poolData": [
{
"claimedFees": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
},
"impermanentLoss": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
},
"liquidity": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
},
"maxPrice": 0,
"minPrice": 0,
"position": "string",
"token0": {
"decimals": 0,
"id": "string",
"name": "string",
"symbol": "string"
},
"token0USDPrice": 0,
"token1": {
"decimals": 0,
"id": "string",
"name": "string",
"symbol": "string"
},
"token1USDPrice": 0,
"unclaimedFees": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
}
}
],
"total": {
"debtUSD": 0,
"navUSD": 0,
"supplyUSD": 0
},
"yieldAndPnl": [
{
"address": "string",
"deFiEvents": [
{
"balances": [
{
"balance": 0,
"balanceUSD": 0,
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenLogo": "string",
"tokenName": "string",
"tokenSymbol": "string"
}
],
"eventType": "string",
"id": "string",
"position": {
"active": true,
"fees": [
{
"fee": 0,
"feeUSD": 0
}
],
"pnlUSD": 0,
"position": {
"balance": 0
},
"positionYield": {
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
},
"yieldUSD": 0,
"yields": [
{
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
}
]
},
"protocol": "string",
"timestamp": 0
}
],
"name": "string",
"pnlUSD": 0,
"symbol": "string",
"txCount": 0,
"txFeeUSD": 0,
"yieldUSD": 0
}
]
}
],
"site": "string"
}
]
{
// Response
}
{
// Response
}
{
// Response
}
curl -X GET --header 'Accept: application/json'
'https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositionsWithPnl/all/{userAddress}'
getUserDeFiHistoryByChain
Get all DeFi historical information (active open positions) for a specific user and chain
GET
https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositions/{userAddress}?chain={chain}
Path Parameters
Query Parameters
[
{
"chain": "string",
"logo": "string",
"name": "string",
"portfolio": [
{
"detail": {
"borrow": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"rewards": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"supply": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
]
},
"statistic": {
"navUSD": 0,
"totalDebtUSD": 0,
"totalSupplyUSD": 0
},
"yieldAndPnl": [
{
"address": "string",
"deFiEvents": [
{
"balances": [
{
"balance": 0,
"balanceUSD": 0,
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenLogo": "string",
"tokenName": "string",
"tokenSymbol": "string"
}
],
"eventType": "string",
"id": "string",
"position": {
"active": true,
"fees": [
{
"fee": 0,
"feeUSD": 0
}
],
"pnlUSD": 0,
"position": {
"balance": 0
},
"positionYield": {
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
},
"yieldUSD": 0,
"yields": [
{
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
}
]
},
"protocol": "string",
"timestamp": 0
}
],
"decimals": 0,
"name": "string",
"pnlUSD": 0,
"symbol": "string",
"txCount": 0,
"txFeeUSD": 0,
"yieldUSD": 0
}
]
}
],
"site": "string"
}
]
{
// Response
}
{
// Response
}
{
// Response
}
curl -X GET --header 'Accept: application/json'
'https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositions/protocol
/{userAddress}?chain={chain}&protocol={protocol}'
getUserDeFiHistoryByMultiChains
Get all DeFi historical information (active open positions) for a specific user and chains (up to 10 chains)
GET
https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositionsByChains/{userAddress}?chains={chain1,chain2,...,chain10}
Path Parameters
Query Parameters
[
{
"chain": "string",
"logo": "string",
"name": "string",
"portfolio": [
{
"detail": {
"borrow": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"rewards": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"supply": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
]
},
"statistic": {
"navUSD": 0,
"totalDebtUSD": 0,
"totalSupplyUSD": 0
},
"yieldAndPnl": [
{
"address": "string",
"deFiEvents": [
{
"balances": [
{
"balance": 0,
"balanceUSD": 0,
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenLogo": "string",
"tokenName": "string",
"tokenSymbol": "string"
}
],
"eventType": "string",
"id": "string",
"position": {
"active": true,
"fees": [
{
"fee": 0,
"feeUSD": 0
}
],
"pnlUSD": 0,
"position": {
"balance": 0
},
"positionYield": {
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
},
"yieldUSD": 0,
"yields": [
{
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
}
]
},
"protocol": "string",
"timestamp": 0
}
],
"decimals": 0,
"name": "string",
"pnlUSD": 0,
"symbol": "string",
"txCount": 0,
"txFeeUSD": 0,
"yieldUSD": 0
}
]
}
],
"site": "string"
}
]
{
// Response
}
{
// Response
}
{
// Response
}
curl -X GET --header 'Accept: application/json'
-- header 'Authorization: {your api key}'
'https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositionsByChains/protocol
/{userAddress}?chains={chain1,chain2,...,chain10}'
getUserDeFiHistoryWithPnlByChain
Get all DeFi historical information (both active open and past closed positions) for a specific user and chain (including PNL)
GET
https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositionsWithPnl/{userAddress}
Time-travelling possible: get a snapshot of the DeFi position info & status at a past date, by using the timestamp
set to a past date.
Path Parameters
Query Parameters
[
{
"chain": "string",
"logo": "string",
"name": "string",
"portfolio": [
{
"detailed": {
"borrow": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"rewards": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"supply": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
]
},
"poolData": [
{
"claimedFees": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
},
"impermanentLoss": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
},
"liquidity": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
},
"maxPrice": 0,
"minPrice": 0,
"position": "string",
"token0": {
"decimals": 0,
"id": "string",
"name": "string",
"symbol": "string"
},
"token0USDPrice": 0,
"token1": {
"decimals": 0,
"id": "string",
"name": "string",
"symbol": "string"
},
"token1USDPrice": 0,
"unclaimedFees": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
}
}
],
"total": {
"debtUSD": 0,
"navUSD": 0,
"supplyUSD": 0
},
"yieldAndPnl": [
{
"address": "string",
"deFiEvents": [
{
"balances": [
{
"balance": 0,
"balanceUSD": 0,
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenLogo": "string",
"tokenName": "string",
"tokenSymbol": "string"
}
],
"eventType": "string",
"id": "string",
"position": {
"active": true,
"fees": [
{
"fee": 0,
"feeUSD": 0
}
],
"pnlUSD": 0,
"position": {
"balance": 0
},
"positionYield": {
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
},
"yieldUSD": 0,
"yields": [
{
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
}
]
},
"protocol": "string",
"timestamp": 0
}
],
"name": "string",
"pnlUSD": 0,
"symbol": "string",
"txCount": 0,
"txFeeUSD": 0,
"yieldUSD": 0
}
]
}
],
"site": "string"
}
]
Response Content Type
*/*
{
// Response
}
{
// Response
}
{
// Response
}
curl -X GET --header 'Accept: application/json'
'https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositionsWithPnl/{userAddress}'
getUserDeFiHistoryByProtocol
Get all DeFi historical information (active open positions) for a specific user, chain and protocol
GET
https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositions/protocol/{userAddress}?chain={chain}&protocol={protocol}
Path Parameters
Query Parameters
{
"chain": "string",
"logo": "string",
"name": "string",
"portfolio": [
{
"detail": {
"borrow": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"rewards": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"supply": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
]
},
"statistic": {
"navUSD": 0,
"totalDebtUSD": 0,
"totalSupplyUSD": 0
},
"yieldAndPnl": [
{
"address": "string",
"deFiEvents": [
{
"balances": [
{
"balance": 0,
"balanceUSD": 0,
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenLogo": "string",
"tokenName": "string",
"tokenSymbol": "string"
}
],
"eventType": "string",
"id": "string",
"position": {
"active": true,
"fees": [
{
"fee": 0,
"feeUSD": 0
}
],
"pnlUSD": 0,
"position": {
"balance": 0
},
"positionYield": {
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
},
"yieldUSD": 0,
"yields": [
{
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
}
]
},
"protocol": "string",
"timestamp": 0
}
],
"decimals": 0,
"name": "string",
"pnlUSD": 0,
"symbol": "string",
"txCount": 0,
"txFeeUSD": 0,
"yieldUSD": 0
}
]
}
],
"site": "string"
}
{
// Response
}
{
// Response
}
{
// Response
}
curl -X GET --header 'Accept: application/json'
'https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositions/protocol
/{userAddress}?chain={chain}&protocol={protocol}'
getUserDeFiHistoryWithPnlByProtocol
Get all DeFi historical information (both active open and past closed positions) for a specific user, chain and protocol (including PNL)
GET
https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositionsWithPnl/protocol/{userAddress}?&protocol={protocol}
Time-travelling possible: get a snapshot of the DeFi position info & status at a past date, by using the timestamp
set to a past date.
Path Parameters
Query Parameters
[
{
"chain": "string",
"logo": "string",
"name": "string",
"portfolio": [
{
"detailed": {
"borrow": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"rewards": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"supply": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
]
},
"poolData": [
{
"claimedFees": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
},
"impermanentLoss": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
},
"liquidity": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
},
"maxPrice": 0,
"minPrice": 0,
"position": "string",
"token0": {
"decimals": 0,
"id": "string",
"name": "string",
"symbol": "string"
},
"token0USDPrice": 0,
"token1": {
"decimals": 0,
"id": "string",
"name": "string",
"symbol": "string"
},
"token1USDPrice": 0,
"unclaimedFees": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
}
}
],
"total": {
"debtUSD": 0,
"navUSD": 0,
"supplyUSD": 0
},
"yieldAndPnl": [
{
"address": "string",
"deFiEvents": [
{
"balances": [
{
"balance": 0,
"balanceUSD": 0,
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenLogo": "string",
"tokenName": "string",
"tokenSymbol": "string"
}
],
"eventType": "string",
"id": "string",
"position": {
"active": true,
"fees": [
{
"fee": 0,
"feeUSD": 0
}
],
"pnlUSD": 0,
"position": {
"balance": 0
},
"positionYield": {
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
},
"yieldUSD": 0,
"yields": [
{
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
}
]
},
"protocol": "string",
"timestamp": 0
}
],
"name": "string",
"pnlUSD": 0,
"symbol": "string",
"txCount": 0,
"txFeeUSD": 0,
"yieldUSD": 0
}
]
}
],
"site": "string"
}
]
{
// Response
}
{
// Response
}
{
// Response
}
curl -X GET --header 'Accept: application/json'
'https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositionsWithPnl/protocol
/{userAddress}?protocol={protocol}'
getUserDeFiPositionInfoWithPnl
Get position information (both active open and past closed positions) only for one specific user position (identified by its position ID)
GET
https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositionsWithPnl/position
This endpoint no longer requires to set precisely the wallet's address, as this is now included within the position ID value.
Time-travelling possible: get a snapshot of the DeFi position info & status at a past date, by using the timestamp
set to a past date.
Query Parameters
[
{
"chain": "string",
"logo": "string",
"name": "string",
"portfolio": [
{
"detailed": {
"borrow": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"rewards": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
],
"supply": [
{
"balance": 0,
"balanceUSD": 0,
"id": "string",
"logo": "string",
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenName": "string",
"tokenSymbol": "string",
"usdRate": 0
}
]
},
"poolData": [
{
"claimedFees": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
},
"impermanentLoss": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
},
"liquidity": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
},
"maxPrice": 0,
"minPrice": 0,
"position": "string",
"token0": {
"decimals": 0,
"id": "string",
"name": "string",
"symbol": "string"
},
"token0USDPrice": 0,
"token1": {
"decimals": 0,
"id": "string",
"name": "string",
"symbol": "string"
},
"token1USDPrice": 0,
"unclaimedFees": {
"token0": 0,
"token0USD": 0,
"token1": 0,
"token1USD": 0,
"totalUSD": 0
}
}
],
"total": {
"debtUSD": 0,
"navUSD": 0,
"supplyUSD": 0
},
"yieldAndPnl": [
{
"address": "string",
"deFiEvents": [
{
"balances": [
{
"balance": 0,
"balanceUSD": 0,
"tokenAddress": "string",
"tokenDecimals": 0,
"tokenLogo": "string",
"tokenName": "string",
"tokenSymbol": "string"
}
],
"eventType": "string",
"id": "string",
"position": {
"active": true,
"fees": [
{
"fee": 0,
"feeUSD": 0
}
],
"pnlUSD": 0,
"position": {
"balance": 0
},
"positionYield": {
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
},
"yieldUSD": 0,
"yields": [
{
"balance": 0,
"balanceUSD": 0,
"tokenDecimals": 0,
"tokenSymbol": "string"
}
]
},
"protocol": "string",
"timestamp": 0
}
],
"name": "string",
"pnlUSD": 0,
"symbol": "string",
"txCount": 0,
"txFeeUSD": 0,
"yieldUSD": 0
}
]
}
],
"site": "string"
}
]
{
// Response
}
{
// Response
}
{
// Response
}
curl -X GET --header 'Accept: application/json'
'https://api-v1.mymerlin.io/api/merlin/public/userDeFiPositions/position
?position={position}'
Last updated