Skip to main content
이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
버전 배너. 모든 예제는 Solana mainnet-beta에 대해 @raydium-io/raydium-sdk-v2@0.2.42-alpha를 대상으로 하며, 2026년 4월에 검증되었습니다. 프로그램 ID: 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 (reference/program-addresses 참조).
새 풀 생성은 여기에 표시되지 않습니다. Raydium UI는 더 이상 AMM v4 풀 생성을 제공하지 않으며, 새 페어는 기본적으로 CPMM으로 설정됩니다. AMM v4 프로그램 자체는 여전히 온체인에서 Initialize2를 수락하지만, 권장되는 경로가 아닙니다. 아래 예제는 모든 통합자가 여전히 필요로 하는 라이브 풀 작업을 다룹니다: 스왑, 입금, 출금.

설정

ID로 풀 가져오기

poolKeys는 명령어 빌더가 사용하는 구조체입니다. 프로그램이 예상하는 순서대로 모든 AMM v4 및 OpenBook 계정을 포함합니다.

스왑 (기본 입력)

SDK는 AMM v4 스왑을 V2 진입점을 통해 라우팅하며, 이는 OpenBook 계정을 포함하지 않습니다. (2026년 7월 업그레이드 후 마켓 계정은 레거시 v1 경로에서도 더 이상 검증되지 않습니다.)

스왑 (기본 출력)

유동성 추가

fixedSide: "a"는 정확한 amountInA를 제공했으며 amountInB는 최대 maxAnotherAmount여야 함을 SDK에 알립니다. 풀의 온체인 유동성은 비례 수학 전에 정산되므로 입금 비율이 최신 준비금과 일치합니다.

유동성 제거

슬리피지 최소값은 사전 견적과 착륙 시간 사이에 풀의 상태가 변하는 것을 방지합니다.

컴퓨트 유닛 / 우선순위 수수료 조정

AMM v4 스왑은 모든 명령어가 전체 OpenBook 상태를 검증하기 때문에 컴퓨트 집약적입니다. 일반적인 스왑은 경로를 통해 정산해야 하는 미결 주문 수에 따라 180k~250k CU를 사용합니다. 항상 컴퓨트 유닛 제한을 전달하세요:
computeBudgetConfig를 생략하면 SDK가 여전히 자체 기본값을 사용할 수 있습니다. innerTransactions를 검사하여 확인하세요. integration-guides/priority-fee-tuning을 참조하세요.

직접 Rust CPI

자신의 Anchor 프로그램에서 AMM v4로 CPI해야 하는 경우, SwapBaseIn의 계정 목록을 정확히 모델링해야 합니다. 최소 스케치:
AMM v4는 CPI용 Anchor 크레이트를 제공하지 않습니다. 위의 스케치는 수동으로 구성된 Instruction을 사용합니다.
위의 CPI 스케치는 기존 트랜잭션을 읽거나 재현하기 위해 레거시 v1 SwapBaseIn 레이아웃(태그 9, 17개 계정)을 사용합니다. 2026년 7월 업그레이드 이후 마켓 계정은 수락되지만 무시됩니다. 새 코드의 경우 SwapBaseInV2 / SwapBaseOutV2 (태그 16 / 17)를 선호하세요. 이는 마켓 계정(및 amm_open_orders)을 완전히 제거하고 8개 계정만 전달합니다: token_program, amm, amm_authority, 두 개의 풀 금고, 두 개의 사용자 토큰 계정, 및 user_owner.

함정

  • v1 스왑의 잘못된 계정 수. 레거시 SwapBaseIn / SwapBaseOut은 여전히 전체 17개 계정(또는 18개 계정) 목록이 필요합니다. 일치하지 않는 WrongAccountsNumber로 되돌립니다. 마켓 계정의 내용은 더 이상 검증되지 않지만 여전히 해당 슬롯을 차지해야 합니다. 이를 피하려면 V2 진입점을 선호하세요.
  • 원본 금고 잔액 읽기. 준비금은 이제 금고 전용입니다. 누적된 PnL(need_take_pnl_*)을 빼세요. SDK 견적 또는 api-v3.raydium.io/pools/info/ids가 이를 처리합니다.
  • 제거된 명령어 호출. MonitorStep, MigrateToOpenBook, WithdrawSrm, SimulateInfo, AdminCancelOrders, 및 레거시 Initialize / PreInitialize는 이제 되돌립니다. 풀 생성을 위해 Initialize2를 사용하세요. 호출할 크랭크가 없습니다.
  • Token-2022 민트. 지원되지 않습니다. AMM v4 풀은 Token-2022 민트에 대해 생성될 수 없습니다. 모든 Token-2022 페어는 CPMM 또는 CLMM에 있어야 합니다.

다음 단계

출처: