메인 콘텐츠로 건너뛰기

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)에서 값을 교차 확인하세요.

메인넷

원칙: 아래 표와 일치하지 않는 프로그램 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공개되지 않음
Burn & Earn / LP LockLockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE공개되지 않음
주의사항:
  • 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 Routing, Burn & Earn / LP Lock, Farm 프로그램은 공개되지 않으므로 라이브 API, 온체인 바이트코드, raydium-io/raydium-idl의 공개 IDL에 대해 검증하세요.

공유 어드민 권한

모든 Anchor 기반 프로그램 (CLMM, CPMM, LaunchLab, Lock)은 어드민 경로 (예: CreateAmmConfig 또는 UpdatePoolStatus)에 대한 명령어 수준 접근 제어를 위해 단일 하드코딩된 어드민 Pubkey를 공유합니다:
클러스터어드민
mainnet-betaGThUX1Atko4tqhN2NaiTazWSeFWMuiUvfFnyJyUghFMJ
devnetDRayqG9RXYi8WHgWEmRQGrUWRWbhjYWYkCRJDd6JBBak
계정 수준 운영 권한 (예: CPMM/CLMM AmmConfigprotocol_owner, fund_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를 참조하세요.

데브넷

프로그램프로그램 ID
AMM v4DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav
CPMMDRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb
CLMMDRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH
Stable AMMDRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m
LaunchLabDRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6
AMM 라우팅DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd
Burn & Earn / LP LockDLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC
Farm v3 / v5 / v6데브넷용으로 안정적으로 공개되지 않음 — 사용 전 라이브 API (https://api-v3-devnet.raydium.io/main/info)에서 확인하세요.
데브넷 REST API 기본 주소: https://api-v3-devnet.raydium.io/ (메인넷과 동일한 경로 구조).

온체인에서 주소를 검증하는 방법

  1. Solana Explorer. explorer.solana.com에 주소를 붙여 넣고 현재 업그레이드 권한이 있는 Program으로 표시되었는지 확인하세요. 메인넷은 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 필드를 읽고 현재 Raydium 멀티시그와 일치하는지 확인하세요. security/admin-and-multisig를 참조하세요.
위의 네 가지 확인 중 하나라도 이 페이지와 일치하지 않으면 이 페이지를 잘못된 것으로 취급하고 새 코드를 작성하기 전에 문제를 제기하세요.

이 페이지 업데이트

  • 프로그램 ID 변경은 안전이 중요합니다. 다음 없이 프로그램 ID 변경을 배포하지 마세요: (a) Raydium 발표로의 링크, (b) reference/changelog의 항목 추가, (c) 문서의 링크 검사 실행하여 이전 값을 여전히 참조하는 페이지가 없는지 확인.
  • 더 이상 사용하지 않는 항목은 삭제되지 않고 상태 메모와 함께 표에 남습니다 — 기존 풀은 여전히 이전 프로그램을 통해 해석됩니다.
출처: