
/v4/users/{address}/rewards
Get the rewards associated to a user on a given chain.
Request Examples
Fetch rewards for a user wallet on a specific chain
curl "https://api.merkl.xyz/v4/users/0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb/rewards?chainId=1"
Use the returned proofs to build a claim transaction integrating-user-reward
Retrieve user rewards aggregated by chain. Use query parameters to filter by chain IDs, reward type, and claimability.
Path parameters
addressstringUser address
Query parameters
chainIdstring[]List of chain IDs to query rewards for
reloadChainIdnumber | stringAn optional chainId to bypass the cache and check if there was very recently a claim on this chain
testbooleanInclude test token rewards
claimableOnlybooleanInclude only claimable rewards (to avoid transferring zero amounts)
breakdownPagenumber | stringdefault: 00-indexed pagination for rewards[number].breakdowns. 1000 items per page.
typeenumFilter rewards by token type
showPrivatebooleanWhen true, decode private campaign IDs instead of returning the zero hash. Requires the caller's identity (JWT or API key owner) to match the queried address — otherwise returns 403. Also bypasses CDN cache.
Responses
200Response for status 200
object[]
chainobjectChain
idintegernamestringiconstringliveCampaignsnumberendOfDisputePeriodnumberexplorersobject[]
typeenumETHERSCANBLOCKSCOUTSOLSCANurlstringchainIdnumberlastClaimsOnchainFetchTimestampstring | nullrewardsobject[]List of rewards for each token
rootstringMerkle tree root hash for the reward claimrecipientstringAddress of the reward recipientproofsstring[]Merkle proofs for reward verificationtokenobjectToken information
addressstringchainIdnumbersymbolstringdecimalsnumberunderlyingTokenIdstringFor a wrapper, the `Token.id` of the token it pays out on claim.breakdownsobject[]Detailed breakdowns of rewards by reason and campaign
reasonstringReason identifier for the rewardamountstringTotal reward amount for this reasonclaimedstringAmount already claimedpendingstringAmount pending claimcampaignIdstringID of the campaign that generated this rewardopportunityIdstringID of the opportunity this breakdown is attributed tocampaignStatusobject
campaignIdstringcomputedUntilstring | number | stringprocessingStartedstring | number | stringstatusstringpreComputeProcessingStartedstring | number | stringpreComputeStatusstringdelaynumber | stringerrorstringdetailsanyclaimedbigint | stringTotal amount claimed by the useramountbigint | stringTotal reward amountpendingbigint | stringTotal pending reward amount[
{
"chain": {
"id": 0,
"name": "string",
"icon": "string",
"liveCampaigns": 0,
"endOfDisputePeriod": 0,
"explorers": [
{
"type": null,
"url": "string",
"chainId": 0
}
],
"lastClaimsOnchainFetchTimestamp": "string"
},
"rewards": [
{
"root": "string",
"recipient": "string",
"proofs": [
"string"
],
"token": {
"address": "string",
"chainId": 0,
"symbol": "string",
"decimals": 0,
"underlyingTokenId": "string"
},
"breakdowns": [
{
"reason": null,
"amount": null,
"claimed": null,
"pending": null,
"campaignId": null,
"opportunityId": null,
"campaignStatus": null
}
],
"claimed": null,
"amount": null,
"pending": null
}
]
}
]https://api.merkl.xyz/v4/users//rewards?chainId=&breakdownPage=curl -X GET "https://api.merkl.xyz/v4/users/0xd93814273b33DD33B32cD345225CfB65DEB048Dd/rewards?chainId=1&breakdownPage=0"