Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Produk inti Raydium tidak bergantung pada oracle eksternal untuk penetapan harga — state pool adalah oracle-nya. Namun API dan SDK menggunakan oracle eksternal untuk penetapan harga USD yang ditampilkan kepada pengguna, dan mint Token-2022 membawa serangkaian kontrol yang lebih kaya daripada SPL Token, beberapa di antaranya secara fundamental mengubah model kepercayaan pool. Halaman ini mengkatalogkan keduanya.
Oracle di Raydium
Internal: pool adalah oracle
Untuk AMM v4, CPMM, dan CLMM, definisi protokol tentang “harga saat ini” diturunkan dari state pool saja:- AMM v4 / CPMM:
price = vaultB_balance / vaultA_balance(memperhitungkan desimal). - CLMM:
price = (sqrtPriceX64 / 2^64)^2 × 10^(decimalsA - decimalsB).
CLMM ObservationState sebagai oracle TWAP
Pool CLMM mempertahankan akun ObservationState yang mencatat snapshot sqrt_price historis. Program lain dapat berkomposisi terhadap ini untuk menurunkan harga rata-rata tertimbang waktu yang tahan manipulasi:
products/clmm/accounts#observation-state untuk tata letak data.
External: penetapan harga USD di frontend/API
Frontend Raydium danapi-v3.raydium.io menampilkan nilai USD (TVL, fee APR, $ volume). Ini berasal dari:
- Pyth sebagai oracle utama untuk mint utama.
- Harga agregator Jupiter sebagai fallback.
- Harga yang diturunkan dari pool untuk mint long-tail tanpa cakupan oracle eksternal.
Manipulasi oracle tidak berlaku untuk pool Raydium
Karena state pool adalah oracle, tidak ada “serangan oracle” dalam arti yang dimaksud literatur bug-bounty — tidak ada sumber data eksternal yang dapat dimanipulasi penyerang. Serangan ekonomi pada state pool (manipulasi gaya flash-loan) tercakup dalamsecurity/attack-vectors.
Risiko ekstensi Token-2022
SPL Token-2022 (alias “Token Extensions”) menambahkan perilaku yang dapat dikonfigurasi ke mint melalui ekstensi. Beberapa ekstensi mengubah properti kepercayaan pool yang menyertakannya. Program Raydium menangani beberapa secara otomatis dan menampilkan yang lain sebagai peringatan pengguna.Transfer fee
Apa itu: Biaya yang dapat dikonfigurasi (persentase transfer, hingga batasmaximum_fee dalam istilah absolut) yang dibayarkan oleh pengirim kepada otoritas mint pada setiap transfer.
Risiko: Biaya dapat diubah oleh otoritas fee-config mint. Jika Anda menyetor likuiditas ketika biaya 1%, dan otoritas menaikkannya menjadi 50%, swap berikutnya mengembalikan jauh lebih sedikit dari yang diharapkan.
Mitigasi di Raydium: Pool membaca transferFeeConfig saat ini pada waktu swap dan menyesuaikan matematika. Pool itu sendiri tidak rusak, tetapi pengguna melihat output yang lebih buruk. Otoritas biaya juga dapat menjadwalkan perubahan biaya tertunda; UI Raydium menandai pool dengan perubahan biaya yang akan datang.
Risiko residual: Jika otoritas biaya yang berbahaya mengubah biaya selama swap Anda yang sedang berlangsung, minimumAmountOut Anda melindungi downside — tx kembali. Jika Anda mempercayai penerbit mint, ini baik-baik saja; jika tidak, jangan LP.
Transfer hook
Apa itu: Transfer memanggil program terpisah (the “hook”) untuk menjalankan validasi kustom atau efek samping. Risiko: Hook dapat memblokir transfer apa pun, termasuk transfer internal pool selama swap. Hook yang dapat diupgrade dapat menjadi berbahaya nanti — apa yang aman pada waktu deposit dapat menjadi tidak dapat ditukar pada waktu withdrawal. Mitigasi di Raydium: Raydium mencantumkan ID program hook dalam state pool. Integrasi harus menampilkan ID program hook kepada pengguna sehingga mereka dapat memverifikasi bahwa itu adalah program yang diharapkan (tidak dapat diupgrade, diaudit). Risiko residual: Jika hook dapat diupgrade dan otoritasnya menjadi bermusuhan, pool dapat dibekukan. Raydium tidak memblokir pool dengan transfer hook, tetapi menandainya. LP ke pool transfer-hook hanya jika hook diverifikasi aman.Freeze authority
Apa itu: Otoritas freeze mint dapat membekukan akun token apa pun yang memegang mint itu, mencegah semua transfer. Risiko: Otoritas freeze dengan kemampuan untuk membekukan akun vault pool secara efektif menutup pool — pengguna tidak dapat menarik, trader tidak dapat swap. Ini berlaku untuk SPL Token dan Token-2022; ini bukan baru dengan Token-2022, tetapi masih merupakan risiko. Mitigasi di Raydium: Tidak ada di tingkat program — freeze SPL Token buram untuk pool. UI Raydium memperingatkan pada pool dengan mint yang dapat dibekukan. Pengguna yang menyetor harus memverifikasi bahwa otoritas freeze adalah null atau multisig yang mereka percayai (USDC memiliki otoritas freeze; itu adalah penerbit Circle). Risiko residual: Terima bahwa mint yang dapat dibekukan dapat dibekukan. Mint utama (USDC, USDT, USDY) memiliki otoritas freeze yang dipegang oleh penerbit dan digunakan hanya untuk kepatuhan regulasi; ini biasanya dapat diterima.CLMM position NFT restricted-issuer
CLMM menerapkan kontrol tambahan untuk otoritas freeze issuer KYC-restricted yang dipilih. Ketika otoritas freeze mint pool mana pun cocok dengan daftar hardcoded program, posisi baru yang dibuka melaluiOpenPositionV2 atau OpenPositionWithToken22Nft memiliki akun token NFT mereka dibekukan segera. PDA pool yang sesuai adalah otoritas freeze mint NFT posisi.
Ini mencegah posisi ditransfer ke dompet yang tidak disetujui atau mengubah pemilik akun token-nya. Ini tidak memberikan kontrol penerbit token yang mendasar atas NFT posisi: hanya PDA pool CLMM yang merupakan otoritas freeze NFT posisi, dan program menggunakannya untuk mencairkan hanya sebagai bagian dari ClosePosition sebelum burn. Manajemen likuiditas dan pengumpulan biaya atau reward terus memerlukan pemilik NFT.
Posisi yang ada tetap tidak dibekukan. Integrator harus memperlakukan transferabilitas sebagai state spesifik posisi dan membaca flag isFrozen akun token NFT.
Permanent delegate
Apa itu: Ekstensi Token-2022 yang menunjuk delegasi permanen yang dapat mentransfer token dari pemegang apa pun tanpa persetujuan. Risiko: Delegasi permanen dapat menguras vault pool kapan saja. Mitigasi di Raydium: CPMM dan CLMM menolak untuk membuat pool dengan mint yang memiliki delegasi permanen. Inisialisasi kembali. Tidak ada pool Raydium yang berjalan memiliki mint delegasi permanen. Risiko residual: Nol (selama pemeriksaan benar, yang kedua audit verifikasi).Non-transferable
Apa itu: Mint yang tidak dapat ditransfer oleh pemegang. Risiko: Pool bergantung pada transferabilitas untuk memindahkan token antara ATA pengguna dan vault pool. Mint non-transferable secara trivial memecah pool. Mitigasi di Raydium: Pembuatan pool kembali pada mint non-transferable. Farm juga menolak mint staking non-transferable.Default-frozen / close-authority / interest-bearing
Ekstensi dampak lebih rendah yang ditangani oleh Raydium:- Default-frozen: akun token baru perlu dicairkan sebelum digunakan. Raydium menangani ini secara transparan pada pembuatan ATA.
- Close-authority: otoritas yang ditunjuk dapat menutup akun token. Vault pool dimiliki oleh otoritas yang diturunkan program pool, jadi close-authority pada mint tidak berlaku untuk vault.
- Interest-bearing: saldo yang ditampilkan mengumpulkan bunga;
amounttetap tetap tetapiuiAmounttumbuh. Matematika pool Raydium menggunakanamount, bukan bunga yang terakumulasi; tampilan menyesuaikan secara terpisah.
Mint authority
Bukan risiko spesifik Token-2022, tetapi patut dicatat: jika mint mempertahankan mint authority, pemegang dapat menginflasi pasokan sesuka hati. Untuk token yang diluncurkan, ini mengencerkan LP pada harga pool saat ini. LaunchLab menolak untuk membuat peluncuran kecuali otoritas mint adalah null.Label risiko di UI
Frontend Raydium memberi label setiap pool dengan tag risiko yang berlaku:- TRANSFER_FEE — transfer fee bukan nol.
- TRANSFER_HOOK — ekstensi transfer-hook aktif.
- FREEZE — mint memiliki otoritas freeze.
- MINT — mint memiliki otoritas mint (pasokan dapat menginflasi).
- CLOSE — mint memiliki otoritas close.
Daftar periksa integrator
Sebelum berkomposisi dengan pool Raydium:- Periksa ekstensi setiap mint melalui
getMint(mint, TOKEN_2022_PROGRAM_ID). - Lewati pool di mana mint apa pun memiliki permanent_delegate atau non_transferable (ini seharusnya tidak ada di Raydium, tetapi pertahanan berlapis).
- Periksa otoritas freeze untuk kedua mint; null atau otoritas terpercaya saja.
- Sebelum menawarkan transfer posisi, escrow, atau Burn & Earn, konfirmasi akun token NFT posisi CLMM tidak dibekukan.
- Untuk pool transfer-hook, verifikasi ID program hook terhadap daftar putih.
- Ukuran eksposur terhadap skenario transfer-fee (bagaimana jika biaya naik ke maksimum?).
- Gunakan CLMM TWAP (ObservationState) daripada harga spot untuk penetapan harga derivatif.
Pernyataan penerimaan risiko residual
Program Raydium memberlakukan apa yang dapat diberlakukan di tingkat program:- Pembuatan pool menolak mint permanent-delegate / non-transferable.
- Matematika swap menyesuaikan dengan benar untuk biaya transfer saat ini.
- ObservationState menyediakan oracle yang tahan manipulasi.
- Otoritas freeze mint dapat membekukan pool.
- Otoritas biaya mint dapat menaikkan biaya transfer (hingga batas
maximum_fee) kapan saja. - Program transfer-hook dapat diupgrade ke kode berbahaya.
- Tingkat akrual mint yang bearing-interest dapat diubah.
Penunjuk
algorithms/token-2022-transfer-fees— penyesuaian matematika untuk mint transfer-fee.security/attack-vectors— bagaimana risiko ini memanifestasikan diri sebagai serangan konkret.integration-guides/wallet-integration— menampilkan label risiko Token-2022.products/clmm/accounts— tata letak ObservationState.
- Dokumentasi ekstensi SPL Token-2022.
- Logika validasi inisialisasi pool:
src/raydium/cpmm/instrument.ts,src/raydium/clmm/instrument.ts. - Pyth — oracle harga eksternal yang digunakan di frontend.

