作者:子佈

Meteora是Solana鏈上的一個DeFi項目,專注於為Solana生態系統打造一個高效、可持續且靈活的流動性層。它的目標是解決Solana上流動性不足的問題,讓交易更順暢、成本更低,同時為提供流動性的用戶帶來更好的收益。

Meteora的池子主要是DLMM池和Dynamic Pools(動態池),在DLMM池中可以加雙邊池和單邊池。其中dev可以利用單邊池進行出貨和吸籌,例如trump/sol交易對,在價格上漲時,dev可以在某個更高的價格區間只加$trump的單邊池,當價格上漲到此價格區間時就會自動將$trump換為$sol用來出貨,同時獲得手間費用;

如果我們想知道dev在什麼價格用單邊池出貨和吸籌,那麼知道其對應的價格區間是很有必要的。

一、基礎概念

網址:https://app.meteora.ag/

1、交易對

任兩個幣組成一個交易對,例如$trump和$sol組成trump-sol交易對,$trump和$usdc組成trump-usdc交易對。

2、Pool(LP池子)

每個交易對下面可以有多個Pools,每個Pool按Bin Step和Fee(手續費)的不同來區分。例如trump-usdc的交易對下面就有57個Pools,每個Pool都對應一個唯一的位址,如圖

手把手教學:快速掌握Meteora流動性價格區間的檢視方法

3、bin

DLMM中每個bin代表一個價格,每個bin 就是掛的某個價格的買單或賣單。

4、bin step

Bin step是指兩個相鄰bin之間的價格間隔大小,用基點(basis points,1基點=0.01%)來計算。它決定了bin的密度和流動性分佈的精細程度,由池子的創建者設定。

舉個例子:

  • 假設目前SOL/USDC的價格是20美元,bin step設為25基點(0.25%)。

  • 下一個bin的價格是20 × 1.0025 = 20.05美元,再下一個是20.05 × 1.0025 ≈ 20.10美元,以此類推。

5、Position(部位)

position是用來描述流動性提供者如何將資金分配到特定的價格區間,每個position對應一個唯一的地址。 position是創建於某一個池子裡面,一個池子可以創建多個不同的position。

一個position通常包含以下關鍵元素:

(1)價格區間

每個position都有一個明確的價格區間,表示流動性提供者希望支持的價格範圍,這個價格區間由一組連續的bin組成。

(2)資金量

投入兩種代幣(如SOL和USDC)的數量。 Meteora會根據目前價格和區間範圍,計算每種代幣的具體比例,確保滿足池子的需求。

(3)分佈策略

Meteora提供幾種流動性分佈方式,讓使用者決定資金如何分配到各個bin:

  • Spot(均勻分佈) :資金平均分配到每個bin,適合預期價格波動小的場景。

  • Curve(鐘形分佈) :資金集中在當前價格附近,越遠離當前價格越少,像鐘形曲線,適合希望聚焦當前價格的LP。

  • Bid-Ask(雙向分佈) :資金集中在當前價格的兩側,形成兩個高峰,適合高波動市場。

(4) Bin Step

使用者在建立position時無法變更bin step,這是在建立pool時設定。

二、連接錢包查看

Meteora支援連接錢包位址後查看持有的部位,並且支援以觀察錢包的方式查看,我們可以根據此特性查看池子的價格區間。

以$trump(6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN)為例。

首先,我們開啟debot (https://debot.ai?inviteCode=175623)輸入$trump的CA後,找出dev的位址5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7,如圖

手把手教學:快速掌握Meteora流動性價格區間的檢視方法

然後,打開Phantom錢包,【添加/連接錢包】--【監視地址】,輸入“名稱”和“地址”,此處填寫dev的地址5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7

手把手教學:快速掌握Meteora流動性價格區間的檢視方法

最後,打開Meteora連接Phantom錢包,點擊頂部的【Portfolio】就能看到所有添加的池子,點擊DLMM的任一個池子,會顯示池子的詳情和所有的倉位,如圖

手把手教學:快速掌握Meteora流動性價格區間的檢視方法

圖中左邊的Bin Step和Base Fee就是目前池子的訊息,中間部分就是不同價格區間的部位。任意點開一個倉位能看到當前餘額、未領的手續費、分佈策略等資訊。

用這種方式查看價格區間的好處是方便直觀,可以列出目前存在的所有倉位資料;缺點是當流動性被撤掉後無法查看。

三、鏈上資料計算

我們可以用鏈上的資料計算每個倉位的價格區間,不管倉位是否還存在。

Meteora的文檔中給出了計算公式

價格區間的最小值:min_price = (1 + bin_step/10000) ^ lower_bin_id

價格區間的最大值:max_price = (1 + bin_step/10000) ^ upper_bin_id

如果交易對以A/B表示,其中代幣A的精度為decimals_A,代幣B的精度為decimals_B,那麼最終的計算公式為

價格區間的最小值:min_price = (1 + bin_step/10000) ^ lower_bin_id/10^(decimals_B-decimals_A)

價格區間的最大值:max_price = (1 + bin_step/10000) ^ upper_bin_id/10^(decimals_B-decimals_A)

要注意的是,這裡計算的價格是代幣A相對於代幣B的價格,如果想查看代幣A相對於usd的價格,那麼還需要查詢代幣B的usd價格,再進行轉換。

由上述公式可知,要計算出數據,我們需要知道一個池子的bin_step、倉位的lower_bin_id和upper_bin_id,此外還需要知道交易對中兩個幣的精度。

繼續以$trump(6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN)為例,計算此dev的某單邊池的價格區間。

我們開啟solscan,輸入$trump的dev位址( https://solscan.io/account/5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7?activity_type=ACTIVITY_TOKEN_ADD_LIQ&page 的數字,【ID」在Amount那一列能看到列出的加流動性交易全是單邊池,要么只添加了$trump,要么只添加了$usdc。本文以圖中最後一筆交易為例,如圖

手把手教學:快速掌握Meteora流動性價格區間的檢視方法

打開上圖的最後一筆交易( https://solscan.io/tx/284UXTrgWNFFXTovbCAQsJA8U5mW4rntwa8KyRvSmhNYf7cus1rtskiVqwNkErdosDMUsJfxXm8KgkCf7cus1rtskiVqwNkErdosDMUsJfxXm8KgkCff1DzTPPrm ),查看詳情

手把手教學:快速掌握Meteora流動性價格區間的檢視方法

我們分別打開$trump和$usdc的鏈接,可以查到$trump的精度為6,$usdc的精度也為6,如圖

手把手教學:快速掌握Meteora流動性價格區間的檢視方法

在交易詳情頁面往下查看,在【 #4.1 - Meteora DLMM Program: initializePosition】可以知道lowerBinId為1062,bin的寬度即個數為46,池子位址為9d9mb8kooFfaD3ScyZtkxQypkshx6ezhbKio89ixyZtkxQypkshx6ezhbKio89ixyZt。由上述資訊可以計算出upperBinId=lowerBinId + widh - 1 =1062+46-1=1107

手把手教學:快速掌握Meteora流動性價格區間的檢視方法

在solscan上開啟池子位址9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2( https://solscan.io/account/9d9mb8kooFfaD3SctgZtkxQypkshx6AhbKiod9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixy2 切換成「5」p ,如圖

手把手教學:快速掌握Meteora流動性價格區間的檢視方法

由以上資訊可獲得計算公式中所需的所有資料:

bin_step=50

lower_bin_id=1062

upper_bin_id=1107

decimals_A=6

decimals_B=6

則可以計算出

價格區間的最小值:min_price = (1 + bin_step/10000) ^ lower_bin_id/10^(decimals_B-decimals_A)=(1+50/10000)^1062/10^(6-6)=1+50/10000)^1062/10^(6-6)=1+50/10000)^1062/10^(6-6)=199.6905832

價格區間的最大值:max_price = (1 + bin_step/10000) ^ upper_bin_id/10^(decimals_B-decimals_A)=(1+50/10000)^1107/10^(6-6)=(1+50/10000)^1107/10^(6-6)=249.9368917

計算出的價格區間和第二部分圖片中的價格區間完全一致。

四、總結

結合監控工具,當發現dev或其他大戶在加入單邊池子的時候,我們就可以用上面的方法計算出他準備出貨或吸籌的價格範圍,然後再配合K線和其他數據做決策。阿根廷總統米萊發的$libra也是用的單邊加池子出貨,可以用上面介紹的方法複盤他當時加池子的價格範圍。

我常用的工具是debotgmgn和okx,不過這三個工具在查看流動性時還不是很方便,理想中的一些好用的功能:

1.列出dev的所有操作,包括轉入、轉出、加池子、撤池子,並且對轉入、轉出中涉及到鎖倉和加撤池子的交易能識別並標明。

debot能辨識所有的轉入和轉出,但是沒有加池子和撤池子;

gmgn能辨識出加池子和撤池子,但是識別不到dev的轉入和轉出,在trump這個幣中也沒有識別dev的加池子和撤池子交易;

okx有資金池變化功能,即將加池子和撤池子單獨列出來,但是在trump這個幣中也沒有識別dev的加池子和撤池子交易。

2.針對每筆加池子和撤池子,能給出具體的價格區間,這樣就不用手動計算。

3.在計算dev的獲利數據時,把領取的手續費以及撤池子時資金的變化包含在內,這樣就不用手動去統計盈利情況。

這個功能主要是debotgmgn有可能實現,畢竟他們做了每個地址的獲利數據。

期待這些工具能做的越來越好用!

原文連結