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
| Resource | Link |
|---|---|
| Morpho API | api.morpho.org/graphql |
| Merkl API | api.merkl.xyz/docs |
| Legacy Rewards | rewards-legacy.morpho.org |
| Example Code | github.com/morpho-org/merkl-morpho-recipe |
| Merkl Docs | docs.merkl.xyz |
APIs
Morpho API (Recommended for Vault/Market Rewards)
The Morpho API provides integrated rewards data alongside vault and market information.
- GraphQL Playground: api.morpho.org/graphql
- Documentation: Morpho API Docs
- Rewards Queries:
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/ - Documentation: api.merkl.xyz/docs
- Key Endpoint:
- User Rewards (includes the cumulative
amount,claimed, and merkleproofsneeded to claim):GET /v4/users/{address}/rewards?chainId={chainId}
- User Rewards (includes the cumulative
Use Cases:
- Fetch user claimable rewards (current programs)
- Get Merkle proofs for claiming
- Real-time reward accrual (updates every 8 hours)
Legacy Rewards (Deprecated)
Legacy Rewards API Deprecated
The rewards.morpho.org API has been deprecated. If you or your users have unclaimed rewards from historical Morpho programs (pre-Merkl migration), they can be claimed directly through the legacy rewards lookup app:
All new reward programs are distributed exclusively via Merkl. See the Merkl documentation for integration details.
Smart Contracts
Merkl Distributor Contracts
All Merkl smart contract addresses, categorized by chain are listed here.
Key Functions:
claim(address[] users, address[] tokens, uint256[] amounts, bytes32[][] proofs)- Claim cumulative Merkl reward amounts
Morpho URD Contracts (Legacy)
These contracts are still active onchain for claiming historical rewards. Use rewards-legacy.morpho.org to look up your claimable amounts and proofs.
- See Rewards Addresses for all deployments
Key Functions:
claim(address account, address reward, uint256 claimable, bytes32[] proof)- Claim rewardsclaimed(address account, address reward) view returns (uint256)- Check claimed amount
Repository:
Contract ABIs
Merkl Distributor ABI:
[
{
"inputs": [
{ "name": "users", "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/morpho-sdk: The default SDK for vaults and markets - entity classes (/entities) and Viem-based fetchers (/fetch) via subpath exports@morpho-org/simulation-sdk: Simulate transactions
Learn More: Morpho SDKs Documentation
GraphQL Clients
For querying the Morpho API:
- graphql-request: Lightweight GraphQL client
- Apollo Client: Full-featured GraphQL client
- urql: Flexible GraphQL client
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
- Official Docs: docs.merkl.xyz
- Integration Guide: docs.merkl.xyz/integrate-merkl/app
Morpho
- Developer Hub: /tools/
- API Documentation: /tools/offchain/api/rewards/
Onchain Data Sources
- Merkl Subgraphs: See Merkl docs
Tutorials & Guides
Getting Started
Step-by-Step Tutorials
Advanced
Support Channels
For Integrators
- Technical Questions: help.morpho.org
For Reward Issuers
- Program Creation Help: Merkl Docs
Monitoring & Analytics
Dashboards
- Merkl Dashboard: merkl.xyz - View active campaigns
- Morpho App: app.morpho.org - See rewards on vaults/markets
Analytics Tools
- Dune Analytics: Morpho Dashboards
- DefiLlama: Track TVL and yields across Morpho
Governance & Updates
Morpho Governance
- Snapshot: snapshot.box/#/s.eth
Migration Information
- MIP 111: Snapshot Proposal - Migration to Merkl
Need Help?
If you can't find what you're looking for, reach out via:
- Chat: help.morpho.org