A Formulaic Approach to Minswap’s MIN Emissions


After many discussions with @MadBlocks and @PurritoGeneral, I have come up with a formalized model that derives the MIN emissions per pool in a purely data-driven manner. The model looks at the 14 day moving average of TVL and 14 day moving average of Volume. The model rewards pools that have high Volume and low TVL. Volume is more important (currently 9x more important).This is because for a DEX, Volume is the most important metric , as it is what determines the swap fees for LPs, and an indicator of how much traffic it gets. So essentially, for a DEX, Volume is equivalent to what the Revenue would be in a company, and it should be maximized.

Then the model uses the Volume and TVL metrics to come up with a number somewhere between 0 and 1 for each LP. That number is used to put each LP somewhere between the Minimum and Maximum MIN Emissions Points (MEPs) Allocation, which is a parameter of the model. So if the number is 0 the LP gets its minimum allowed MEPs. If the number is 1, the LP is capped at the maximum allowed MEPs. Minimum and Maximum allocations are set based on what Farm Group the pool is in.


I have been using Minswap DEX since they launched. I was extremely impressed with their FISO, their LBE for Protocol Owned Liquidity, the fact that they open sourced their code, and their overall community oriented approach to everything they do. After they announced their farming pools, I was curious how they would change the MIN Emissions. @madBlocks was on their discord talking about a more quantitative way of determining how MIN Emissions would change over time. We put our heads together and came up with a unique solution that is parameterized but uses live inputs from the DEX and the Liquidity Pools to determine MIN Emissions. After discussing with @PurritoGeneral, I think we have found a dynamic approach that would satisfy all parties.

Why do we need a formulaic approach?

As of now, current Minswap MIN Farming Emissions have been set by the team. These emissions should change over time. But how should they change? Who should determine how the emissions change, and what farms get more or less emissions? Given we do not have a good way of allowing MIN holders to vote for pools, a formula driven approach can be an objective solution to choosing MIN Emission Points (MEPs) per liquidity pool.

What are the inputs?

  1. 14 Day Average Daily Volume (14D ADV) — This measure is a smoothed measure of the volume transacted in a LP over the past 14 days. The long term success of a DEX is driven by deep liquidity and volume. Token emissions cannot last forever, so eventually LP rewards will come down to volume only. A DEX that has strong volume after emissions end will continue to incentivize users to provide liquidity to the LPs. We should be rewarding pools with high volume.

  2. 14 Day Average Total Value Locked (14D Ave TVL) — This measure is a smoothed measure of the Total Value Locked inside of an LP over the past 14 days. TVL shows how deep the liquidity of a pool is. Deeper liquidity means less slippage for anyone who wants to transact in that pair of tokens. So deeper liquidity incentivizers users to use Minswap DEX to swap this specific pair of tokens. If a token pair has deeper liquidity on a competing DEX, it is highly likely that the competing DEX will have better pricing. We should be rewarding pools with lower TVL in order to incentivize users to deposit liquidity in those pools, and drive volume to Minswap.

Going Forward

It would be beneficial for Minswap to transition to a more objective and data driven method for determining MIN emissions over time. While some decisions, such as addition of new Farms, or the Minimum and Maximum Points that Farms are still determined by the Team, this formulaic approach is a better way to determine allocation of MIN emissions than one based purely on consensus by the Kitty Farmer Committee.

I have a full, very long, article detailing every parameter and every step of the model. Please feel free to read at your leisure here!

Happy to answer any and all questions.

This was not possible without support from these degens below plus others. Thank you all!


I fully support this approach.


That’s a great approach! I love the idea of objective, algorithmic steering by incentives.

Without having read the entire thing in detail, I’d just like to remark that more casual users / providers will still need easy, fast-to-grasp signals in order for the algorithm to have effect. This could be some kind of visual representation of the the past and current incentives (eg a timeline chart or a ranking with trends) or you could combine the approaches and discretize the algorithm outcome to sort pools into the existing (or updated) classes when certain thresholds are met. Could be a best-of-two-worlds solution.


I totally agree with this change, in fact it must take place yesterday! GO GO GO!

1 Like

This is an answer to a prayer. My intuition has always been that volume is far more important than TVL in terms of incentivizing liquidity. Thank goodness for cleverer minds like yours both to formularize an objective, data driven approach. I support this in full knowledge that it will impact my yields negatively.


While I agree with using ADV for the formula, I don’t think that TVL should be used to drive the amount of MIN that’s rewarded to a pool. The reason is that TVL already affects the calculation of the % APR return. If two pools get the same amount of MIN each day in the current model, the one with the lower TVL will automatically get a greater %APR, so that will drive folks to provide more liquidity. You shouldn’t reward pools with lower TVL even further.

Your point about APY is correct. But the idea here is that… the current high APY on the lower TVL pool isnt high enough. That APY actually needs to be higher to incentivize more people to LP into that pool.
As time goes on, more people LP into thzt now higher APY pool > TVL increases > APY organically decreases and potentially decreases based on lowe emissions due to algorithm.

I hope that help explains why TVL is included (even at currently low weight).
Its all about incentivizing all pools to have higher TVL and more volume while balancing the fact that emissions cant last forever and volune is the necessary input for long term health of a DEX.

I think that the market decides whether or not to provide liquidity into a pool the way that it works today. Some pools will have more risk than others due to their price volatility and impermanent loss. The APR balances itself out by folks providing or not providing liquidity based on the risk. Riskier pools already end up with less liquidity and higher APRs. Look at cNETA.

Promoting TVL even further will pull yield farming rewards away from low risk pools (like stable coins) and drive them to higher risk pools. Another large concern I have with promoting TVL even further is that for most of these pools, the projects themselves are providing alot of the liquidity. They are able to manipulate the formula by how much liquidity the place/withdraw.

I agree that volume is the thing that needs to be promoted as long term that is how the DEX itself will earn, and liquidity providers will only be able to earn based on fees (which grows with volume).

I completely understand where your coming from even if i do partially disagree with you. But 2 important points that may make you feel better.

Currently the model is weighted to volume 90% and tvl 10%. So volume is currently 9x more important than tvl.

All pools are bucketed and have min and max potential emissions points. So we can add, remove, increase a pool to a higher farming group or lower it.

Ideallly these parameters will eventually be controlled by a DAO. There is a group of people already working on a locked version of MIN so we can hopefully start to add voting on things like this and the pople who vote are actual locked MIN holders.

Hopefully this helps. The model is purposefully parameterized to evolve as the community thinking evolves!