ERC20 Incentivization Campaign

Guide to create an ERC20 Campaign (Token, LP Token, Lending/Borrowing Token)

ERC20 campaigns incorporate various aspects such as token balance, LP token balance (Constant Product liquidity pools), and lending and borrowing protocols. Since all these protocols are based on ERC20 tokens, Merkl can integrate them by default, ensuring that users participating in different activities can earn rewards.

However, for Constant Product AMMs and lending and borrowing protocols, we strongly recommend you to be fully supported by Merkl. The advantages of being supported by Merkl include APR and TVL calculations, among other benefits. Additionally, you can create protocol-specific types of campaigns for more tailored incentives.

The current supported lending and borrowing protocols by Merkl are:

  • Silo (protocol-specific campaigns)

  • Radiant (protocol-specific campaigns)

  • Aave

  • Compound

  • Gearbox

  • Ionic

  • Sturdy

  • Metamorpho Lending

Merkl also currently support the following Constant Product AMMs:

  • Uniswap V2

  • Balancer V2

  • Velodrome V2

  • Aerodrome V2

  • Fenix V2

  • Poolside V2

  • Quickswap V2

If you want your Constant Product AMM, or lending and borrowing protocol to be fully integrated and supported by Merkl, or to create protocol campaigns (as we did for Silo and Radiant), please contact us on the Merkl Discord by opening a BD ticket to discuss the integration process. Integration allows APRs and TVL calculations.

Creating an ERC20 Campaigns

Creating an ERC20 campaign on Merkl is a straightforward process. Follow these steps to set up and launch your campaign effectively:

Step-by-Step Process:

  1. Access the Campaign Creation Page

    • Go to the Merkl's App and go to the campaign creation section by selecting Create Campaign from the dashboard.

  1. Whitelist your Token

  • After clicking on the Create Campaign, this will redirect you to the page below. But first we need to whitelist your token. Fill up the following form - you can also access by clicking where the red square is (see screenshot) on the Merkl App.

  1. Connect your Wallet

  • Connect your wallet and select the chain on which you want to distribute the rewards. The chain connected to your wallet during the campaign creation will determine where the rewards are distributed. To see all the chains that Merkl supports, check this page. One of the core features of Merkl is the ability to incentivize activity on one chain while distributing rewards on another.

  1. Create your ERC20 Campaign

  • Once your token is whitelisted, you can create your ERC20 campaign by clicking on the Token Balance button on the campaign creation page (see screenshot below).

  1. Fill Out Campaign Details

  • You will then be redirected to this page (see screenshot above), where you will need to fill out the following information:

Distribution Details:

  • Total Rewards: Enter the total amount of rewards to be distributed. Keep in mind that a 3% maintenance fee is applied.

  • Duration: Set the start and end dates for the campaign.

  • Min Rewards/Hour: Ensure your distribution per hour is above the minimum rewards per hour. The Min Rewards/Hour is set at $1 per hour.


  • Chain: Choose the blockchain network (Ethereum, Arbitrum, Optimism, etc.) where the campaign will be conducted. Note that the chain on which the campaign runs can be different from the chain on which you reward users.

  • Token Address: Select the address of the token (it can be a simple token, or the address of the LP token, or the borrowing or lending token) you want to incentivize by pasting it in the token address field.


  • Blacklist: Add addresses that should neither receive nor forward rewards. Make sure to blacklist contracts you own and therefore hold large amounts of the incentivized token. These could be addresses that are not capable of claiming rewards or that you don't want to reward because you aim to incentivize other users with your token, LP token, or lending/borrowing token.

  • Whitelist: If necessary, whitelist addresses to ensure that only these addresses received the rewards.

Staking contracts:

Merkl supports a staking mechanism where users can earn rewards even if the incentivized asset isn't directly present in their wallet. For example, users who stake their USDa will receive stUSD and even with this exchange, if you want to incentivize holders of USTa, they can still earn rewards. This works though a forwarder and this is what you need to fill if you have the need to. The forwarder includes users who have staked their USDa, ensuring they receive rewards despite not having the original tokens in their wallets since their USDa are locked in the stUSD smart contracts. If the token you are incentivizing can be staked in another contract (such as staking USDa in the stUSD contract), Merkl can trace back the liquidity in the staking contract to the original user. For this to work, you need to provide the staking contract addresses below. The contract where users stake their tokens is the recipient of the initial rewards. The token issued when staking the token is the token to forward rewards to, and this contract needs to be an ERC20 token. Most of the time, these are the same contracts, so you should enter the same address twice.

  • Recipient of the Initial Rewards: The contract where users initially stake their tokens.

  • Token to Forward Rewards To: The ERC20 token contract that issues tokens when staking and to which the rewards will be forwarded to the users holding such staked tokens.

For more details on ERC20 Forwarders check out this page.


  • Deposit URL: Provide the deposit URL where users can participate in the campaign. This URL should direct them to the relevant page for participating in the campaign.

  1. Preview Transaction

  • Double-check all the information entered for accuracy. Once you've finished configuring your campaign, proceed by pressing the Preview Transaction button.

  1. Sign and Submit

You can sign and submit using either an EOA account or a multisig wallet. The recommended method for distributing rewards with Merkl using a multisig is through the Gnosis Safe Transaction Builder. Regardless of the method you choose, you will need to follow these steps: sign the T&C conditions, approve the tokens for transfer, and deposit them.

  • Using an EOA Account:

    • Double-check your campaign configuration.

    • Read and accept Merkl's T&Cs by clicking on the Accept button and signing using your wallet.

    • Approve the tokens for transfer and deposit the amount you want to incentivize, plus the maintenance fee of 3%.

After these steps, congratulations! You have created your Merkl ERC20 Incentivization Campaign!

Please note that once created, your campaign may take up to one hour to become visible on the front-end.

  • Using a multisig wallet (Safe Wallet):

The recommended method for distributing rewards with Merkl using a multisig is through the Gnosis Safe Transaction Builder.

To learn how to deploy your campaign from a multisig or Gnosis Safe Transaction Builder, check this page where everything is explained in more detail.

Deploy your campaign from a multisig or Gnosis Safe

Please note that once created, your campaign may take up to one hour to become visible on the front-end.

Last updated