本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
真實來源。 本頁是文件中唯一逐字列出程式位址的地方。其他頁面都連結到這裡。如果某個 ID 變更,只需在此更新,網站上的所有參考都會保持一致。在簽署真實交易前,務必針對即時 API(
https://api-v3.raydium.io/main/info)交叉檢查數值。Mainnet-beta
鏈上程式
注意:
- AMM v4 和 Farm v3/v5 保留用於現有池和頭寸。Raydium UI 和 SDK 將新池建立和新生態系農場分別路由到 CPMM、CLMM 和 Farm v6 — 見
protocol-overview/versions-and-migration。 - 上面的 Farm v3 ID 同時用作 $RAY 單資產質押程式。LP 質押的行為與 Farm v3 相同。
- Stable AMM 是一個獨立程式,AMM 路由程式可以與 AMM v4、CPMM 和 CLMM 一起針對它。與其他三個程式相比,流動性較少,SDK 不為其公開第一類 API;通過它路由的整合商通常透過路由器進行。
- 原始碼可用性。 在上述鏈上程式中,只有
raydium-amm(AMM v4)、raydium-cp-swap(CPMM)和raydium-clmm(CLMM)在github.com/raydium-io下提供公開原始碼儲存庫。Stable AMM、LaunchLab、AMM 路由、銷毀與賺取 / LP 鎖定和農場程式不公開 — 改為針對即時 API、鏈上位元組碼和raydium-io/raydium-idl中發佈的 IDL 驗證它們。
共用管理員授權
每個 Raydium 程式(包括 AMM v4)都共用一個硬編碼的管理員Pubkey,用於指令級別的管理路徑存取控制。在 AMM v4 中是 config_feature::amm_owner::ID(限制 SetParams、CreateConfigAccount 和 UpdateConfigAccount,並用作預設 pnl_owner),在 Anchor 程式(CLMM、CPMM、LaunchLab、Lock)中是 admin::ID — 限制 CreateAmmConfig 或 UpdatePoolStatus 等路徑:
帳戶級別的操作授權(例如 CPMM/CLMM
AmmConfig 上的 protocol_owner、fund_owner,或 LaunchLab GlobalConfig 上的遷移錢包)儲存在鏈上,可能與程式管理員不同。在發送高風險交易前,直接從相關設定帳戶讀取它們。
CPMM 權限 PDA 建立者授權
CreatePermissionPda 接受上述共用程式管理員或專用所有者。自 2026-09 CPMM 升級以來,ClosePermissionPda 接受相同的兩個簽署者;在此之前它僅限管理員。
支援代幣註冊表授權
CreateSupportMintAssociated 和 CloseSupportMintAssociated 接受共用程式管理員或下面程式自己的專用所有者。註冊代幣允許它通過該程式的 Token-2022 擴展允許清單 — 見 reference/token-2022-support。CPMM 和 CLMM 各自保留自己的註冊表 PDA 和自己的授權;任何一個金鑰都不適用於另一個程式。
CPMM 費用所有者錢包
自 2026-09 CPMM 升級以來,CreateAmmConfig 將這些固定金鑰寫入新設定的 protocol_owner 和 fund_owner,而不是複製管理員簽署者的金鑰。CollectProtocolFee 和 CollectFundFee 接受儲存在設定上的金鑰或共用程式管理員(|| crate::admin::ID),所以管理員仍然是被接受的簽署者 — 變更的只是收益預設流向的位置。
協議費用收集錢包
每個程式的交易費用協議端份額累積的地方。這些是普通的代幣持有錢包,所以單個位址持有混合的 SPL 代幣集(來自 SOL/USDC 池的 wSOL 和 USDC、來自 SOL/RAY 池的 wSOL 和 RAY 等)。
Stable AMM 的協議份額在保管庫內累積為
out_put.need_take_pnl_*,由 WithdrawPnl 掃除,而不是坐在常設錢包上。對於 CPMM,在建立收集交易前從特定 AmmConfig 讀取 protocol_owner — 2026-09 升級前建立的設定可能持有不同的金鑰。
超額 lamport 收集錢包
在 2026-09-09 升級的三個程式各自獲得了一個管理員指令,該指令返回在程式控制帳戶上持有的超過租金豁免最低額的 lamport,遵循 SIMD-0437 租金減少。每個程式硬編碼自己的目標錢包,每個都是專用金鑰 — 不是共用程式管理員。
CPMM 和 LaunchLab 另外接受共用程式管理員作為簽署者。AMM v4 僅接受上面的錢包 — 它沒有管理員後備。AMM v4 還在其
testnet 功能下編譯了一個單獨的測試網金鑰(75KWb5XcqPTgacQyNw9P5QU2HL3xpezEVcgsFCiJgTT)。
這些指令僅移動 lamport;它們永遠不會觸及代幣餘額、關閉帳戶或改變池狀態。見 products/amm-v4/instructions、products/cpmm/instructions 和 products/launchlab/instructions。
LaunchLab 委派設定建立者
CreateConfig 接受共用程式管理員或下面的委派授權。委派角色可以建立新的 GlobalConfig;它不能為現有帳戶呼叫僅限管理員的 UpdateConfig 路徑。
CLMM 受限發行人凍結授權
當 CLMM 池中的任一保管庫代幣的凍結授權是下面之一時,透過 V2 路徑開啟的新頭寸會凍結其頭寸 NFT 代幣帳戶。清單是 CLMM 程式中的frozen_position_nft_authorities::IDS,其單一條目是發行人授權,CLMM 已移除的 Superstate 檢測也符合該授權。這些是僅用作匹配金鑰的基礎資產發行人授權。CLMM 池 PDA(不是發行人金鑰)成為頭寸 NFT 代幣的凍結授權。
清單在 CLMM 程式中硬編碼。新增或移除授權需要程式升級。
共用設定 / PDA 慣例
幾個 Raydium 程式公開設定帳戶,其公開金鑰是穩定的,並列在公開 API 上。優先使用 API 查詢而不是硬編碼:池建立費用接收者
CPMM 和 AMM v4 都按確切位址驗證其池建立費用目標,所以它必須已經存在於你正在測試的任何叢集上。CLMM 沒有單獨的池建立費用。
AMM v4 還在其
testnet 功能下編譯 3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX。CPMM 拒絕不符合 Anchor 的 ConstraintAddress(2012);AMM v4 拒絕 InvalidFee。
CLMM 限價單保管人
SettleLimitOrder 和 CloseLimitOrder 接受訂單自己的 owner 或下面的程式範圍保管人金鑰。保管人不能開啟、增加或減少訂單,輸出總是進入訂單所有者的帳戶 — 見 security/admin-and-multisig。
預設 CPMM
AmmConfig 索引 0(標準 0.25% 池)費用參數,供參考:
見
products/cpmm/fees 瞭解分割如何組成,以及 reference/fee-comparison 瞭解跨產品矩陣。
PDA 種子
下面的種子是規範的,由 SDK 和鏈上 CPI 使用。始終計算 PDA;不要硬編碼衍生位址。token0Mint / token1Mint 在雜湊前按公開金鑰位元組順序排序(token0 < token1)。弄錯這一點會為不存在的池產生有效的 PDA。
等效的 CLMM 種子遵循相同的風格;見 products/clmm/accounts。
Devnet
Devnet REST API 基礎:
https://api-v3-devnet.raydium.io/(與 mainnet 相同的路由形狀)。
升級授權
mainnet-beta 上的每個 Raydium 程式都在 BPF 可升級載入器下部署,具有相同的升級授權 — 程式升級 Squads 多簽的保管庫:
在 2026-09-09 為 AMM v4、CPMM、CLMM、Stable AMM、Farm v6、LaunchLab、AMM 路由和 Lock 驗證 — 所有八個都報告該授權,沒有一個是不可變的。在高風險部署前使用
solana program show <PROGRAM_ID> -u mainnet-beta 重新檢查;見 security/admin-and-multisig 瞭解多簽的閾值和簽署實踐。
程式級別設定帳戶
所有值在 2026-09-09 從 mainnet-beta 讀取。這些帳戶上的費用率是管理員可變的 — 即時讀取它們而不是快取。
如何在鏈上驗證位址
- Solana Explorer。 將位址貼到 explorer.solana.com 並確認它標記為
Program且具有當前升級授權。Mainnet-beta 應顯示由 Raydium 升級授權簽署的部署。 - CLI。 使用
solana program show <PROGRAM_ID> -u mainnet-beta檢查部署槽、BPF 載入器、升級授權和資料長度。在你的執行手冊中記錄這些。 - IDL 附件。
anchor idl fetch <PROGRAM_ID> --provider.cluster mainnet適用於 CLMM、LaunchLab 和 Lock,它們仍然保留由程式本身擁有的舊版anchor:idl帳戶。它不適用於 CPMM:CPMM 的鏈上 IDL 在 2026-09 升級中移至程式元資料程式(ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S),所以改為從那裡取得。AMM v4、Stable AMM 和 Farm 沒有鏈上 IDL。IDL 在 github.com/raydium-io/raydium-idl 鏡像 — 在信任前將鏈上 IDL 與儲存庫進行差異比較。 - 設定/管理員授權。 對於 CPMM/CLMM 設定帳戶,讀取
owner/protocol_owner欄位並確認它與security/admin-and-multisig中發佈的當前 Raydium 多簽相符。
更新本頁
- 程式 ID 的變更是安全關鍵的。不要在沒有 (a) 連結到 Raydium 公告、(b) 在
reference/changelog中新增條目和 (c) 對文件執行連結檢查以確認沒有頁面仍參考舊值的情況下發佈程式 ID 變更。 - 棄用保留在表中帶有狀態注釋,而不是被刪除 — 現有池仍透過舊程式解析。
- 即時 API:
https://api-v3.raydium.io/main/info - github.com/raydium-io/raydium-idl
- github.com/raydium-io/raydium-cp-swap

