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 민트는 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 풀은 과거 sqrt_price 스냅샷을 기록하는 ObservationState 계정을 유지합니다. 다른 프로그램은 이를 활용하여 조작에 강한 시간 가중 평균 가격을 도출할 수 있습니다:
products/clmm/accounts#observation-state를 참고하세요.
외부: 프론트엔드/API의 USD 가격 책정
Raydium의 프론트엔드와api-v3.raydium.io는 USD 값(TVL, 수수료 APR, $ 거래량)을 표시합니다. 이들은 다음에서 나옵니다:
- Pyth — 주요 민트의 기본 오라클.
- Jupiter의 집계 가격 — 폴백.
- 풀에서 도출한 가격 — 외부 오라클 커버리지가 없는 장꼬리 민트용.
오라클 조작은 Raydium 풀에 적용되지 않음
풀 상태가 오라클이므로, 버그 현상금 문헌이 의미하는 의미에서 “오라클 공격”은 없습니다 — 공격자가 손상시킬 수 있는 외부 조작 가능한 데이터 소스가 없습니다. 풀 상태에 대한 경제적 공격(플래시 론 스타일 조작)은security/attack-vectors에서 다룹니다.
Token-2022 확장 위험
SPL Token-2022(일명 “Token Extensions”)는 확장을 통해 민트에 구성 가능한 동작을 추가합니다. 일부 확장은 이를 포함하는 풀의 신뢰 속성을 변경합니다. Raydium 프로그램은 일부는 자동으로 처리하고 다른 일부는 사용자 경고로 표시합니다.전송 수수료
정의: 모든 전송에서 발신자가 민트 권한에 지급하는 구성 가능한 수수료(전송의 백분율, 절대 용어로maximum_fee 상한까지).
위험: 수수료는 민트의 수수료 설정 권한자가 변경할 수 있습니다. 수수료가 1%일 때 유동성을 입금했는데 권한자가 50%로 올리면, 후속 스왑은 예상보다 훨씬 적게 반환됩니다.
Raydium의 완화: 풀은 스왑 시간에 현재 transferFeeConfig를 읽고 수학을 조정합니다. 풀 자체는 손상되지 않지만 사용자는 더 나쁜 결과를 봅니다. 수수료 권한자는 지연된 수수료 변경을 예약할 수 있으며, Raydium의 UI는 임박한 수수료 변경이 있는 풀을 표시합니다.
잔존 위험: 진행 중인 스왑 중에 악의적인 수수료 권한자가 수수료를 변경하면, minimumAmountOut이 하향선을 보호합니다 — tx가 되돌아갑니다. 민트 발행자를 신뢰하면 괜찮습니다. 신뢰하지 않으면 LP를 하지 마세요.
전송 훅
정의: 전송은 별도의 프로그램(훅)을 호출하여 사용자 정의 검증 또는 부작용을 실행합니다. 위험: 훅은 스왑 중 풀의 내부 전송을 포함한 모든 전송을 차단할 수 있습니다. 업그레이드 가능한 훅은 나중에 악의적이 될 수 있습니다 — 입금 시점에 안전했던 것이 출금 시점에 스왑 불가능할 수 있습니다. Raydium의 완화: Raydium은 훅 프로그램 ID를 풀 상태에 나열합니다. 통합은 훅 프로그램 ID를 사용자에게 표시하여 예상된 (업그레이드 불가능, 감사됨) 프로그램인지 확인할 수 있도록 해야 합니다. 잔존 위험: 훅이 업그레이드 가능하고 권한자가 적대적이 되면 풀을 동결할 수 있습니다. Raydium은 전송 훅이 있는 풀을 차단하지 않지만 표시합니다. 전송 훅 풀에 LP하는 것은 훅이 안전함을 확인한 경우에만 하세요.동결 권한
정의: 민트의 동결 권한은 그 민트를 보유한 모든 토큰 계정을 동결하여 모든 전송을 방지할 수 있습니다. 위험: 풀의 볼트 계정을 동결할 수 있는 동결 권한은 사실상 풀을 종료시킵니다 — 사용자는 출금할 수 없고 거래자는 스왑할 수 없습니다. 이는 SPL Token 과 Token-2022에 적용됩니다. Token-2022로 새로운 것은 아니지만 여전히 위험입니다. Raydium의 완화: 프로그램 수준에서는 없습니다 — SPL Token의 동결은 풀에 불투명합니다. Raydium의 UI는 동결 가능한 민트가 있는 풀에 경고합니다. 입금하는 사용자는 동결 권한이 null이거나 신뢰할 수 있는 멀티시그인지 확인해야 합니다 (USDC는 동결 권한을 가지고 있습니다. 발행자 Circle입니다). 잔존 위험: 동결 가능한 민트는 동결될 수 있다는 것을 수용하세요. 주요 민트(USDC, USDT, USDY)는 발행자가 보유한 동결 권한을 가지며 규제 준수에만 사용됩니다. 이는 보통 수용 가능합니다.영구 위임자
정의: 승인 없이 모든 보유자로부터 토큰을 전송할 수 있는 영구 위임자를 지정하는 Token-2022 확장. 위험: 영구 위임자는 언제든지 풀의 볼트를 비울 수 있습니다. Raydium의 완화: CPMM과 CLMM은 영구 위임자를 가진 민트로 풀을 생성하는 것을 거부합니다. 초기화가 되돌아갑니다. 실행 중인 Raydium 풀에는 영구 위임자 민트가 없습니다. 잔존 위험: 없음(검사가 정확한 한, 양쪽 감사에서 확인됨).비전송 가능
정의: 보유자가 전송할 수 없는 민트. 위험: 풀은 사용자 ATA와 풀 볼트 사이에서 토큰을 이동하려면 전송 가능성에 의존합니다. 비전송 가능한 민트는 자명하게 풀을 깨뜨립니다. Raydium의 완화: 풀 생성은 비전송 가능한 민트에서 되돌아갑니다. 팜도 비전송 가능한 스테이킹 민트를 거부합니다.기본 동결 / 폐쇄 권한 / 이자 베어링
Raydium이 처리하는 영향이 낮은 확장:- 기본 동결: 새 토큰 계정은 사용 전에 해제되어야 합니다. Raydium은 ATA 생성 시 이를 투명하게 처리합니다.
- 폐쇄 권한: 지정된 권한은 토큰 계정을 폐쇄할 수 있습니다. 풀 볼트는 풀의 프로그램 유도 권한자가 소유하므로, 민트의 폐쇄 권한은 볼트에 적용되지 않습니다.
- 이자 베어링: 표시된 잔액은 이자가 부과됩니다.
amount는 고정되지만uiAmount가 증가합니다. Raydium 풀 수학은 이자 부과가 아닌amount를 사용합니다. 표시는 별도로 조정됩니다.
민트 권한
Token-2022 특정 위험은 아니지만 주목할 가치가 있습니다: 민트가 민트 권한을 유지하면, 보유자는 언제든지 공급을 팽창시킬 수 있습니다. 출시된 토큰의 경우, 이는 풀의 현재 가격에서 LP를 희석시킵니다. LaunchLab은 민트 권한이 null이 아닌 한 출시를 생성하는 것을 거부합니다.UI의 위험 레이블
Raydium의 프론트엔드는 각 풀에 적용 가능한 위험 태그를 표시합니다:- TRANSFER_FEE — 0이 아닌 전송 수수료.
- TRANSFER_HOOK — 전송 훅 확장이 활성.
- FREEZE — 민트가 동결 권한을 가짐.
- MINT — 민트가 민트 권한을 가짐 (공급이 팽창할 수 있음).
- CLOSE — 민트가 폐쇄 권한을 가짐.
통합자 체크리스트
Raydium 풀과 합성하기 전:-
getMint(mint, TOKEN_2022_PROGRAM_ID)를 통해 각 민트의 확장을 확인합니다. - permanent_delegate 또는 non_transferable을 가진 민트가 있는 풀을 건너뜁니다(이들은 Raydium에 존재하지 않아야 하지만 심층 방어).
- 양쪽 민트의 동결 권한을 확인합니다. null 또는 신뢰할 수 있는 권한만.
- 전송 훅 풀의 경우 훅 프로그램 ID를 화이트리스트와 확인합니다.
- 전송 수수료 시나리오(수수료가 최대로 가면?)에 대해 노출을 규모화합니다.
- 현물 가격이 아니라 CLMM TWAP(ObservationState)을 파생 상품 가격 책정에 사용합니다.
잔존 위험 수용 성명서
Raydium의 프로그램은 프로그램 수준에서 시행할 수 있는 것을 시행합니다:- 풀 생성은 permanent_delegate / non_transferable 민트를 거부합니다.
- 스왑 수학은 현재 전송 수수료에 맞게 정확하게 조정됩니다.
- ObservationState는 조작 저항성 오라클을 제공합니다.
- 민트의 동결 권한은 풀을 동결할 수 있습니다.
- 민트의 수수료 권한은 언제든지 전송 수수료(
maximum_fee상한까지)를 올릴 수 있습니다. - 전송 훅 프로그램은 악의적 코드로 업그레이드될 수 있습니다.
- 이자 베어링 민트의 부과 속도는 변경될 수 있습니다.
포인터
algorithms/token-2022-transfer-fees— 전송 수수료 민트의 수학 조정.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 — 프론트엔드에서 사용되는 외부 가격 오라클.


