Gnosis Protocol Incentive Program - DropsEarn
Gnosis Protocol Incentive Program

Gnosis Protocol Incentive Program

    Gnosis Protocol DEX sharing incentive program for 1000 GNO in rewards. This incentive program rewards participants who provide liquidity using the customer market maker on Gnosis Protocol. The custom market maker (CMM) scripts allow you to set multiple limit orders at custom price ranges, called “brackets,” and passively provide liquidity on Gnosis Protocol. Please see the terms below to determine eligibility.

    Reward pool
    ~ 25,000
    Expected profit
    from $75
    Max participants
    DropsEarn score

  • Activity Type: Programming DEX
  • Date: 29 Jun 2020 17:00(UTC+3) - 27 Jul 2020 15:00(UTC+3)
  • Registration: Open
  • Event status: You can participate (Event started, Registration open)
  • Links: Official Announcement
Go to event page

Event Details:


To learn more about the custom market maker (CMM), visit our introduction, setup tutorial, and README file for the scripts. Since the complexity of participation in this incentive program is greater than for other competitions, if you have any questions, we strongly recommend joining our Gnosis Discord chat and asking for support in the #protocol channel.

Further details follow below. Happy yield farming!

Incentive Rewards Details

  • A total of 1000 GNO will be distributed as part of this incentive program.
  • From the 1000 GNO on offer, ~$75 equivalent will be paid out per every valid deployment of the custom market maker to offset parts of the deployment and withdrawal costs at the end of the incentive program.
  • How are rewards calculated? The remaining GNO will be awarded to participants according to the provided capital and duration of their liquidity provisions. A participant’s share of the rewards will be calculated as a percentage derived from the capital of the participant’s liquidity provision and weighted by duration of their provision during the program period in proportion to the total capital and duration from all eligible participants. (Note: To learn how the amount of capital a participant provides is calculated, please see the section below Measuring contributed capital.)
  • All rewards will be distributed directly to eligible wallet addresses after the program ends, likely within the following 24 hours.
  • Important: If the 1000 GNO reward pool is not sufficient to cover the cost of all valid custom market maker deployments, the deployments with an earlier deployment time are favored over the later ones.

To be eligible, a participant must:

  • Deploy the custom market maker strategy with exactly 10 “brackets.”
  • Provide liquidity between one of the following stable tokens: {DAI, USDC, OWL, sUSD} and one of the following volatile tokens**: {WETH, WBTC, UMA, DMG, COMP, UAX, PNK, SNX, DXD, ANT, DZAR, GRID, GNO}**.
  • Contribute at least 5k USD worth of the stablecoin and 5k USD worth of the volatile coin. The capital contribution is calculated by the rules described below.
  • Distribute brackets’ step size uniformly with a constant percentage interval. (Note: if you configure the scripts using the tutorial, this criteria is fulfilled.)
  • In practice, this means a participant should investigate the current price p for a pair and a price range [p*(1-x), p*(1+x)] for the orders by deciding on x. Then, the participant should run the available scripts with the parameters `higherLimit` as p * (1+x*)* and `lowerLimit` as p*(1-x).
  • Configure all 10 “brackets” specified in the custom market maker to lie within a -/+30% price range of the asset’s current market price.
    Additionally, half of the brackets must be funded with one stablecoin and the other half with a volatile token from the lists above.
  • For example, returning to the calculation above, x must be lesser than or equal to 0.30.

Not withdraw their funds during the incentivization period. Participants can not top up funds during the period either. However, the precise deployment time can be decided by the participant.

Measuring contributed capital

To determine contributed capital:

  • Stablecoins: For the sake of simplicity, the value of the stablecoins is assumed as 1 DAI = 1 USDC = 1 OWL = 1 USD.
  • Volatile tokens: The value of the volatile tokens is determined at the deployment time from the price chosen via deployment parameters. The specific deployment parameters `higherLimit` and `lowerLimit` set the price range for the brackets. The CMM scripts will solve the equation: `higherLimit = p * (1+x/100)` and `lowerLimit = p * (1-x/100)` to calculate the retrospective price.

Questions? For this incentive program, strongly recommend joining our Gnosis Discord chat and asking for support in the #protocol channel.

Participation Guide

  1. Read the CMM introduction

  2. Read the CMM tutorial

  3. Investigate the current price P of the token pair for which you would like to provide liquidity. The price should be given in regard to the base and quote token: i.e. "one unit of base token in exchange for P units of quote token." Please make sure that this price is correct. Gnosis will not cover any losses made due to an incorrect price.

  4. Decided on a price range [P*(1-X), P*(1+X)] to cover with orders by deciding on a value X. Remember that 0 < X < 0.3 must remain true.

  5. Collect script parameters:

Make sure that depositBaseToken > 5000, and depositQuoteToken * P > 5000.7. Run the script on Rinkeby first, and test the withdrawal as well.8. Run the script on Mainnet.


Deployment 0: ETH - DAI with 10% price range coverage

npx truffle exec scripts/complete_liquidity_provision.js --baseTokenId=1 --quoteTokenId=7 --lowestLimit=207 --highestLimit=253 --currentPrice=230 --masterSafe=$MASTER_SAFE --depositBaseToken=25 --depositQuoteToken=5000 --numBrackets=10 --network=mainnet

=> correct deployment


Deployment 1: ETH - DAI

npx truffle exec scripts/complete_liquidity_provision.js --baseTokenId=1 --quoteTokenId=7 --lowestLimit=207 --highestLimit=253 --currentPrice=230 --masterSafe=$MASTER_SAFE --depositBaseToken=25 --depositQuoteToken=5000 --numBrackets=9 --network=mainnet

=> bracket size incorrect


Deployment 2: ETH - DAI

npx truffle exec scripts/complete_liquidity_provision.js --baseTokenId=1 --quoteTokenId=7 --lowestLimit=207 --highestLimit=253 --currentPrice=230 --masterSafe=$MASTER_SAFE --depositBaseToken=25 --depositQuoteToken=4000 --numBrackets=10 --network=mainnet

=> DAI funding not sufficient


Deployment 3: ETH - DAI

npx truffle exec scripts/complete_liquidity_provision.js --baseTokenId=1 --quoteTokenId=7 --lowestLimit=207 --highestLimit=253 --currentPrice=230 --masterSafe=$MASTER_SAFE --depositBaseToken=20 --depositQuoteToken=5000 --numBrackets=10 --network=mainnet

=> ETH funding not sufficient


Deployment 4: ETH - DAI

npx truffle exec scripts/complete_liquidity_provision.js --baseTokenId=1 --quoteTokenId=7 --lowestLimit=207 --highestLimit=270 --currentPrice=230 --masterSafe=$MASTER_SAFE --depositBaseToken=25 --depositQuoteToken=5000 --numBrackets=10 --network=mainnet

=> non-symmetric price range

Disclaimer: This summary is for informational purposes only and subject to change. Nothing in this summary should be construed as, and may not be used in connection with, an offer to sell, or a solicitation of an offer to buy or hold, an interest in any security or financial instrument. You are solely responsible for determining whether any of the described transactions is appropriate for you based on your personal objectives, financial circumstances, risk tolerance and law applicable to you. We have not assessed the suitability of any of the tokens mentioned in this summary. The fact that any particular token is (or is not) featured in this summary must not be interpreted as any form of endorsement of that token. We do not endorse any particular token for any purpose and have not conducted an assessment in relation to the value, fitness, availability, liquidity, purpose, security of any token. Please consult your business, tax, accounting or legal advisor.

While we believe that the information is accurate as of the date of publication, we do not accept any liability to you or anyone else for any losses of any nature resulting from any information contained herein.