get

/v4/users/{address}/protocols/{protocolId}/rewards

Retrieve claimable rewards for a user scoped to a single protocol. Breakdowns and amounts reflect only campaigns attributed to the requested protocol. The returned proofs and root still claim the full per-token leaf on-chain.

Path parameters

addressstring
required
protocolIdstring
required

Query parameters

chainIdstring[]
required
reloadChainIdnumber | string
testboolean
claimableOnlyboolean
breakdownPagenumber | stringdefault: 0
typeenum
TOKENPRETGEPOINT
showPrivateboolean

Responses

200
Response for status 200
Schema
object[]
chainobjectChain
idinteger
required
Chain Id
namestring
required
Legible name of the chain
iconstring
required
URL to the icon of the chain
liveCampaignsnumber
required
Number of campaigns currently live on this chain
endOfDisputePeriodnumber
required
explorersobject[]
typeenumETHERSCANBLOCKSCOUTSOLSCAN
urlstring
chainIdnumber
lastClaimsOnchainFetchTimestampstring | null
required
Timestamp of the last claims onchain fetch
rewardsobject[]List of rewards for each token
rootstringMerkle tree root hash for the reward claim
recipientstringAddress of the reward recipient
proofsstring[]Merkle proofs for reward verification
tokenobjectToken information
addressstring
required
Token contract address
chainIdnumber
required
Chain ID where the token exists
symbolstring
required
Token symbol
decimalsnumber
required
Token decimals
breakdownsobject[]Detailed breakdowns of rewards by reason and campaign
reasonstringReason identifier for the reward
amountstringTotal reward amount for this reason
claimedstringAmount already claimed
pendingstringAmount pending claim
campaignIdstringID of the campaign that generated this reward
opportunityIdstringID of the opportunity this breakdown is attributed to
campaignStatusobject
campaignIdstring
required
computedUntilstring | number | string
required
processingStartedstring | number | string
required
statusstring
required
preComputeProcessingStartedstring | number | string
required
preComputeStatusstring
required
delaynumber | string
errorstring
detailsany
claimedbigint | stringTotal amount claimed by the user
amountbigint | stringTotal reward amount
pendingbigint | stringTotal pending reward amount
Example
[
  {
    "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
        },
        "breakdowns": [
          {
            "reason": null,
            "amount": null,
            "claimed": null,
            "pending": null,
            "campaignId": null,
            "opportunityId": null,
            "campaignStatus": null
          }
        ],
        "claimed": null,
        "amount": null,
        "pending": null
      }
    ]
  }
]
get
https://api.merkl.xyz/v4/users/{address}/protocols/{protocolId}/rewards
Merkl API
curl -X GET "https://api.merkl.xyz/v4/users/{address}/protocols/{protocolId}/rewards"
Fill the required path parameters address, protocolId to send.