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 自動翻譯,所有內容以英文版本為準。查看英文版 →
Raydium 的核心產品不依賴外部預言機進行定價——資金池狀態本身就是預言機。但 API 和 SDK 使用外部預言機為使用者顯示 USD 定價,而 Token-2022 Mint 提供比 SPL Token 更豐富的控制機制,其中某些根本改變了資金池的信任模型。本頁詳列兩者。
Raydium 中的預言機
內部:資金池本身是預言機
對於 AMM v4、CPMM 和 CLMM,協議對「當前價格」的定義純粹由資金池狀態得出:- AMM v4 / CPMM:
price = vaultB_balance / vaultA_balance(考慮小數位)。 - CLMM:
price = (sqrtPriceX64 / 2^64)^2 × 10^(decimalsA - decimalsB)。
CLMM ObservationState 作為 TWAP 預言機
CLMM 資金池維護一個 ObservationState 帳戶,記錄歷史 sqrt_price 快照。其他程式可以針對此進行組合,以推導出抗操縱的時間加權平均價格:
products/clmm/accounts#observation-state。
外部:前端/API 上的 USD 定價
Raydium 前端和api-v3.raydium.io 顯示 USD 價值(TVL、費用 APR、$ 交易量)。這些來自:
- Pyth 作為主要預言機,用於主要 Mint。
- Jupiter 的聚合器價格 作為後備。
- 資金池衍生價格 用於缺乏外部預言機覆蓋的長尾 Mint。
預言機操縱不適用於 Raydium 資金池
由於資金池狀態是預言機,在漏洞賞金文獻所指的意義上不存在「預言機攻擊」——沒有可被攻擊者破壞的外部可操縱資料來源。針對資金池狀態的經濟攻擊(閃電貸風格操縱)包含在security/attack-vectors 中。
Token-2022 擴展風險
SPL Token-2022(又名「Token Extensions」)通過擴展為 Mint 添加可配置行為。某些擴展改變了包含它們的資金池的信任屬性。Raydium 程式自動處理某些擴展並將其他擴展作為使用者警告浮出。轉移費用
它是什麼: 可配置的費用(轉移百分比,以絕對值上限maximum_fee 為上限),由發送者支付給 Mint 授權人於每次轉移時。
風險: 費用可由 Mint 的費用配置授權人更改。如果你在費用為 1% 時存入流動性,而授權人將其提高到 50%,後續交換返回的遠少於預期。
Raydium 中的防止措施: 資金池在交換時讀取當前 transferFeeConfig 並調整數學。資金池本身不被破壞,但使用者看到更差的輸出。費用授權人還可以安排延遲的費用變更;Raydium 的 UI 標誌有即將到來費用變更的資金池。
殘餘風險: 如果惡意費用授權人在你的交換進行中更改費用,你的 minimumAmountOut 保護下行——交易恢復。如果你信任 Mint 發行人,這沒問題;如果你不信任,不要做市商。
轉移掛鉤
它是什麼: 轉移調用單獨的程式(「掛鉤」)來運行自訂驗證或副作用。 風險: 掛鉤可以阻止任何轉移,包括交換期間資金池的內部轉移。可升級的掛鉤稍後可能變得惡意——在存入時安全的東西在提取時可能變得無法交換。 Raydium 中的防止措施: Raydium 在資金池狀態中列出掛鉤程式 ID。整合應向使用者顯示掛鉤程式 ID,以便他們可以驗證它是預期的(非可升級、已審計)程式。 殘餘風險: 如果掛鉤可升級且其授權人變得敵對,資金池可能被凍結。Raydium 不阻止帶有轉移掛鉤的資金池,但會標誌它們。只有在掛鉤經過驗證安全時,才進入轉移掛鉤資金池作為流動性提供者。凍結授權
它是什麼: Mint 的凍結授權可以凍結任何持有該 Mint 的代幣帳戶,防止所有轉移。 風險: 具有凍結資金池的保管庫帳戶能力的凍結授權實際上關閉了資金池——使用者無法提取,交易者無法交換。這適用於 SPL Token 和 Token-2022;它不是 Token-2022 的新功能,但仍然是一個風險。 Raydium 中的防止措施: 程式層級沒有防止措施——SPL Token 的凍結對資金池是不透明的。Raydium 的 UI 在具有可凍結 Mint 的資金池上警告。存入的使用者應驗證凍結授權為空或他們信任的多簽(USDC 有凍結授權;它是發行人 Circle)。 殘餘風險: 接受可凍結 Mint 可能被凍結的事實。主要 Mint(USDC、USDT、USDY)的凍結授權由發行人持有並僅用於監管合規;這通常是可接受的。永久委託人
它是什麼: Token-2022 擴展,指定永久委託人可以在不需批准的情況下從任何持有者轉移代幣。 風險: 永久委託人可以隨時清空資金池的保管庫。 Raydium 中的防止措施: CPMM 和 CLMM 拒絕為具有永久委託人的 Mint 創建資金池。初始化恢復。沒有執行的 Raydium 資金池具有永久委託人 Mint。 殘餘風險: 零(只要檢查正確,兩次審計都驗證了)。不可轉移
它是什麼: 持有者無法轉移的 Mint。 風險: 資金池依賴可轉移性在使用者 ATA 與資金池保管庫之間移動代幣。不可轉移的 Mint 輕易破壞資金池。 Raydium 中的防止措施: 資金池創建在不可轉移的 Mint 上恢復。農場也拒絕不可轉移的質押 Mint。預設凍結 / 關閉授權 / 計息
由 Raydium 處理的低衝擊擴展:- 預設凍結:新代幣帳戶需要在使用前解凍。Raydium 在 ATA 創建時透明地處理此事。
- 關閉授權:指定授權可以關閉代幣帳戶。資金池保管庫由資金池的程式衍生授權擁有,因此 Mint 上的關閉授權不適用於保管庫。
- 計息:顯示的餘額累積利息;
amount保持固定但uiAmount增長。Raydium 資金池數學使用amount,而非利息累積;顯示分開調整。
Mint 授權
不是 Token-2022 特定的風險,但值得一提:如果 Mint 保留 Mint 授權,持有者可以隨意膨脹供應。對於已啟動的代幣,這在資金池當前價格稀釋 LP。LaunchLab 拒絕創建啟動,除非 Mint 授權為空。UI 中的風險標籤
Raydium 前端用適用的風險標籤標記每個資金池:- TRANSFER_FEE —— 非零轉移費用。
- TRANSFER_HOOK —— 轉移掛鉤擴展處於活動狀態。
- FREEZE —— Mint 有凍結授權。
- MINT —— Mint 有 Mint 授權(供應可以膨脹)。
- CLOSE —— Mint 有關閉授權。
整合者檢查清單
在與 Raydium 資金池組合之前:- 通過
getMint(mint, TOKEN_2022_PROGRAM_ID)檢查每個 Mint 的擴展。 - 跳過任何 Mint 具有 permanent_delegate 或 non_transferable 的資金池(這些不應在 Raydium 中存在,但深度防禦)。
- 檢查兩個 Mint 的凍結授權;僅空或受信授權。
- 對於轉移掛鉤資金池,根據白名單驗證掛鉤程式 ID。
- 根據轉移費用情景調整敞口大小(費用上升到最大時怎麼樣?)。
- 對衍生品定價使用 CLMM TWAP(ObservationState)而非現貨價格。
殘餘風險接受聲明
Raydium 程式強制執行可在程式層級強制執行的內容:- 資金池創建拒絕永久委託人 / 不可轉移的 Mint。
- 交換數學為當前轉移費用正確調整。
- ObservationState 提供抗操縱的預言機。
- Mint 的凍結授權可以凍結資金池。
- Mint 的費用授權可以隨時提高轉移費用(上至
maximum_fee上限)。 - 轉移掛鉤程式可升級為惡意代碼。
- 計息 Mint 的累積率可以更改。
相關指針
algorithms/token-2022-transfer-fees—— 轉移費用 Mint 的數學調整。security/attack-vectors—— 這些風險如何表現為具體攻擊。integration-guides/wallet-integration—— 顯示 Token-2022 風險標籤。products/clmm/accounts—— ObservationState 配置。
- SPL Token-2022 擴展文件。
- 資金池初始化驗證邏輯:
src/raydium/cpmm/instrument.ts、src/raydium/clmm/instrument.ts。 - Pyth —— 前端使用的外部價格預言機。


