Reward Campaigns on Morpho
Reward campaigns are incentive strategies created via Merkl to encourage specific user behaviors within the Morpho protocol. Understanding how these campaigns work and the different distribution strategies available is essential for integrators who want to accurately display and calculate reward rates for their users.
What Are Reward Campaigns?
Merkl allows protocols, DAOs, and token issuers to reward users for providing active liquidity on Morpho. Campaigns incentivize users who hold supply or borrow balances, or who provide collateral in lending markets. Rewards are distributed automatically based on users' positions over time.
When creating a campaign through Merkl's interface, you select:
- The lending pool or vault you want to incentivize
- The reward token to distribute
- The campaign duration and reward budget
- The specific user behavior to reward (supply, borrow, or collateral)
Distribution Strategies
Merkl offers two main categories of reward distribution for Morpho:
- Vault-Level Incentives - Target deposits into specific Morpho Vaults
- Market-Level Incentives - Target activity within Morpho Markets
Vault-Level Incentives
Strategy: Supply to a Morpho VaultThis strategy incentivizes users who deposit assets into a specific Morpho Vault. It's the simplest distribution method, rewarding vault depositors proportionally based on their share of total vault deposits over time.
How it works:- Rewards are distributed linearly over the campaign duration
- Users earn rewards based on their vault deposit amount and duration
- All depositors into the targeted vault are eligible
- Only one reward rate applies (vault supply rewards)
- Bootstrap a new vault to attract initial liquidity
- Increase deposits into an established vault
- Provide additional yield to vault depositors beyond base APY
Market-Level Incentives
Strategy: Incentivize Activity in Morpho Blue MarketsMarket-level strategies provide more granular control, allowing you to target specific behaviors within Morpho Blue Markets. You can incentivize:
- Supply: Reward users who lend assets to a market
- Borrow: Reward users who borrow assets from a market
- Collateral: Reward users who deposit collateral in a market
Additionally, you can choose between:
- Specific market targeting: Incentivize activity in one particular market
- Token-based targeting: Incentivize use of a specific token across all markets
-
Supply to a specific market: Rewards users who supply assets to a particular Morpho Blue market.
-
Supply a token to any market: Rewards users who supply a specific token across all Morpho Blue markets (e.g., all markets where USDC is the loan asset).
-
Borrow from a specific market: Rewards users who borrow assets from a particular Morpho Blue market.
-
Borrow a token from any market: Rewards users who borrow a specific token across all Morpho Blue markets.
-
Use a token as collateral on a specific market: Rewards users who deposit collateral in a particular Morpho Blue market.
-
Use a token as collateral on any market: Rewards users who deposit a specific collateral token across all Morpho Blue markets.
- Campaigns distribute rewards linearly over a defined period
- Each campaign can have separate rates for supply, borrow, and collateral
- Users earn rewards based on their position size and duration
- Rates are expressed as annualized amounts per token
- Bootstrap a new market by incentivizing early suppliers or borrowers
- Encourage borrowing to increase market utilization
- Reward specific collateral types to diversify market risk
- Create token-wide incentives across the entire Morpho ecosystem
Understanding Reward Calculations
APR for Vault-Level Campaigns
To display the reward APR from a vault-level campaign:
Where:
rate_per_year
is the vault's reward rate (in wei)reward_price
is the USD price of the reward tokenamount_in_pool
is the total supply in the vaultpool_token_price
is the USD price of the vault's asset
APR for Market-Level Campaigns
To display the reward APR from a market-level campaign:
Where:
rate_per_year
is the annualized reward rate (e.g.,supply_rate_per_year
,borrow_rate_per_year
)reward_price
is the USD price of the reward tokentotal_position_value
is the total USD value of all qualifying positions in the market
Combining Multiple Campaigns
Vault depositors may be eligible for rewards from multiple campaigns simultaneously:
- Direct vault-level rewards: From campaigns directly targeting the vault
- Forwarded market-level rewards: From campaigns targeting markets where the vault allocates liquidity
Total APY = Base Vault APY + Vault Campaign APR + Σ(Forwarded Market Campaign APR)
Where:
- Base Vault APY: Native lending yield from the vault's market allocations
- Vault Campaign APR: Direct vault-level incentives
- Forwarded Market Campaign APR: Sum of all market-level rewards from allocated markets
Reward Forwarding
One of the most important features of Morpho's reward system is automatic reward forwarding for vault depositors.
How Forwarding Works
When a Morpho Vault allocates liquidity to a market with an active supply campaign, the vault itself technically earns those rewards (since it's the direct supplier to the market). However, these rewards are automatically forwarded to individual vault depositors proportionally to their vault shares.
The forwarding mechanism:- Market-level supply campaigns distribute rewards to suppliers
- Vaults that supply to these markets earn rewards at the vault contract level
- Merkl's offchain computation reallocates these rewards to individual vault depositors
- Vault depositors can claim these market-level rewards directly
This happens transparently in the background, ensuring that:
- Vault depositors benefit from all market-level campaigns
- No manual intervention is required
- Rewards are distributed fairly based on deposit amounts and duration
Integration Considerations
As an integrator, you should display:
- Direct vault campaigns: Campaigns explicitly targeting the vault
- Forwarded market campaigns: Campaigns targeting markets where the vault allocates, with rewards forwarded to depositors
- Combined APR: Total reward APR from both sources
Users expect to see the full picture of their potential earnings, including both direct and forwarded rewards.
Blacklisting
Campaign creators can blacklist specific addresses from earning rewards. This is commonly used to:
- Prevent self-incentivization when protocols bootstrap their own markets
- Exclude treasury addresses that provide initial liquidity
- Remove addresses that don't align with campaign goals
Example: If a protocol creates a market and deposits its treasury to provide initial liquidity, it can blacklist its treasury address. This ensures:
- Reward budget goes entirely to external users
- No circular incentive flow
- Fair distribution among community participants
Blacklisting is configured when creating the campaign and is enforced during rewards computation. It's transparent—anyone can verify which addresses are excluded from a campaign.
Historical Context: Legacy Reward Systems
Querying Active Campaigns
To fetch active reward campaigns, you can use:
Morpho API (Recommended)
The Morpho API aggregates campaign data from Merkl and provides it alongside vault and market information:
-
Vault Rewards: Query the
rewards
field onVaultState
-
Market Rewards: Query the
rewards
field onMarketState
- Single query returns base APY + rewards APR
- Integrated with vault/market data
- Includes both direct and forwarded rewards
Merkl API (Direct Source)
For more control or real-time data, query Merkl's API directly:
- Campaign Data: Available via Merkl's REST API
- Most up-to-date campaign information
- Direct access to Merkl's data
- Useful for specialized integrations
Next Steps
- Create campaigns: Follow the Create a Rewards Program tutorial
- Understand distribution: Read about Distribution Systems
- Fetch data: Follow the Fetch Rewards Data tutorial
- Display rewards: See the Integrate Display tutorial