ApeSwap
Ask or search…
K

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=teln=1N((1+P(n))eln)+eluLC = \frac{tel}{\sum_{n=1}^{N} ((1+P(n))*eln)+\sum elu}
where:
P(n)=(n1)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+(11))100,000+(1+(21))85,000+(1+(31))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+(11))100,000+(1+(21))85,000+(1+(31))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 modified 7mo ago