跳轉到主要內容

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.

本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
權威來源。 本頁是文件中唯一逐字列出程式地址的地方。其他頁面會連結至此。如果 ID 變更,只在此處更新,網站中的每個參考都會保持一致。在簽署真實交易前,務必對照即時 API(https://api-v3.raydium.io/main/info)交叉檢查數值。

Mainnet-beta

經驗法則:如果實際的程式 ID 與下表不符,請勿簽署該交易。 程式 ID 不匹配是在 Solana 上最容易損失資金的方式。

鏈上程式

程式程式 ID來源
AMM v4(混合 AMM + OpenBook)675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8raydium-amm
CPMM(標準 AMM)CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1Craydium-cp-swap
CLMM(集中流動性)CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqKraydium-clmm
Stable AMM(StableSwap 曲線)5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h原始碼未公開
Farm v3(舊版 RAY 質押)EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q原始碼未公開
Farm v5(舊版生態農場)9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z原始碼未公開
Farm v6(現行生態農場)FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG原始碼未公開
LaunchLabLanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj原始碼未公開
AMM 路由(Raydium 的鏈上路由器)routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS原始碼未公開
銷毀賺取 / LP 鎖定LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE原始碼未公開
說明:
  • 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 來驗證它們。

共用管理員授權

所有基於 Anchor 的程式(CLMM、CPMM、LaunchLab、Lock)共用單個硬編碼的管理員 Pubkey,用於指令級存取控制的管理員路徑(例如 CreateAmmConfigUpdatePoolStatus):
叢集管理員
mainnet-betaGThUX1Atko4tqhN2NaiTazWSeFWMuiUvfFnyJyUghFMJ
devnetDRayqG9RXYi8WHgWEmRQGrUWRWbhjYWYkCRJDd6JBBak
帳戶級操作授權(例如 CPMM/CLMM AmmConfig 上的 protocol_ownerfund_owner,或 LaunchLab GlobalConfig 上的遷移錢包)存儲在鏈上,可能與程式管理員不同。在發送高風險交易前,直接從相關配置帳戶讀取它們。

共用配置 / PDA 慣例

幾個 Raydium 程式公開了配置帳戶,其公鑰穩定且列在公開 API 上。優先使用 API 查詢而不是硬編碼:
# CPMM 費用配置(返回 {id, index, tradeFeeRate, ...} 陣列)
GET https://api-v3.raydium.io/main/cpmm-config

# CLMM 費用配置
GET https://api-v3.raydium.io/main/clmm-config
預設 CPMM AmmConfig 索引 0(標準 0.25% 流動性池)費用參數,供參考:
欄位數值含義
trade_fee_rate2500交易量的 0.25%
protocol_fee_rate120000交易費用的 12%(非交易量)路由至協議
fund_fee_rate40000交易費用的 4% 路由至基金多簽
creator_fee_rate500交易量的 0.05% 給流動性池建立者(可選)
請參閱 products/cpmm/fees 了解拆分如何組成,以及 reference/fee-comparison 了解跨產品矩陣。

PDA 種子

下方的種子是規範的,SDK 和鏈上 CPI 都使用。務必計算 PDA;不要硬編碼衍生地址。
// CPMM — 所有種子均為靜態 ASCII 字串,除非另有說明。
const [ammConfig]   = PublicKey.findProgramAddressSync(
  [Buffer.from("amm_config"), u16ToBytes(index)],
  CPMM_PROGRAM_ID,
);
const [authority]   = PublicKey.findProgramAddressSync(
  [Buffer.from("vault_and_lp_mint_auth_seed")],
  CPMM_PROGRAM_ID,
);
const [poolState]   = PublicKey.findProgramAddressSync(
  [Buffer.from("pool"), ammConfig.toBuffer(), token0Mint.toBuffer(), token1Mint.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [lpMint]      = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_lp_mint"), poolState.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [vault0]      = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), token0Mint.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [vault1]      = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), token1Mint.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [observation] = PublicKey.findProgramAddressSync(
  [Buffer.from("observation"), poolState.toBuffer()],
  CPMM_PROGRAM_ID,
);
token0Mint / token1Mint 在雜湊前按公鑰位元組順序排序(token0 < token1)。操作不當會產生不存在的流動性池的有效 PDA。 等效的 CLMM 種子遵循相同的風格;請參閱 products/clmm/accounts

Devnet

程式程式 ID
AMM v4DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav
CPMMDRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb
CLMMDRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH
Stable AMMDRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m
LaunchLabDRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6
AMM 路由DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd
銷毀賺取 / LP 鎖定DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC
Farm v3 / v5 / v6不會可靠地為 devnet 發佈 — 在使用前通過即時 API(https://api-v3-devnet.raydium.io/main/info)確認。
Devnet REST API 基址:https://api-v3-devnet.raydium.io/(與 mainnet 相同的路由形狀)。

如何在鏈上驗證地址

  1. Solana Explorer。 將地址貼入 explorer.solana.com,並確認它標記為 Program 且具有當前的升級授權。Mainnet-beta 應顯示由 Raydium 升級授權簽署的部署。
  2. CLI。 使用 solana program show <PROGRAM_ID> -u mainnet-beta 檢查部署槽位、BPF 載入器、升級授權和資料長度。在你的實施手冊中記錄這些。
  3. IDL 附件。 使用 anchor idl fetch <PROGRAM_ID> --provider.cluster mainnet 查詢鏈上 IDL。IDL 的 address 欄位應該相符。相同的 IDL 也在 github.com/raydium-io/raydium-idl 上鏡像 — 在信任鏈上 IDL 之前,請根據儲存庫進行差異比較。
  4. 配置/管理員授權。 對於 CPMM/CLMM 配置帳戶,讀取 owner/protocol_owner 欄位,並確認它符合 security/admin-and-multisig 中發佈的當前 Raydium 多簽。
如果上述四項檢查中的任何一項與本頁不符,請將本頁視為錯誤,並在編寫針對地址的新程式碼之前提交問題。

更新本頁

  • 程式 ID 的變更對安全至關重要。不要在不(a)連結到 Raydium 公告、(b)在 reference/changelog 中加入條目,以及(c)對文件進行連結檢查以確認沒有頁面仍參考舊值的情況下發布程式 ID 變更。
  • 棄用的項目應在表中附上狀態說明,而不是被刪除 — 現有流動性池仍然可通過舊程式解析。
來源: