
/v4/rewards/campaign/{campaignId}/mine
Returns your own rewards for one campaign — settled, claimed, still-claimable and pending —
with the per-reason rows behind them, plus the campaign and its opportunityId.
Pass the recipient you are asking about, and authenticate as it: a JWT for that wallet, or an
API key whose creator holds the address. Any other address receives 401.
Because the response only ever contains one address's own amounts, it serves campaigns the
leaderboard routes refuse: campaigns that hide their leaderboard, and campaigns paying a reward
token Merkl hides from the reward endpoints. Campaign privacy still applies — a private campaign
is visible only to its creator, an address holding a grant, and its own recipients.
chainId is only needed when the same on-chain campaignId exists on several chains; the route
returns 400 naming those chains when it does.
Path parameters
campaignIdstringOn-chain campaign ID (32-byte hex hash, e.g. 0x93cf385c...). NOT the internal Campaign.id. See ID types.
Query parameters
chainIdstring (integer) | integerDistribution chain of the campaign. Only needed when the same on-chain campaignId exists on several chains — the route says so when it does.
recipientstringThe address to read. It must be an address the caller is authenticated as — its own, for a JWT, or one linked to the creator behind an API key.
https://api.merkl.xyz/v4/rewards/campaign//mine?recipient=curl -X GET "https://api.merkl.xyz/v4/rewards/campaign/7772424586270261909/mine?recipient=0xd93814273b33DD33B32cD345225CfB65DEB048Dd"