이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
버전 정보.
- SDK:
@raydium-io/raydium-sdk-v2@0.2.42-alpha - 클러스터: Solana
mainnet-beta - Stable AMM 프로그램 ID:
5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h(reference/program-addresses참고) - 마지막 검증: 2026-04
liquidity 모듈은 Stable AMM 풀을 기본으로 지원합니다. Stable 풀은 ApiV3PoolInfoStandardItem에서 version: 5 (또는 pooltype: "StablePool")로 표시되며, addLiquidity / removeLiquidity / 스왑 헬퍼는 AMM v4 (version: 4) 상수곱 풀과 동일하게 작동합니다. SDK가 자동으로 변형을 감지하고 올바른 명령어를 생성합니다. 오프체인 Stable 곡선 수학은 src/raydium/liquidity/stable.ts에 있습니다.설정
Stable 풀 식별
ApiV3PoolInfoStandardItem의 두 가지 동등한 신호:
version: 4, 상수곱)과 Stable AMM (version: 5) 모두 SDK의 동일한 LiquidityModule API를 통해 처리됩니다. 내부적으로 모듈은 다음으로 전달됩니다:
- v4 풀의
InstructionType.AmmV4AddLiquidity/AmmV4RemoveLiquidity - v5 (Stable) 풀의
InstructionType.AmmV5AddLiquidity/AmmV5RemoveLiquidity
programId (풀 키와 함께 반환됨)는 SDK에 어느 프로그램으로 CPI할지 알려줍니다. 하드코딩할 필요가 없습니다.
민트 쌍으로 풀 찾기
Stable 풀을 통한 스왑
LiquidityModule.swap 흐름은 v4 풀과 동일한 모양입니다. v5 풀 객체를 전달하기만 하면 됩니다:
programId를 읽고 Stable AMM 프로그램으로 전달합니다. 특수한 programId 인자는 필요하지 않습니다.
유동성 추가 및 제거
addLiquidity와 removeLiquidity는 v4 및 v5 풀에서 동일하게 작동합니다:
pooltype.includes("StablePool")이 true이므로 InstructionType.AmmV5AddLiquidity를 생성합니다. 해당하는 removeLiquidity 흐름은 대칭적입니다. lpAmount와 각 측에서 허용할 최소 금액을 입력하면 됩니다.
오프체인 견적 헬퍼 (stable.ts)
서버측 견적이나 백테스팅의 경우, SDK는 기본 Stable 곡선 수학을 노출합니다:ModelDataInfo는 initLayout()에 의해 한 번 가져와지고 raydium.liquidity.stableLayout에 캐시됩니다. 현재 보유량 (x, y)을 전달하면 헬퍼는 조회 테이블을 이진 검색하고 주변의 두 DataElement 행 사이를 선형 보간하여 계산합니다. 기본 알고리즘은 products/stable/math를 참고하세요.
AMM Routing을 통한 라우팅 (다중 홉 / 최적 가격)
장소를 직접 선택하지 않으려면, AMM Routing 프로그램이 모든 Raydium AMM (v4 / CPMM / CLMM / Stable)을 고려하고 최적의 조합을 통해 라우팅합니다:권장사항
- 엔드 사용자 스왑의 경우,
tradeV2라우팅 흐름을 선호합니다. Stable을 포함한 모든 Raydium 풀 유형을 처리합니다. - 풀 특정 작업의 경우 (알려진 Stable 풀에서 LP 추가/제거),
LiquidityModule을 직접 사용합니다. v5 풀을 자동으로 감지합니다. - 오프체인 견적 / 분석의 경우,
initLayout()후getStablePrice/getDyByDxBaseIn/getDxByDyBaseIn을 호출합니다. 모델 데이터가 캐시된 후에는 견적당 RPC 트래픽이 없습니다. - 원본
SwapBaseIn명령어를 손으로 코딩하지 마세요. Stable AMM 프로그램 (AMM v4에서 포크됨)은 V1 스왑 진입점에 17–19개의 OpenBook 계정이 필요하며,model_data_account가 그들 중 하나로 삽입됩니다. SDK의 사전 구성된 헬퍼는 모든 계정과 순서를 올바르게 처리합니다. 직접 작성하는 것은 오류가 발생하기 쉽습니다.
다음 단계
- Math — 조회 테이블 보간이 어떻게 작동하는지.
- Instructions — 전체 명령어 참고.
- AMM Routing — AMM v4, CPMM, CLMM, Stable을 통한 다중 풀 라우팅.
raydium-sdk-V2/src/raydium/liquidity/liquidity.ts— 모듈 진입점; v4 / v5 전달.raydium-sdk-V2/src/raydium/liquidity/stable.ts—StableLayout,getStablePrice,getDxByDyBaseIn,getDyByDxBaseIn.

