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.
Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Dompet yang mengintegrasikan Raydium biasanya perlu menjawab empat pertanyaan per pengguna: pool mana yang memiliki LP pengguna ini? posisi apa (NFT CLMM) yang mereka pegang? farm mana yang mereka stake? berapa nilai semuanya? Halaman ini mendokumentasikan semuanya.
Mendeteksi posisi Raydium
LP token klasik (CPMM, AMM v4)
Token ini terlihat seperti SPL Token lainnya: ATA pengguna memiliki saldo. Dompet menampilkan ini sebagai token biasa secara default. Untuk mengungkapnya sebagai posisi Raydium:- Enumerasi akun token pengguna:
connection.getParsedTokenAccountsByOwner(user, { programId: TOKEN_PROGRAM_ID }). - Untuk setiap mint, periksa daftar mint Raydium:
GET https://api-v3.raydium.io/pools/info/lps?lps=<LP_MINT>,...(batch hingga ~50 LP mint per panggilan). - Untuk mint yang cocok, API mengembalikan referensi pool. Gunakan untuk menghitung nilai posisi yang denomin dalam token:
NFT posisi CLMM
Posisi CLMM adalah NFT.PersonalPositionState PDA setiap posisi diturunkan dari mint NFT. Untuk mendeteksi:
- Enumerasi NFT pengguna. Untuk NFT Metaplex warisan: filter akun token ke yang memiliki supply 1 dan desimal 0.
- Untuk setiap mint NFT, coba turunkan PDA PersonalPositionState:
-
Dekode via
raydium.clmm.getPositionInfo({ positionPda })untuk mendapatkan:poolId→ ambil pool untuk menyelesaikan minttickLower,tickUpper→ tampilkan rangeliquidity,tokensOwedA/B→ hitung nilai posisi + fee tertundarewardInfos→ reward tertunda per stream
-
Untuk posisi-NFT yang dikeluarkan di bawah Token-2022 (
OpenPositionWithToken22Nft), program mint NFT adalah Token-2022 bukan SPL Token. Enumerasi keduanya saat memindai.
Farm stakes
Farm v3 / v5 / v6 masing-masing memiliki per-user ledger PDA. Penurunan:UserLedger PDA dengan menghashing pengguna dengan daftar kurator “kemungkinan” farm ID. Enumerasi semua farm ID secara exhaustif tidak praktis (ribuan ada); gunakan API.
Menghitung nilai posisi
CPMM / AMM v4 LP
raydium.token atau oracle harga).
Posisi CLMM
- Nilai likuiditas (harga saat ini)
- Fee yang tidak dikumpulkan
- Reward tertunda per stream
- Range:
[tickLower_price, tickUpper_price]dengan batang visual yang menunjukkan apakah harga saat ini dalam range
Farm stake
reward_per_share_x64 dengan formula lazy-update sebelum menghitung (waktu yang telah berlalu × tingkat emisi ÷ total_staked).
Simulasi transaksi untuk pratinjau
Sebelum pengguna menandatangani, dompet biasanya menampilkan pratinjau perubahan saldo. GunakansimulateTransaction:
accounts meminta validator mengembalikan status akun setelah simulasi untuk alamat yang terdaftar. Jauh lebih akurat daripada mencoba memprediksi perubahan saldo dari bentuk instruksi saja.
Jebakan simulasi
- Swap CLMM membutuhkan tick array yang valid. Jika ukuran input pengguna akan melintasi tick array yang tidak diinisialisasi, simulasi dibatalkan (sama seperti eksekusi). Tampilkan ini dengan jelas di UI.
- Biaya prioritas. Simulasi berjalan tanpa instruksi budget-komputasi diterapkan. Untuk transaksi besar yang akan melebihi 200k CU default, simulasi gagal tetapi eksekusi aktual dengan limit CU eksplisit berhasil. Selalu atur limit CU pada tx simulasi juga.
- Blockhash segar. Simulasi menggunakan blockhash saat ini; jika penandatanganan memakan waktu >60s tx menjadi tidak valid. Simulasi ulang jika pengguna ragu-ragu.
Tampilan Token-2022
Token di bawah program Token-2022 harus diberi label sebagai demikian dalam daftar token dompet, karena mereka memiliki permukaan risiko yang berbeda:- Mint transfer-fee: tampilkan
transferFeeBasisPointssaat ini sebagai “Biaya transfer: X%” di samping saldo. Peringatkan saat menerima — pengguna mungkin tidak menyadari mereka akan menerima lebih sedikit daripada yang dikirim pengirim. - Mint transfer-hook: tampilkan ID program hook. Hook berbahaya dapat memblokir transfer keluar; pengguna harus memverifikasi hook adalah yang mereka harapkan.
- Mint non-transferable: tampilkan “Non-transferable” dan nonaktifkan swap/kirim. Ini biasanya token terikat jiwa atau kredensial.
- Mint interest-bearing: saldo UI yang diturunkan dari
TokenAccount.amounttidak mencerminkan bunga yang akumulasi. GunakanamountToUiAmountdari@solana/spl-token(yang menerapkan faktor scaling) untuk nilai yang ditampilkan.
Tampilan APR Farm
APR yang ditampilkan kepada pengguna harus menggabungkan semua stream reward yang hidup, dikonversi ke USD, dan diannualisasi:APR: X.Y%. Jika mint staking adalah token LP, juga hitung APR biaya dasar LP yang mendasar dan beri label jumlahnya sebagai “Total APR” atau “APR + biaya”.
Pointer
/id/products/clmm/ticks-and-positions— penurunan nilai posisi./id/products/farm-staking/accounts— field status farm./id/algorithms/token-2022-transfer-fees— semantik tampilan untuk token transfer-fee.
- Raydium SDK v2 — pembantu posisi/farm.
- Endpoint user-position di
api-v3.raydium.io.


