🧑🔬Deploy your campaign from a multisig or Gnosis Safe
Guide to deploy a Merkl Campaign from a multisig or Gnosis Safe
Last updated
Guide to deploy a Merkl Campaign from a multisig or Gnosis Safe
Last updated
The recommended method for distributing rewards with Merkl using a multisig is through the Gnosis Safe Transaction Builder.
To deploy successfully your campaign, you will need to follow these steps: sign the T&C conditions, approve the tokens for transfer, and deposit them.
Merkl requires anyone depositing incentives into the system to accept the Terms & Conditions. This is done by calling the acceptConditions
function of the DistributionCreator
. For those creating multiple campaigns in a single transaction batch, accepting the Terms & Conditions once is sufficient.
Follow these steps to build the payload and finalize your campaign creation:
Configure your campaign:
Go the the Merkl campaign creation page and fill in all the necessary data to configure your campaign.
Build the Payload:
Once your configuration is complete, build the payload by clicking on the Using Safe ? Build a payload. This option can be found at the bottom of the campaign creation page (see screenshot below).
Download or Copy the Safe Template
Download the Safe Template (recommended), or copy the payload to your clipboard if you intend to customize it further. If you need help with customization, reach out to us on Discord by opening a BD ticket.
Upload the JSON File:
Using the Gnosis Safe Transaction Builder, simply drag and drop the JSON file into the appropriate area, or click on Choose a file to upload it manually.
If you are using something other than the Transaction Builder, proceed as you are accustomed to.
Execute the Transactions:
You will see the 3 following transactions:
approve
: Approval for the MerklDistributor contract to spend the reward tokens
acceptConditions
: Transaction to accept Merkl T&Cs. It is mandatory to have this transaction the first time you create a campaign; you can remove it later if you wish.
createCampaign
: Transaction to create the campaign.
Click on Create Batch and then Send Batch to execute the transactions and deploy your Merkl Campaign.
Congratulations! You have successfully created your Merkl campaign!
If you do not want to create multiple campaigns in a single transaction batch, you can skip this section. However, if you do wish to create multiple campaigns in one transaction batch, follow these steps:
Retain Initial Transactions:
Keep the first three transactions from the first campaign safe template. These include acceptConditions
, approve
, and createCampaign
.
Download the Safe Template for Each other Campaign:
For subsequent campaigns, download the safe template (the process is the same as for the first campaign Safe Template). Each template will consist of the same three elements: acceptConditions
, approve
, and createCampaign
.
Compile the Transaction List:
Copy and paste the acceptConditions
, approve
, and createCampaign
elements from each additional template into the list in the JSON of the first Safe Template. This will compile the transactions for all campaigns you intend to deploy.
Optimize for Gas fees:
Note that you do not need to include acceptConditions
for every campaign. Including it only in the first element of the list can help reduce gas fees.
Save for Future Use:
Save the transaction batch in your library. This will streamline the process and allow you to create new campaigns faster in the future
By following these steps, you can efficiently deploy multiple campaigns in a single transaction batch. Congratulations on optimizing your campaign deployment process!
Please note that once created, your campaign may take up to one hour to become visible on the front-end.