Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
Trang này được dịch tự động bằng AI. Phiên bản tiếng Anh là bản chính thức.Xem bản tiếng Anh →
Khi tích hợp Raydium, ví thường cần trả lời bốn câu hỏi cho mỗi người dùng: người dùng này có LP trong những pool nào? họ nắm giữ những position nào (CLMM NFT)? họ stake trong những farm nào? tất cả có giá trị bao nhiêu? Trang này tài liệu hóa từng câu hỏi.
Phát hiện vị trí Raydium
Token LP cổ điển (CPMM, AMM v4)
Chúng giống như bất kỳ token SPL nào khác: ATA của người dùng nắm giữ một số dư. Ví mặc định hiển thị điều này như một token khác. Để tiết lộ nó là một vị trí Raydium LP:- Liệt kê các tài khoản token của người dùng:
connection.getParsedTokenAccountsByOwner(user, { programId: TOKEN_PROGRAM_ID }). - Với mỗi mint, kiểm tra danh sách mint của Raydium:
GET https://api-v3.raydium.io/pools/info/lps?lps=<LP_MINT>,...(nhóm lên đến ~50 LP mints mỗi lệnh gọi). - Với các mint khớp, API trả về tham chiếu pool. Sử dụng nó để tính giá trị vị trí được mệnh danh bằng token:
CLMM position NFTs
Các vị trí CLMM là NFT. PDAPersonalPositionState của mỗi vị trí được derived từ mint NFT. Để phát hiện:
- Liệt kê NFT của người dùng. Đối với NFT Metaplex cũ: lọc các tài khoản token để những cái có supply 1 và decimals 0.
- Với mỗi mint NFT, hãy cố derive PDA PersonalPositionState:
-
Decode thông qua
raydium.clmm.getPositionInfo({ positionPda })để lấy:poolId→ fetch pool để resolve mintstickLower,tickUpper→ hiển thị phạm viliquidity,tokensOwedA/B→ tính giá trị vị trí + phí chưa nhậnrewardInfos→ phần thưởng chưa nhận theo mỗi stream
-
Đối với position-NFT được phát hành theo Token-2022 (
OpenPositionWithToken22Nft), program của mint NFT là Token-2022 chứ không phải SPL Token. Liệt kê cả hai khi quét.
Farm stakes
Farm v3 / v5 / v6 mỗi cái có một PDA ledger cho mỗi người dùng. Derivations:UserLedger có thể có bằng cách hash người dùng với danh sách được tuyrate của “farm ID có khả năng”. Liệt kê toàn bộ farm ID một cách cặn kẽ là không thực tế (hàng ngàn tồn tại); sử dụng API.
Tính giá trị vị trí
CPMM / AMM v4 LP
raydium.token hoặc một price oracle).
CLMM position
- Giá trị thanh khoản (giá hiện tại)
- Phí chưa thu thập
- Phần thưởng chưa nhận mỗi stream
- Phạm vi:
[tickLower_price, tickUpper_price]với thanh trực quan cho thấy liệu giá hiện tại có nằm trong phạm vi hay không
Farm stake
reward_per_share_x64 bằng công thức lazy-update trước khi tính toán (thời gian trôi qua × tốc độ phát hành ÷ tổng_staked).
Mô phỏng giao dịch để xem trước
Trước khi người dùng ký, ví thường xem trước các thay đổi số dư. Sử dụngsimulateTransaction:
accounts yêu cầu validator trả về trạng thái tài khoản sau mô phỏng cho các địa chỉ được liệt kê. Chính xác hơn nhiều so với việc cố gắng dự đoán thay đổi số dư từ hình dạng hướng dẫn một mình.
Các bẫy mô phỏng
- CLMM swaps cần tick arrays hợp lệ. Nếu kích thước đầu vào của người dùng sẽ vượt qua một tick array chưa được khởi tạo, mô phỏng revert (giống như thực thi). Bề mặt này rõ ràng trong giao diện người dùng.
- Priority fee. Mô phỏng chạy mà không áp dụng các hướng dẫn compute-budget. Đối với một giao dịch lớn vượt quá 200k CU mặc định, mô phỏng thất bại nhưng thực thi thực tế với giới hạn CU rõ ràng thành công. Luôn đặt giới hạn CU trên tx được mô phỏng.
- Blockhash tươi. Mô phỏng sử dụng blockhash hiện tại; nếu ký mất >60 giây, tx trở nên không hợp lệ. Mô phỏng lại nếu người dùng do dự.
Hiển thị Token-2022
Các token theo chương trình Token-2022 nên được gắn nhãn như vậy trong danh sách token của ví, vì chúng có các bề mặt rủi ro khác nhau:- Transfer-fee mints: hiển thị
transferFeeBasisPointshiện tại dưới dạng “Transfer fee: X%” bên cạnh số dư. Cảnh báo khi nhận — người dùng có thể không nhận ra họ sẽ nhận được ít hơn người gửi đã gửi. - Transfer-hook mints: bề mặt ID chương trình hook. Một hook độc hại có thể chặn chuyển gửi; người dùng nên xác minh hook là cái họ mong đợi.
- Non-transferable mints: hiển thị “Non-transferable” và tắt swap/send. Đây thường là token soulbound hoặc thông tin xác thực.
- Interest-bearing mints: số dư giao diện người dùng được derived từ
TokenAccount.amountkhông phản ánh lãi suất đã tích lũy. Sử dụngamountToUiAmounttừ@solana/spl-token(áp dụng hệ số tỷ lệ) cho giá trị hiển thị.
Hiển thị Farm APR
APR được hiển thị cho người dùng nên kết hợp tất cả các reward stream trực tiếp, được chuyển đổi thành USD và được hàng năm hóa:APR: X.Y%. Nếu staking mint là token LP, cũng tính APR phí cơ sở của LP cơ sở và gắn nhãn tổng dưới dạng “Total APR” hoặc “APR + fees”.
Con trỏ
products/clmm/ticks-and-positions— derivation giá trị vị trí.products/farm-staking/accounts— trường trạng thái farm.algorithms/token-2022-transfer-fees— ngữ nghĩa hiển thị cho transfer-fee tokens.
- Raydium SDK v2 — position/farm helpers.
- User-position endpoints trên
api-v3.raydium.io.


