
Hướng dẫn từng bước: Nhanh chóng nắm bắt cách xem khoảng giá thanh khoản trên Meteora
Tuyển chọn TechFlowTuyển chọn TechFlow

Hướng dẫn từng bước: Nhanh chóng nắm bắt cách xem khoảng giá thanh khoản trên Meteora
Nếu muốn biết Dev bán hàng và tích lũy ở mức giá nào trong pool một chiều, thì việc biết khoảng giá tương ứng là rất cần thiết.
Tác giả: Tử Bộ
Meteora là một dự án DeFi trên chuỗi Solana, tập trung xây dựng một lớp thanh khoản hiệu quả, bền vững và linh hoạt cho hệ sinh thái Solana. Mục tiêu của nó là giải quyết vấn đề thiếu thanh khoản trên Solana, giúp giao dịch mượt mà hơn, chi phí thấp hơn, đồng thời mang lại lợi nhuận tốt hơn cho những người cung cấp thanh khoản.
Các pool của Meteora chủ yếu là các pool DLMM và Dynamic Pools (pool động), trong đó tại các pool DLMM có thể thêm cả pool hai chiều và một chiều. Nhà phát triển (Dev) có thể sử dụng pool một chiều để xả hàng hoặc tích lũy, ví dụ cặp giao dịch Trump/Sol, khi giá tăng, Dev có thể chỉ thêm $Trump vào pool một chiều ở một khoảng giá cao hơn nào đó, khi giá tăng đến khoảng này sẽ tự động đổi $Trump sang $Sol để xả hàng, đồng thời vẫn nhận được phí giao dịch; khi giá giảm, Dev có thể chỉ thêm $Sol vào pool một chiều ở một khoảng giá thấp hơn, khi giá giảm đến khoảng tương ứng sẽ tự động mua vào $Trump nhằm mục đích tích lũy.
Nếu chúng ta muốn biết Dev đang xả hàng hay tích lũy ở mức giá nào thông qua pool một chiều, thì việc nắm rõ khoảng giá tương ứng là rất cần thiết.
Một, Khái niệm cơ bản
Địa chỉ web: https://app.meteora.ag/
1. Cặp giao dịch
Hai loại tiền bất kỳ tạo thành một cặp giao dịch, ví dụ $Trump và $Sol tạo thành cặp Trump-Sol, $Trump và $USDC tạo thành cặp Trump-USDC.
2. Pool (LP pool)
Dưới mỗi cặp giao dịch có thể có nhiều Pool, mỗi Pool được phân biệt theo Bin Step và Fee (phí giao dịch).
Ví dụ dưới cặp giao dịch Trump-USDC có tới 57 Pool, mỗi Pool đều tương ứng với một địa chỉ duy nhất.
Như hình:

3. Bin
Mỗi Bin trong DLMM đại diện cho một mức giá, mỗi Bin chính là lệnh mua hoặc bán treo ở một mức giá cụ thể.
4. Bin Step
Bin Step là khoảng cách giá giữa hai Bin liền kề, tính theo đơn vị basis point (1 basis point = 0,01%). Nó xác định mật độ Bin và mức độ chi tiết của phân bổ thanh khoản, do người tạo pool thiết lập.
Ví dụ:
Giả sử giá hiện tại của Sol/USDC là 20 USD, Bin Step đặt ở 25 basis point (0,25%).
Giá Bin tiếp theo sẽ là 20 × 1,0025 = 20,05 USD, Bin sau nữa là 20,05 × 1,0025 ≈ 20,10 USD, cứ như vậy tiếp tục.
5. Position (vị thế)
Position dùng để mô tả cách nhà cung cấp thanh khoản phân bổ vốn vào một khoảng giá cụ thể, mỗi Position tương ứng với một địa chỉ duy nhất. Position được tạo trong một pool nhất định, một pool có thể có nhiều Position khác nhau.
Một Position thường bao gồm các yếu tố chính sau:
(1) Khoảng giá
Mỗi Position đều có một khoảng giá xác định, biểu thị phạm vi giá mà nhà cung cấp thanh khoản muốn hỗ trợ, khoảng giá này được cấu thành từ một dãy Bin liên tiếp.
(2) Số lượng vốn
Số lượng hai loại token được nạp vào (ví dụ Sol và USDC). Meteora sẽ tính toán tỷ lệ cụ thể của từng loại token dựa trên giá hiện tại và phạm vi khoảng giá, đảm bảo đáp ứng nhu cầu của pool.
(3) Chiến lược phân bổ Meteora cung cấp một số cách phân bổ thanh khoản, cho phép người dùng quyết định cách phân bổ vốn vào các Bin:
Spot (phân bổ đều): Vốn được phân bổ đều cho mỗi Bin, phù hợp với kịch bản dự kiến biến động giá nhỏ.
Curve (phân bổ hình chuông): Vốn tập trung quanh giá hiện tại, càng xa giá hiện tại thì càng ít, giống dạng đường cong hình chuông, phù hợp với LP muốn tập trung quanh giá hiện tại.
Bid-Ask (phân bổ hai hướng): Vốn tập trung ở hai bên giá hiện tại, tạo thành hai đỉnh, phù hợp với thị trường biến động mạnh.
(4) Bin Step Người dùng không thể thay đổi Bin Step khi tạo Position, giá trị này được thiết lập khi tạo Pool.
Hai, Kết nối ví để kiểm tra
Sau khi kết nối địa chỉ ví, Meteora cho phép xem các position đang nắm giữ, và hỗ trợ chế độ xem theo dõi ví, nhờ đặc điểm này chúng ta có thể xem khoảng giá của pool.
Lấy ví dụ $Trump.
Trước tiên, mở Debot, nhập CA của $Trump, tìm ra địa chỉ Dev:
5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7
Như hình:

Sau đó, mở ví Phantom, 【thêm/kết nối ví】--【giám sát địa chỉ】, nhập “tên” và “địa chỉ”, điền địa chỉ Dev vào đây:
5e2qRc1DNEXmyxP8qwPwJhRWjef7usLyi7v5xjqLr5G7

Cuối cùng, mở Meteora, kết nối ví Phantom, nhấn vào 【Portfolio】 ở đầu trang sẽ thấy tất cả các pool đã thêm, nhấn vào bất kỳ pool DLMM nào cũng sẽ hiển thị chi tiết pool và tất cả các position.
Như hình:

Phần Bin Step và Base Fee bên trái hình là thông tin của pool hiện tại, phần giữa là các position ở các khoảng giá khác nhau. Nhấn vào bất kỳ position nào cũng có thể xem số dư hiện tại, phí chưa nhận, chiến lược phân bổ, v.v.
Ưu điểm của phương pháp này là thuận tiện và trực quan, có thể liệt kê tất cả dữ liệu position hiện có; nhược điểm là không thể xem khi thanh khoản đã bị rút.
Ba, Tính toán dựa trên dữ liệu on-chain
Chúng ta có thể dùng dữ liệu trên chuỗi để tính khoảng giá của từng position, bất kể position còn tồn tại hay không.
Tài liệu Meteora cung cấp công thức tính toán
Giá trị nhỏ nhất của khoảng giá: min_price = (1 + Bin_Step/10000) ^ lower_Bin_id
Giá trị lớn nhất của khoảng giá: max_price = (1 + Bin_Step/10000) ^ upper_Bin_id
Nếu cặp giao dịch biểu diễn là A/B, trong đó token A có decimals là decimals_A, token B có decimals là decimals_B, thì công thức cuối cùng là
Giá trị nhỏ nhất của khoảng giá: min_price = (1 + Bin_Step/10000) ^ lower_Bin_id / 10^(decimals_B-decimals_A)
Giá trị lớn nhất của khoảng giá: max_price = (1 + Bin_Step/10000) ^ upper_Bin_id / 10^(decimals_B-decimals_A)
Cần lưu ý rằng, giá tính được ở đây là giá token A so với token B, nếu muốn xem giá token A so với USD, cần tra giá USD của token B rồi chuyển đổi.
Theo công thức trên, để tính được dữ liệu, chúng ta cần biết Bin_Step của một pool, lower_Bin_id và upper_Bin_id của position, ngoài ra cần biết decimals của hai token trong cặp giao dịch.
Tiếp tục lấy ví dụ $Trump, tính khoảng giá của một pool một chiều của Dev này.
Mở Solscan, nhập địa chỉ Dev của $Trump:
Mở tab 【Defi Activities】, lọc 【Action】 chọn “ADD LIQUIDITY”, ở cột Amount sẽ thấy toàn bộ các giao dịch nạp thanh khoản đều là pool một chiều, chỉ nạp $Trump hoặc chỉ nạp $USDC.
Bài viết này lấy giao dịch cuối cùng trong hình làm ví dụ, như hình:

Mở giao dịch cuối cùng trong hình trên:
Xem chi tiết giao dịch, thấy giao dịch này chỉ nạp $Trump vào pool, như hình:

Mở lần lượt liên kết $Trump và $USDC, tra được decimals của $Trump là 6, decimals của $USDC cũng là 6, như hình:

Trong trang chi tiết giao dịch kéo xuống, tại mục 【#4.1 - Meteora DLMM Program: initializePosition】 có thể biết lowerBinId là 1062, độ rộng Bin (số lượng) là 46, địa chỉ pool là:
9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2
Như hình:

Từ thông tin trên có thể tính được upperBinId = lowerBinId + width - 1 = 1062 + 46 - 1 = 1107
Trên Solscan mở địa chỉ pool:
9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2
https://Solscan.io/account/9d9mb8kooFfaD3SctgZtkxQypkshx6ezhbKio89ixyy2
Nhấn vào tab 【data】, chuyển “LbPair” sang dạng “Table”, có thể tra được giá trị BinStep là 50, như hình:

Từ thông tin trên có thể thu thập đầy đủ dữ liệu cần thiết cho công thức tính toán:
Bin_Step=50
lower_Bin_id=1062
upper_Bin_id=1107
decimals_A=6
decimals_B=6
Do đó có thể tính được
Giá trị nhỏ nhất của khoảng giá: min_price = (1 + Bin_Step/10000) ^ lower_Bin_id / 10^(decimals_B-decimals_A) = (1+50/10000)^1062 / 10^(6-6) = 199.6905832
Giá trị lớn nhất của khoảng giá: max_price = (1 + Bin_Step/10000) ^ upper_Bin_id / 10^(decimals_B-decimals_A) = (1+50/10000)^1107 / 10^(6-6) = 249.9368917
Khoảng giá tính được hoàn toàn trùng khớp với khoảng giá trong hình ở phần hai.
Bốn, Tổng kết
Kết hợp với công cụ giám sát, khi phát hiện Dev hoặc các cá lớn khác đang nạp vào pool một chiều, chúng ta có thể dùng phương pháp trên để tính khoảng giá họ chuẩn bị xả hàng hoặc tích lũy, sau đó phối hợp với biểu đồ nến và các dữ liệu khác để ra quyết định. Đồng $LIBRA do tổng thống Argentina Milei phát hành cũng dùng cách nạp pool một chiều để xả hàng, có thể dùng phương pháp giới thiệu trên để tái hiện lại khoảng giá họ nạp pool lúc đó.
Công cụ tôi thường dùng là Debot, GMGN và OKX, tuy nhiên ba công cụ này vẫn chưa tiện lắm khi xem thanh khoản, một số chức năng lý tưởng nên có:
1. Liệt kê tất cả thao tác của Dev, bao gồm chuyển vào, chuyển ra, nạp pool, rút pool, đồng thời nhận diện và đánh dấu các giao dịch liên quan đến khóa và nạp/rút pool trong các giao dịch chuyển vào, chuyển ra.
Debot có thể nhận diện tất cả chuyển vào và chuyển ra, nhưng không có nạp pool và rút pool;
GMGN có thể nhận diện nạp pool và rút pool, nhưng không nhận diện được chuyển vào và chuyển ra của Dev, trong đồng Trump cũng không nhận diện được giao dịch nạp/rút pool của Dev;
OKX có chức năng thay đổi pool vốn, tách riêng việc nạp và rút pool, nhưng trong đồng Trump cũng không nhận diện được giao dịch nạp/rút pool của Dev.
2. Với mỗi giao dịch nạp và rút pool, có thể đưa ra khoảng giá cụ thể, như vậy không cần tính thủ công.
3. Khi tính dữ liệu lợi nhuận của Dev, cần bao gồm cả phí đã nhận và sự thay đổi vốn khi rút pool, như vậy không cần tự thống kê tình hình lợi nhuận.
Chức năng này chủ yếu Debot và GMGN có khả năng thực hiện, vì họ đã làm dữ liệu lợi nhuận cho từng địa chỉ.
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














