Liquidity Concentration

Liquidity Concentration (LC) measures the degree to which the liquidity for a projectā€™s token is concentrated to a certain number of liquidity pools. This metric is simple - the fewer pools you have scattered across the blockchain, the more concentrated your liquidity is and the more accessible that liquidity will be with lower slippage and price impact when trading.

Simply put, LC looks to answer the following question: Is this projectā€™s liquidity too spread out?

Liquidity Concentration Formula

LC=telāˆ‘n=1N((1+P(n))āˆ—eln)+āˆ‘eluLC = \frac{tel}{\sum_{n=1}^{N} ((1+P(n))*eln)+\sum elu}

where:

P(n)=(nāˆ’1)āˆ—ankP(n) = (n-1)*\frac{a}{n^k}

Constants configs.:

a=1a = 1

k=0k = 0

Variables description:

nn: The order each 'penalizable pool' gets assigned by applying the criteria defined below

uu: Tag that stands for 'untracked'

elneln: Extractable Liquidity in pool nn

eluelu: Extractable liquidity in pools with uu tag

teltel: Total extractable liquidity of the project

NN: Total number of pools in the nn list

Scoring

We look at the overall concentration of pools, and see if the project is spreading their capital too thin.

If any pool has more than $250k of Extractable liquidity then it is automatically not penalized. That is driven by the fact that a pool of that size is material enough to actually benefit your token and provide a decent trading experience for users.

Additionally the first pool below $250k of EL is also not penalized. Depending on a project's goals, it is reasonable to be working on building up an additional liquidity pool.

If there are invalid pairs they are thrown out as that liquidity is likely useless.

The weight of the penalty depends on the number of additional liquidity pools you have below $250k EL and their proportional weight to the overall extractable liquidity the project has.

To put simply, if you have one liquidity pool you automatically get a score of 100. If you have multiple pools all above $250k you also get a score of 100, or if you have a single pool after those multiple pools that is below $250k.

When you start to have multiple pools below $250k you begin to get penalized based on how large those pools are compared to the sum total liquidity you have.

Notes

  • Only valid pair pools are considered, and must be ordered by decreasing extractable liquidity value.

  • Lastly, assign each pool in the ordered list an nn value or a uu tag (uu standing for ā€˜untrackedā€™), starting with 1 for the first of the nn kind, and increasing by 1 for each subsequent pool of the same kind. Pools with extractable liquidity greater or equal than $250,000 should be assigned a uu tag, and should not be assigned an nn value, nor should these pools have any effect on the nn value assigned to the rest of the pools in the list.

Example 1: Project with no uu tag pools

LC calculation:

Pool 1 -> $100,000 extr. liq. BANANA-WMATIC (ā€˜valid pairā€™) -> n=1n=1

Pool 2 -> $85,000 extr. liq. BANANA-USDC (ā€˜valid pairā€™) -> n=2n=2

Pool 3 -> $23.000 extr. liq. BANANA-BUSD (ā€˜valid pairā€™) -> n=3n=3

Then:

LC=100,000+85,000+23,000(1+(1āˆ’1))āˆ—100,000+(1+(2āˆ’1))āˆ—85,000+(1+(3āˆ’1))āˆ—23,000LC = \frac{100,000+85,000+23,000}{(1+(1-1))*100,000+(1+(2-1))*85,000+(1+(3-1))*23,000}

Example 2: Project with uu tag pools

LC calculation:

Pool 1 -> $300,000 extr. liq. BANANA-WBNB (ā€˜valid pairā€™) -> uu tag

Pool 2 -> 250,000 extr. liq. BANANA-BUSD (ā€˜valid pairā€™) -> uu tag

Pool 3 -> $100,000 extr. liq. BANANA-WMATIC (ā€˜valid pairā€™) -> n=1n=1

Pool 4 -> $85,000 extr. liq. BANANA-USDC (ā€˜valid pairā€™) -> n=2n=2

Pool 5 -> $23.000 extr. liq. BANANA-WBTC (ā€˜valid pairā€™) -> n=3n=3

Then:

LC=300,000+250,000+100,000+85,000+23,000300,000+250,000+(1+(1āˆ’1))āˆ—100,000+(1+(2āˆ’1))āˆ—85,000+(1+(3āˆ’1))āˆ—23,000LC = \frac{300,000+250,000+100,000+85,000+23,000}{300,000+250,000+(1+(1-1))*100,000+(1+(2-1))*85,000+(1+(3-1))*23,000}

Last updated