Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
Setiap program Raydium memiliki setidaknya satu peran istimewa — kunci yang dapat meningkatkan program, membuat konfigurasi baru, atau menarik biaya protokol. Meminimalkan apa yang dapat dilakukan peran-peran ini (dan menempatkannya di belakang multisig dengan penundaan) adalah pertahanan utama terhadap admin yang dikompromikan. Halaman ini mencantumkan peran-peran dan bagaimana mereka diamankan dalam praktik.
Peran menurut program
AMM v4
CPMM
Pengumpulan biaya kreator tidak memperkenalkan peran istimewa.
CollectCreatorFeePermissionless menerima pembayar apa pun, membatasi pemilik penerima ke PoolState.pool_creator, dan membatasi kedua tujuan ke ATA kanonik kreator itu. Pemanggil dapat mendanai ATA yang hilang dan memicu penyapuan tetapi tidak dapat mengalihkan biaya.
CLMM
Membuat pool tambahan untuk pasangan di alamat yang diturunkan
seed_index (CreateCustomizablePoolV2) tidak memerlukan peran. Sebelum upgrade 2026-10-22 memerlukan PDA Permission yang dikeluarkan oleh kunci permission_pda_admin khusus; peran itu, akun Permission dan dua instruksi adminnya dihapus.
limit_order_admin adalah peran operasional yang sengaja sempit. Ini ada sehingga penjaga off-chain dapat menyapu pesanan yang terisi tanpa pemilik pesanan harus online. Kunci penjaga panas (hidup di VM penjaga) dan dirotasi secara independen dari multisig di atas. Secara konkret, otoritas penjaga dibatasi untuk:
SettleLimitOrder— dorong output pesanan yang terisi ke ATA pemilik pada harga batas pesanan.CloseLimitOrder— tutup akun pesanan yang sepenuhnya diselesaikan untuk mengembalikan sewa (sewa pergi ke pemilik pesanan).
OpenLimitOrder, IncreaseLimitOrder, DecreaseLimitOrder, mengubah bidang pool apa pun, atau menandatangani instruksi lain — pemeriksaan itu ditegakkan on-chain oleh seed dan batasan has_one dalam struct Accounts instruksi. Penjaga yang dikompromikan paling buruk dapat tidak tersedia (pesanan tetap diparkir sampai pemilik menyelesaikannya sendiri) atau menyelesaikan/menutup pesanan yang dapat diisi secara sah di luar urutan; tidak dapat memindahkan dana pengguna ke mana pun selain tempat pemilik sudah mengotorisasinya.
Farm v6
Farm individual tidak memiliki admin protokol — setiap pembuat farm hanya mengontrol farm mereka, dan kekuatan pembuat dibatasi (tidak dapat merampas stake pengguna, tidak dapat mengubah mint staking).
LaunchLab
Daftar izin admin platform membatasi diri sendiri: membatasi akun
GlobalConfig mana yang dapat digunakan peluncuran di bawah platform itu. Tidak memberikan otoritas atas platform lain atau dana peluncuran yang ada. Alamat otoritas yang didelegasikan kanonik hidup di reference/program-addresses.
Otoritas peningkatan program
Program Raydium menggunakan mekanisme peningkatan BPF Loader v3 standar Solana. Otoritas peningkatan untuk semua program adalah multisig Squads 3/4. Mengapa 3/4: cukup penandatangan sehingga kompromi tunggal tidak cukup; cukup sedikit sehingga mengoordinasikan peningkatan yang sah dapat dilakukan. Empat otoritas adalah penandatangan perangkat dingin independen yang terpisah secara udara yang dipegang oleh anggota tim inti. Penandatanganan berurutan mencegah persetujuan paralel pada transaksi yang sama; transaksi membawa jendela kedaluwarsa tetap. Operasi multisig ditinjau secara berkala dalam kemitraan dengan Program STRIDE Solana (Asymmetric Research).Menghapus otoritas peningkatan
Raydium belum menetapkan otoritas peningkatan program apa pun ke null. Protokol beroperasi di bawah prinsip bahwa program perlu dapat ditingkatkan (untuk menambal bug, menambahkan ekstensi seperti Token-2022, memperbaiki pergeseran integrasi). Pertukaran: pengguna mempercayai bahwa multisig 3/4 hanya akan menerapkan peningkatan yang ditinjau dengan baik. Tidak ada program Raydium yang saat ini beku atau bergerak cukup lambat untuk diperlakukan sebagai alternatif yang tidak dapat diubah — AMM v4, secara historis yang paling statis di antara mereka, sendiri diterapkan kembali pada 2026-07-22. Slot yang terakhir diterapkan untuk setiap program adalah publik; bacalah sebelum menganggap salah satu dari mereka sedang tidur:
(Dari akun
ProgramData setiap program; solana program show <PROGRAM_ID> melaporkan slot yang sama.)
Otoritas AmmConfig
Setiap pembuatan AmmConfig baru memiliki izin — multisig treasury 3/5 mengotorisasi tingkat biaya dan spasi tick baru. Pool yang ada mereferensikan AmmConfig mereka dengan PDA; tingkat biaya pool adalah apa pun yang dikatakan AmmConfig. Bisakah admin mengubah AmmConfig yang ada? Ya, secara teknis.updateAmmConfig dapat dipanggil oleh admin. Dalam praktik, modifikasi AmmConfig yang diterapkan dihindari karena mengubah ekonomi semua pool yang menggunakan konfigurasi itu secara diam-diam. Kebijakan protokol adalah membuat AmmConfig baru untuk perubahan apa pun dan bermigrasi.
Bisakah admin mencuri biaya protokol melalui konfigurasi? Tidak — AmmConfig berisi parameter biaya tetapi bukan penerima biaya protokol; itu adalah alamat terpisah yang tidak dapat diubah per pool.
Klaim biaya protokol
Sebagian dari biaya swap (biasanya 3–12 bps dari 25 bps biaya swap, tergantung konfigurasi) terakumulasi ke vault biaya protokol. Multisig dapat menarik biaya yang terakumulasi ini. Pengguna tidak pernah melihat saldo LP mereka berubah dari ini — ini adalah bagian yang dialokasikan sebelumnya protokol, bukan uang LP.Otoritas pembuat farm
Farm v6 memberikan pembuat kekuatan untuk:- Danai vault reward (tambahkan lebih banyak token).
- Perpanjang jadwal (dorong waktu akhir lebih lambat).
- Panggil
withdrawRewardsetelah waktu akhir untuk mengembalikan saldo vault yang tidak digunakan.
- Tarik LP stake pengguna.
- Ubah mint staking.
- Ubah tingkat emisi secara retroaktif (hanya ke depan melalui
setRewards). - Bekukan panen pengguna.
Konfigurasi multisig Squads
Raydium mengoperasikan dua multisig Squads terpisah untuk permukaan risiko yang berbeda. Keduanya dapat diperiksa on-chain melalui UI Squads Protocol.
Properti operasional multisig peningkatan:
- Timelock 24 jam pada transaksi apa pun. Peningkatan yang disetujui hari ini tidak dieksekusi lebih awal dari 24 jam kemudian, memberi pengguna waktu untuk merespons.
- Penandatanganan perangkat dingin yang terpisah udara. Perangkat dingin memiliki kartu jaringan yang dihapus secara fisik; mereka terhubung hanya ke dompet perangkat keras dan membaca data transaksi melalui kode QR dari perangkat panas terpisah.
- Penandatanganan berurutan. Hanya setelah satu perangkat dingin menghasilkan dan menandatangani transaksi dapat perangkat dingin berikutnya memulai proses penandatanganannya — mencegah tanda tangan yang bertentangan atau paralel pada transaksi yang sama.
- Kedaluwarsa transaksi. Setiap transaksi membawa jendela kedaluwarsa tetap, sehingga transaksi basi secara otomatis tidak valid.
- Penegakan TOTP + kunci fisik pada perangkat panas yang digunakan untuk inisiasi transaksi dan siaran on-chain.
- Antrian transaksi publik. Siapa pun dapat memantau peningkatan yang tertunda di UI Squads.
Memverifikasi otoritas di rantai
Cara paling sederhana untuk memverifikasi otoritas upgrade program saat ini:Authority bukan alamat multisig Squads yang diharapkan, ada yang tidak sesuai. Raydium menerbitkan alamat otoritas yang diharapkan di reference/program-addresses.
Untuk peran admin AmmConfig / pool, ambil akun di rantai dan dekode:
AmmConfig tidak memiliki field admin — admin program adalah pubkey yang dikompilasi ke dalam program (crate::admin::ID), dan otoritas operasional per-config adalah protocolOwner / fundOwner. Otoritas upgrade BPF adalah masalah terpisah di tingkat loader; bacanya dengan solana program show.
Perubahan otoritas historis
Pertimbangan sisi pengguna
Apa yang harus Anda lakukan sebagai pengguna/LP/integrator?- Periksa otoritas upgrade sebelum alokasi besar. Konfirmasi bahwa itu cocok dengan multisig yang didokumentasikan.
- Pantau aktivitas multisig. Squads UI menampilkan transaksi yang tertunda; upgrade yang dijadwalkan memberi Anda 24 jam untuk membatalkan jika Anda tidak setuju dengan perubahan.
- Strategi penebusan yang menyadari time-lock. Jika Anda menjalankan auto-compounder, pastikan jalur unwind Anda tidak memerlukan instruksi yang sedang diubah.
- Jangan asumsikan immutabilitas program. Setiap program Raydium dapat diupgrade; rencanakan untuk itu.
Jebakan untuk integrator
1. Caching alamat otoritas
Jika Anda hardcode otoritas upgrade atau alamat multisig admin dalam kode Anda dan kemudian berputar, verifikasi Anda gagal. Ambil darireference/program-addresses saat runtime atau segarkan secara berkala.
2. Mengasumsikan AmmConfigs stabil
AmmConfig baru dapat dibuat kapan saja. Aggregator/router Anda harus mengambil ulang daftar config lengkap secara berkala (setiap jam sudah cukup).3. Vektor grief farm-creator
Jika Anda menyetor ke farm dengan reputasi rendah, pembuat dapat mengakhiri farm lebih awal dan mengklaim vault reward (dengan asumsi tidak ada pengguna yang telah melakukan staking). Setelah pengguna melakukan staking, hak pro-rata ditegakkan oleh program; reclaim hanya mendapatkan sisa setelah rational end.Referensi
reference/program-addresses— alamat otoritas kanonik.security/attack-vectors— bagaimana kompromi admin termanifestasi.ray/treasury— alamat treasury dan pengumpulan biaya.security/disclosure— melaporkan masalah admin yang dicurigai.
- Squads Protocol — UI multisig.
- Solana program & loader docs — mekanisme upgrade, dan bagaimana mencabut otoritas upgrade membuat program immutable.

