
get
/v4/users/{address}/rewards/chains/{chainId}/earned
Rewards an address earned on one chain since 00:00 UTC 30 days ago, per token and campaign. Rows of private or hidden-leaderboard campaigns appear only to a caller allowed to read them. When the route cannot answer for the chain yet, it is listed in unavailableChainIds. Requires an API key.
Path parameters
addressstringrequired
User wallet address
chainIdnumber | stringrequired
Chain ID to read
Query parameters
isTestbooleanInclude test tokens
Responses
200Response for status 200
Schema
object
addressstringrequired
windowSecondsnumberrequired
Seconds since 00:00 UTC, 30 days ago: between 30 and 31 daystotalUSDnumberrequired
chainsobject[]required
chainIdnumberstartRootstring | nullstartTimestampnumber | nullendRootstringLive root the current amounts belong toendTimestampnumbertokensobject[]
addressstringsymbolstringdecimalsnumbericonstringpricenumber | nullamountstringAmount earned in the window, in token base unitsamountUSDnumbercampaignsobject[]
campaignIdstringamountstringunavailableChainIdsnumber[]required
The chain, when the route cannot answer for it: no live root, not backfilled yet, or no API rowExample
{
"address": "string",
"windowSeconds": 0,
"totalUSD": 0,
"chains": [
{
"chainId": 0,
"startRoot": "string",
"startTimestamp": 0,
"endRoot": "string",
"endTimestamp": 0,
"tokens": [
{
"address": "string",
"symbol": "string",
"decimals": 0,
"icon": "string",
"price": null,
"amount": "string",
"amountUSD": 0,
"campaigns": [
null
]
}
]
}
],
"unavailableChainIds": [
0
]
}get
https://api.merkl.xyz/v4/users//rewards/chains//earnedcurl -X GET "https://api.merkl.xyz/v4/users/0xd93814273b33DD33B32cD345225CfB65DEB048Dd/rewards/chains/1/earned"