Market Cap на примере Pump.fun
Что такое Market Cap?
Рыночная капитализация (Market Cap) — это общий объём денег, вложенных в определённую криптовалюту.
Рассчитывается по формуле:
Market Cap = Цена 1 токена * Общее количество в обращении
Если, например, у токена в обращении 10_000_000 монет, и каждая стоит 0.01 SOL, то его рыночная капитализация составляет:
$10.000.000 × 0.01 SOl = 100.000 SOL$
Пример Pump.fun
На примере https://solscan.io/token/DdLGXqbWa1kcKQFjTkM21DQLsJSMBUzi81JncyZUZZ3J#defiactivities
При создании нового токена программой установлены фиксированные данные:
- Количество токенов в резерве (
vTokensInBondingCurve
): 1073000000 штук - Количество SOL в резерве (Виртуальный пул, Стартовая ликвидность,
vSolInBondingCurve
): 30 SOL - Количество токенов в пуле (Mint, Current Supply): 1_000_000_000
-
Пользователь создал токен
VDOG
, и купил токенов (initialBuy
) на0
SOL (solAmount
){ "time": "2025-02-14T15:49:10.774Z" "txType": "create", "mint": "DdLGXqbWa1kcKQFjTkM21DQLsJSMBUzi81JncyZUZZ3J", "traderPublicKey": "9uvkVrqSLEuQSUP2pbtF6Fv7RFJV2wgRwBnXbKbLWEYQ", "initialBuy": 0, "solAmount": 0, "bondingCurveKey": "5CF3dHryaABtcEuPS9tK9HbRqeyLGhtJHFFHyRHXpB1o", "vTokensInBondingCurve": 1073000000, "vSolInBondingCurve": 30, "marketCapSol": 27.958993476234856, "name": "Voter Doge", "symbol": "VDOG", "uri": "https://ipfs.io/ipfs/QmUJjXLRCDCDsTcr9Kv6huezqqg31mPELU7pu7RZoGBJbF", "pool": "pump", "signature": "fJ9uDLtFdzd6CrRKi1vHqR4AJD4ReBp8rDwoHZ9WVrkLL4xKp3QL2kbpyBxzwfVhyvvDg2bRV7RNVJ1wg2zBwT6", }
Pump.fun использует модель CLMM (Маркет-мейкер концентрированной ликвидности) по формуле:
k = x * k
x
= SOL в резерве (vSolInBondingCurve
= 30 SOL)y
= Токенов в резерве (vTokensInBondingCurve
= 1,073,000,000 tokens)k
= Constant product liquidity
При инициализации токена в Pump.fun, коэффициент
k
можно рассчитать и получается32190005730
.vTokensInBondingCurve
: Общее количество токенов в резервеvSolInBondingCurve
: Общее количество SOL в резервеmarketCapSol
: капитализация в SOL
-
Зная первоначальный объем пула и количество выпущенных токенов, можно узнать примерную начальную цену:
0.000000028 SOL
Цена токена:
tokenPriceSol = vSolInBondingCurve / vTokensInBondingCurve
:tokenPriceSol
= 30 / 1073000000 = 0.000000028- Более точная цена в данном случае:
0.00000002795899347623485
P.S. данная формула более точная, так как использует точное значениеvTokensInBondingCurve
иvSolInBondingCurve
Цена токена также может рассчитываться по формуле:
tokenPriceSol = marketCapSol / vTokensInBondingCurve
tokenPriceSol
= 27.958993476234856 / 1073000000 = 0.00000002605684387347144
-
Зная цену и реальное количество токенов в пуле (в Pump.fun 1_000_000_000), можно рассчитать рыночную капитализацию (Market Cap):
totalTokensInPool
= 1_000_000_000marketCapSol = tokenPriceSol * totalTokensInPool
marketCapSol
= 0.00000002795899347623485 * 1_000_000_000 = 27.9589
-
Следующим шагом происходит покупка
97545454.542498
токена на сумму3
SOLvTokensInBondingCurve = vTokensInBondingCurve - 97545454.542498
vSolInBondingCurve = vSolInBondingCurve + 3
Новые значения:
vTokensInBondingCurve
= 975454545.457502vSolInBondingCurve
= 33tokenPriceSol
= 33 / 975454545.457502 = 0.00000003383038marketCapSol
= 0.00000003383038 * 1_000_000_000 = 33.83038
При первой покупке на 1 SOL цена изменилась на 20%
4.1 Покупка 2917610.80396
токена на 0.099
SOL
Новые значения:
-
vTokensInBondingCurve
= 975454545.457502-2917610.80396 = 972536934.653542 -
vSolInBondingCurve
= 33.099 -
tokenPriceSol
= 33.099 / 972536934.653542 = 0.000000034033668 -
marketCapSol
= 0.000000034033668 * 1_000_000_000 =34.0336684.2 Продажа
2917610.80396
токена на0.0989999
SOL Новые значения: -
vTokensInBondingCurve
= 972536934.653542+2917610.80396 = 975454545.457502 -
vSolInBondingCurve
= 33.099-0.0989999 = 33.000000099 -
tokenPriceSol
= 33.000000099 / 975454545.457502 = 0.00000003383038 -
marketCapSol
= 0.00000003383038 * 1_000_000_000 = 33.830384.2 Продажа
97,545,454.542498
токена на2.999999
SOL Новые значения: -
vTokensInBondingCurve
= 975454545.457502+97545454.542498 = 1073000000 -
vSolInBondingCurve
= 33.000000099-2.999999 = 30 -
tokenPriceSol
= 30 / 1073000000 = 0.000000027958 -
marketCapSol
= 0.000000027958 * 1_000_000_000 = 27.958