Docs

Create a Rewards Program

Create a Morpho Vault or market reward program with Merkl, then check which campaign types the Morpho App displays.

This tutorial guides you through creating a new rewards program for Morpho Vaults or Markets using Merkl, the current standard for reward distribution.

Prerequisites

Before creating a rewards program, ensure you have:

  • A clear incentive strategy (what behavior do you want to encourage?)
  • Reward tokens ready for distribution
  • Knowledge of target Morpho Markets or Vaults
  • A wallet with assets to deposit reward tokens
  • Understanding of Reward Program Types

Overview: Merkl for Rewards Programs

Merkl is the standard distribution system for Morpho rewards. It provides:

  • Automated Distribution: Rewards calculated and distributed every 8 hours
  • Flexible Configuration: Target specific markets, vaults, or user groups
  • Multi-Chain Support: Works across all chains where Morpho is deployed
  • Transparent Tracking: Real-time visibility into reward distribution

Creating a Program via Merkl

Merkl provides a user-friendly interface for creating reward campaigns. The process differs slightly between Vault and Market programs.

Campaigns displayed by Morpho

Merkl distributes every campaign it accepts. Morpho's rewards backend filters campaigns before calculating the reward APRs used by Morpho interfaces. A campaign excluded by these filters can still distribute on Merkl, but does not contribute to the APRs shown by Morpho interfaces.

These conditions follow the rewards backend's current filtering and can change.

Supported campaign types

Merkl typeSubtypeRewards
MORPHOSUPPLYAnySuppliers of one market
MORPHOBORROWAnyBorrowers of one market
MORPHOCOLLATERALAnyCollateral providers of one market
MORPHO1Suppliers of one market
MORPHO2Borrowers of one market
MORPHO3Collateral providers of one market
MORPHOSUPPLY_SINGLETOKENAnySuppliers of every listed market whose loan token is the target token
MORPHOBORROW_SINGLETOKENAnyBorrowers of every listed market whose loan token is the target token
MULTILENDBORROWAnySuppliers (entry campaignType 24) or borrowers (entry campaignType 45) of each market in the campaign
MORPHOVAULTAnyUsers of one vault
ERC20LOGPROCESSORAnyHolders of one vault's share token
MORPHO0Users of one vault

The rewards backend ignores every other type and subtype, and every other MULTILENDBORROW entry campaignType.

Parameters to avoid

The rewards backend excludes a campaign globally or for the affected market or vault when it uses any of these settings.

SettingWhat to do instead
isPrivate: trueCreate a public campaign
Non-empty params.whitelistLeave the whitelist empty
Any hook other than hookType: 27 (blacklist) or hookType: 23 with protocols containing MorphoVaultV2, including either one combined with any other hookUse no hook, hook 27, hook 23, or hooks 23 and 27. With hook 23, the campaign counts only in the APR of Morpho Vault V2 users, not in market APRs
Less than 24 hours between startTimestamp and endTimestampRun the campaign for at least 24 hours
rewardToken.type other than TOKEN, such as points or pre-TGE rewardsReward in an ERC-20 token
rewardToken.isTest: trueUse a production reward token
Reward token on a chain Morpho does not support for rewards, or an invalid rewardToken.addressUse a valid token on a supported chain
Market campaign without a valid params.marketId or params.market, single-token campaign without a valid params.targetToken, MULTILENDBORROW campaign without valid params.markets entries, or vault campaign whose params.targetToken is not the vault addressSet the target the campaign type expects

Blacklists are supported: a params.blacklist does not make the rewards backend reject the campaign outright. If the blacklist contains a vault or a Vault V2 adapter address, the rewards backend excludes that campaign from the reward APRs calculated for the vault's users.

Forwarded vault rewards

A Morpho Vault V2 user sees supply-side market campaigns for markets the vault reaches through a MorphoMarketV1AdapterV2, and the campaigns of vaults it allocates to through a MorphoVaultV1Adapter, weighted by allocation. The rewards backend does not forward rewards from a Morpho Vault V2 that another Morpho Vault V2 allocates to.

Display in the Morpho App

The Morpho App shows a reward only when its computed APR is above 0. A campaign with a computed APR of 0, such as a Target APR campaign whose target the native yield already meets, shows no reward.

Next Steps