用戶添加流動性後,獲得的 LP 代幣數量計算方式並不是單一的,它取決於具體的協議和添加流動性時的狀況。
下面PandaTool將分情況詳細解釋 LP 代幣數量的計算邏輯。

核心思想
首先,理解 LP 代幣的本質至關重要:
-
權益證明:LP 代幣代表你在流動性池中的份額所有權。它就像一張股權證書,證明你在這個「資金池公司」裡投了多少錢。
-
不是固定數量:你得到的 LP 數量不是簡單由你投入的資產量決定的,而是由你的投入佔池子總資產的比例決定的。
情況一:你是第一個流動性提供者(初始化池子)
當你是第一個為交易對(例如 TokenA/TokenB)創建池子的人時,協議需要設定一個初始的「錨定比例」。這時,LP 數量的計算規則非常簡單:
你獲得的 LP 數量 = 你投入的兩種資產數量的幾何平均數
公式為:LP_Received = √(TokenA_Amount * TokenB_Amount)
-
TokenA_Amount:你投入的第一種資產的數量。 -
TokenB_Amount:你投入的第二種資產的數量。 -
LP_Received:你將獲得的 LP 代幣數量。
舉個例子:
假設你為 TokenA/TokenB 池子第一個添加流動性,投入 TokenA_Amount = 10 和 TokenB_Amount = 20,000。
那麼你獲得的 LP 數量 = √(10 * 20,000) = √(200,000) ≈ 447.21 個 LP 代幣。
為什麼這麼做?
因為此時池子裡 100% 的資產都是你的,這 447.21 個 LP 代幣就代表了 100% 的池子所有權。它也為後續的流動性提供者設定了一個價格基準:1 TokenA = 20,000 / 10 = 2,000 TokenB。
情況二:你不是第一個提供者(向已存在的池子添加流動性)
這是最常見的情況。此時,LP 數量的計算基於你的貢獻比例。
核心公式:你的 LP 數量 = (你提供的 TokenA 數量 / 池中 TokenA 總量) * 當前 LP 總供應量
但為了確保添加的流動性不會「稀釋」現有 LP 的價值,並且符合池子的當前比例,協議通常會要求你按照當前池中資產的比例來投入兩種資產。
計算步驟如下:
-
獲取池子當前狀態:
-
池中 TokenA 的總量:
TokenA_Pool -
池中 TokenB 的總量:
TokenB_Pool -
當前 LP 代幣的總供應量:
LP_TotalSupply
-
-
確定你應該投入的資產數量:
假設你只想投入一定數量的 TokenA,那麼根據恆定乘積公式x * y = k,你需要投入的 TokenB 數量為:TokenB_Deposit = (TokenB_Pool / TokenA_Pool) * TokenA_Deposit
這樣你投入的兩種資產的價值就是相等的。 -
計算你應得的 LP 數量:
協議會根據你投入的資產佔池子原有資產的比例,來鑄造新的 LP 代幣給你。比例是相同的,所以用哪個資產計算都可以(理論上結果應一致)。LP_Received = (TokenA_Deposit / TokenA_Pool) * LP_TotalSupply
或者LP_Received = (TokenB_Deposit / TokenB_Pool) * LP_TotalSupply
舉個例子:
-
池子現狀:一個 TokenA/TokenB 池子,裡面有
TokenA_Pool = 100和TokenB_Pool = 200,000。當前 LP 總供應量LP_TotalSupply = 1,000個。 -
當前價格:
1 TokenA = 2,000 TokenB。 -
你的操作:你想投入
TokenA_Deposit = 5。
首先,計算你需要投入的 TokenB 數量:TokenB_Deposit = (200,000 / 100) * 5 = 10,000 TokenB
所以,你需要投入 5 TokenA 和 10,000 TokenB。
然後,計算你能獲得的 LP 數量:LP_Received = (5 / 100) * 1,000 = 50 個 LP 代幣。
或者 LP_Received = (10,000 / 200,000) * 1,000 = 50 個 LP 代幣。
結果解讀:
-
你投入了池子 5% 的資產(5/100 的 TokenA,10,000/200,000 的 TokenB)。
-
因此,你獲得了 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 數量 = √(TokenA_Amount * TokenB_Amount) |
設定初始價格和 100% 的所有權。 |
| 後續 LP | LP 數量 = (你投入的資產量 / 池中該資產總量) * 當前 LP 總供應量 |
按資產比例分配池子份額。 |
簡單來說,LP 代幣就是你在這個共享資金池中的「股份」。你投入的資金佔總資金的比例,決定了你能拿到總「股份」中的多少份。當你移除流動性時,你也是根據你持有的 LP 數量佔總量的比例,來贖回池中對應比例的兩種資產。
本文由PandaAcademy原创,如若转载,请注明出处:https://academy.pandatool.org/zh_HK/kn/2102
。PandaAcademy是PandaTool旗下的Web3学习中心,专注于向普通用户提供区块链和加密货币知识输出