用户添加流动性后,获得的LP代币数量计算方式并不是单一的,它取决于具体的协议和添加流动性时的状况。下面PandaTool将分情况详细解释 LP 代币数量的计算逻辑。
首先,理解LP代币的本质至关重要:
-
权益证明:LP代币代表你在流动性池中的份额所有权。它就像一个股权证书,证明你在这个“资金池公司”里投了多少钱。
-
不是固定数量:你得到的LP数量不是简单由你投入的资产量决定的,而是由你的投入占池子总资产的比例决定的。

情况一:你是第一个流动性提供者(初始化池子) #
当你是第一个为交易对(例如 ETH/USDC)创建池子的人时,协议需要设定一个初始的“锚定比例”。这时,LP数量的计算规则非常简单:
你获得的LP数量 = 你投入的两种代币数量的几何平均数
公式为:LP_Received = √(x * y)
-
x:你投入的第一种资产的数量(例如,10个 ETH)。 -
y:你投入的第二种资产的数量(例如,20,000个 USDC)。 -
LP_Received:你将获得的LP代币数量。
举个例子:
假设你为 ETH/USDC 池子第一个添加流动性,投入 x = 10 ETH 和 y = 20,000 USDC。
那么你获得的LP数量 = √(10 * 20,000) = √(200,000) ≈ 447.21 个LP代币。
为什么这么做?
因为此时池子里100%的资产都是你的,这447.21个LP代币就代表了100%的池子所有权。它也为后续的流动性提供者设定了一个价格基准:1 ETH = 20,000 / 10 = 2,000 USDC。
情况二:你不是第一个提供者(向已存在的池子添加流动性) #
这是最常见的情况。此时,LP数量的计算基于你的贡献比例。
核心公式:你的LP数量 = (你提供的资产x / 池中资产x总量) * 当前LP总供应量
但为了确保添加的流动性不会“稀释”现有LP的价值,并且符合池子的当前比例,协议通常会要求你按照当前池中资产的比例来投入两种资产。
计算步骤如下:
-
获取池子当前状态:
-
池中资产X的总量:
x_pool -
池中资产Y的总量:
y_pool -
当前LP代币的总供应量:
total_supply
-
-
确定你应该投入的资产数量:
假设你只想投入一定数量的资产X(例如 ETH),那么根据恒定乘积公式x * y = k,你需要投入的资产Y(USDC)数量为:y_deposit = (y_pool / x_pool) * x_deposit
这样你投入的两种资产的价值就是相等的。 -
计算你应得的LP数量:
协议会根据你投入的资产占池子原有资产的比例,来铸造新的LP代币给你。比例是相同的,所以用哪个资产计算都可以(理论上结果应一致)。LP_Received = (x_deposit / x_pool) * total_supply
或者LP_Received = (y_deposit / y_pool) * total_supply
举个例子:
-
池子现状:一个ETH/USDC池子,里面有
x_pool = 100 ETH和y_pool = 200,000 USDC。当前LP总供应量total_supply = 1,000个。 -
当前价格:
1 ETH = 2,000 USDC。 -
你的操作:你想投入
x_deposit = 5 ETH。
首先,计算你需要投入的USDC数量:y_deposit = (200,000 / 100) * 5 = 10,000 USDC
所以,你需要投入 5 ETH 和 10,000 USDC。
然后,计算你能获得的LP数量:LP_Received = (5 / 100) * 1,000 = 50 个LP代币。
或者 LP_Received = (10,000 / 200,000) * 1,000 = 50 个LP代币。
结果解读:
-
你投入了池子5%的资产(5/100的ETH,10,000/200,000的USDC)。
-
因此,你获得了5%的LP总供应量(50 / (1000 + 50) ≈ 4.76%,注意总供应量变为了1050,所以你的份额是50/1050≈4.76%)。
-
这确保了你的份额与你的贡献完全成比例。
特殊情况与注意事项 #
-
比例不匹配:如果你投入的两种资产比例与池子当前比例不匹配,协议通常会把你“多余”的那部分资产自动转换成另一种资产,以使比例匹配,但这会产生滑点和手续费。大多数前端界面会直接帮你计算好需要投入的精确数量,并阻止你进行不匹配的添加。
-
手续费的影响:交易产生的手续费会留在池子里,增加了池中资产的总价值。这意味着,即使价格没变,每个LP代币背后代表的资产也变多了(即LP代币本身增值了)。当你赎回时,你能取出的资产会比当初投入的要多。这部分增值在计算LP数量时不会立即体现为更多的LP代币,而是体现在你赎回时,每个LP代币能换回的资产变多了。
-
不同协议的细微差别:虽然核心逻辑相同,但Uniswap V2/V3、Balancer、Curve等不同协议在具体实现上可能会有细微差别。例如,Uniswap V3的集中流动性使得LP不再是同质化的,计算更为复杂。
总结 #
| 情况 | 计算方法 | 核心思想 |
|---|---|---|
| 第一个LP | LP数量 = √(投入资产1 * 投入资产2) |
设定初始价格和100%的所有权。 |
| 后续LP | LP数量 = (你投入的资产量 / 池中该资产总量) * 当前LP总供应量 |
按资产比例分配池子份额。 |
简单来说,LP代币就是你在这个共享资金池中的“股份”。你投入的资金占总资金的比例,决定了你能拿到总“股份”中的多少份。当你移除流动性时,你也是根据你持有的LP数量占总量的比例,来赎回池中对应比例的两种资产。
本文由Panda Academy原创,转账请注明出处。Panda Academy是PandaTool旗下的Web3教育平台,旨在提供一站式的Web3教育。