Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Rewards: Developer Resources

This page is your central hub for all the tools, links, and data sources you need to integrate Morpho rewards into your application.

Quick Reference

ResourceLink
Morpho APIapi.morpho.org/graphql
Merkl APIapi.merkl.xyz/v4
Legacy Rewardsrewards-legacy.morpho.org
Example Codegithub.com/morpho-org/merkl-morpho-recipe
Merkl Docsdocs.merkl.xyz

APIs

Morpho API (Recommended for Vault/Market Rewards)

The Morpho API provides integrated rewards data alongside vault and market information.

Use Cases:
  • Fetch vault APY + rewards APR
  • Get market reward rates (supply, borrow, collateral)
  • Combine base yield and rewards in one query
  • Historical data and time-series queries

Merkl API (Primary for User Rewards)

Merkl's REST API for current reward programs and user claimable amounts.

  • Base URL: https://api.merkl.xyz/v4/
  • Documentation: docs.merkl.xyz/integrate-merkl/app
  • Key Endpoints:
    • User Rewards: GET /userRewards?user={address}&chainId={chainId}
    • Claim Data: GET /claim?user={address}&chainId={chainId}
Use Cases:
  • Fetch user claimable rewards (current programs)
  • Get Merkle proofs for claiming
  • Real-time reward accrual (updates every 8 hours)

Legacy Rewards (Deprecated)

Smart Contracts

Merkl Distributor Contracts

All Merkl smart contract addresses, categorized by chain are listed here.

Key Functions:
  • claim(address user, address[] tokens, uint256[] amounts, bytes32[][] proofs) - Claim rewards

Morpho URD Contracts (Legacy)

Key Functions:
  • claim(address account, address reward, uint256 claimable, bytes32[] proof) - Claim rewards
  • claimed(address account, address reward) view returns (uint256) - Check claimed amount
Repository:

Contract ABIs

Merkl Distributor ABI:
[
  {
    "inputs": [
      { "name": "user", "type": "address" },
      { "name": "tokens", "type": "address[]" },
      { "name": "amounts", "type": "uint256[]" },
      { "name": "proofs", "type": "bytes32[][]" }
    ],
    "name": "claim",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]
URD ABI (Claim):
[
  {
    "inputs": [
      { "name": "account", "type": "address" },
      { "name": "reward", "type": "address" },
      { "name": "claimable", "type": "uint256" },
      { "name": "proof", "type": "bytes32[]" }
    ],
    "name": "claim",
    "outputs": [{ "name": "amount", "type": "uint256" }],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      { "name": "account", "type": "address" },
      { "name": "reward", "type": "address" }
    ],
    "name": "claimed",
    "outputs": [{ "name": "", "type": "uint256" }],
    "stateMutability": "view",
    "type": "function"
  }
]

Code Examples & Repositories

  • Merkl + Morpho Recipe:
    • GitHub: morpho-org/merkl-morpho-recipe
    • A complete Next.js demo showing:
      • Vault metrics with rewards
      • User claimable rewards (Merkl)
      • Claim implementations
      • TypeScript best practices

SDKs & Tools

Morpho SDKs

While there's no dedicated rewards SDK, you can use Morpho's core SDKs for related functionality:

  • @morpho-org/blue-sdk: Core SDK for vaults and markets
  • @morpho-org/blue-sdk-viem: Viem-based fetchers
  • @morpho-org/simulation-sdk: Simulate transactions

Learn More: Morpho SDKs Documentation

GraphQL Clients

For querying the Morpho API:

Web3 Libraries

For claiming rewards onchain:

  • viem: Modern TypeScript web3 library (recommended)
  • ethers.js: Popular web3 library
  • web3.js: Classic web3 library

External Documentation

Merkl

Morpho

Onchain Data Sources

Tutorials & Guides

Getting Started

Step-by-Step Tutorials

Advanced

Support Channels

For Integrators

For Reward Issuers

Monitoring & Analytics

Dashboards

Analytics Tools

Governance & Updates

Morpho Governance

Migration Information

Need Help?

If you can't find what you're looking for, reach out via: