Skip to main content
이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →

한 문단 요약

CPMM — Constant Product Market Maker, Raydium UI에서 공식적으로 “표준 AMM”이라고 불리는 것 — 은 고전적인 x · y = k AMM의 네이티브 Solana 구현입니다. OpenBook 오더북도 없고, Serum 레거시도 없으며, SPL Token과 Token-2022 외에 외부 의존성도 없습니다. 모든 풀은 (두 개의 토큰 볼트, 하나의 LP 민트)의 삼중 구조로 이루어져 있으며, 프로그램 소유 권한 PDA로 관리되고, 볼트 잔액의 곱으로 가격이 결정됩니다. 이것은 모든 새로운 상수곱 풀에 대해 Raydium이 권장하는 AMM이며, /pools/create 엔드포인트와 웹 UI의 “풀 생성” 플로우가 기본적으로 대상으로 하는 것입니다.

CPMM이 제공하는 것

크리에이터 수수료 수집 업데이트. 누구든지 CollectCreatorFeePermissionless를 트리거할 수 있습니다. 자금은 여전히 풀 크리에이터의 정규 토큰 계정으로만 이동하며, 기존의 크리에이터 서명 CollectCreatorFee는 계속 사용 가능합니다. Instructions를 참조하세요.
  • 검증된 확장 허용 목록이 있는 Token-2022. CPMM은 임의의 Token-2022 민트를 수락하지 않습니다. 프로그램은 풀 생성 시 안전한 확장의 화이트리스트를 적용합니다: TransferFeeConfig, MetadataPointer, TokenMetadata, InterestBearingConfig, ScaledUiAmount. 민트의 다른 확장은 InitializeNotSupportMint로 거부하게 합니다 — 민트 자체가 프로그램에서 유지하는 작은 하드코딩된 민트 허용 목록에 있지 않은 한 (특정 민트를 경우별로 온보딩하는 데 사용됨). 특히 전송 수수료는 스왑 수학에 영향을 미치며 거래의 올바른 쪽에 적용됩니다 — algorithms/token-2022-transfer-fees를 참조하세요.
  • 예측 가능한 수수료. 각 풀은 생성 시 선택된 AmmConfig를 참조합니다. 설정은 거래 수수료 비율 (LP, 프로토콜, 펀드 간 분할)과 별도의 독립적인 크리에이터 수수료 비율을 포함합니다. 크리에이터 수수료는 자체 버킷입니다 — 거래 수수료의 일부가 아닙니다. 풀은 생성 시 이를 청구하도록 선택합니다. 기본값과 전체 분할 수학은 products/cpmm/fees에 있습니다.
  • 관찰 링 버퍼를 통한 온체인 TWAP. 모든 스왑은 observation 계정을 업데이트합니다. 외부 계약은 누적 가격 관찰을 읽어 커스텀 오라클 없이 TWAP을 계산할 수 있습니다.
  • 평탄한 계정 레이아웃. 풀은 6개의 PDA (권한, 풀 상태, LP 민트, 두 개의 볼트, 관찰)로 완전히 설명됩니다. 시장별 OpenBook 계정도 없고, 이벤트 큐도 없으며, 요청 큐도 없습니다. 트랜잭션은 계산량과 계정 수 모두에서 AMM v4보다 저렴합니다.
  • 번 앤 언 호환. LP 토큰은 LP Lock 프로그램 아래에 잠금될 수 있으므로 풀 크리에이터는 유동성을 인출할 권리를 유지하지 않으면서 계속 수수료를 청구할 수 있습니다. “영구” 유동성 출시에 사용됩니다.

CPMM이 아닌 것

  • 집중되지 않음. 유동성은 Uniswap v2처럼 전체 가격 범위에 고르게 분산됩니다. 자본 효율적인 시장 조성이 필요하다면 — 즉, 현재 가격 근처에 유동성을 집중시키려면 — CLMM을 사용하세요.
  • 하이브리드가 아님. AMM v4와 달리 CPMM 풀은 OpenBook 시장에 대기 주문을 배치하지 않습니다. CPMM 풀 간 라우팅은 CLOB가 아닌 AMM Routing 프로그램을 통해 발생합니다.
  • 임의의 곡선으로 출시 불가. 곡선은 상수곱으로 하드코딩됩니다. 토큰 출시를 위한 본딩 곡선이 필요하면 LaunchLab을 사용하세요. 이는 채워지면 CPMM 풀로 졸업합니다.

CPMM이 AMM v4와 다른 점

마이그레이션 스토리에 대한 더 깊은 설명은 protocol-overview/versions-and-migration에 있습니다.

정신 모델

CPMM 풀은 세 개의 잔액을 보유하는 프로그램 소유 객체입니다: vault0 (token0), vault1 (token1), LP 민트의 공급량. LP 민트의 공급량은 예치자의 풀에 대한 청구권을 추적합니다. 토큰 볼트는 실제 자산을 보유합니다. 다른 모든 것 — 권한 PDA, 관찰 계정, 수수료 설정 포인터 — 은 그 세 변수 관계를 거래 가능하고, 수수료 수집 가능하며, 관찰 가능하게 만들기 위한 부기입니다. 모든 사용자 대면 작업은 잘 정의된 상태 전환으로 축약됩니다:
  • 예치: token0과 token1을 입금하고, 사용자에게 LP를 민트하며, 가격 변화 없음.
  • 인출: 사용자로부터 LP를 소각하고, 풀의 현재 비율로 token0과 token1을 출금하며, 가격 변화 없음.
  • 스왑: 한 토큰을 입금하고, 다른 토큰을 출금합니다. 비율은 x · y = k 곡선을 따라 이동합니다 (수수료 제외). 관찰 계정은 새로운 가격을 샘플링합니다.
수수료 수집은 별도의 트랜잭션입니다. 모든 스왑에서 발생하지 않습니다. 프로토콜 및 펀드 수집에는 각각의 권한이 필요합니다. 크리에이터 수수료는 크리에이터 서명 경로 또는 목적지 제약 경로를 통한 무허가 호출자에 의해 수집될 수 있습니다. 수학은 products/cpmm/math에 설명되어 있고 명령 집합은 products/cpmm/instructions에 있습니다.

CPMM을 선택할 때

다음의 경우 CPMM을 선택하세요:
  • 새로운 토큰이나 새로운 쌍을 출시하고 있으며 어느 범위에서 거래가 발생할지에 대해 강한 의견이 없습니다.
  • 토큰 중 하나 또는 둘 다 Token-2022 확장을 사용합니다.
  • 동적 틱 기반 모델보다 단순한 거래당 수수료 모델을 원합니다.
  • 통합 중이며 CLMM 포지션의 복잡성을 감수하지 않고 Raydium을 통해 라우팅하려고 합니다.
다음의 경우 CLMM을 선호하세요:
  • 쌍이 안정적이거나 높은 상관관계가 있습니다 (스테이블코인-스테이블코인, LST-SOL) 그리고 패리티 주변에 유동성을 집중시키려고 합니다.
  • 더 높은 수수료 APR을 위해 TVL당 달러로 범위를 적극적으로 관리할 의향이 있는 시장 조성 팀입니다.
다음의 경우 AMM v4를 선호하세요:
  • 기존 AMM v4 도구를 마이그레이션하고 있으며 새 풀을 생성하지 않습니다.
(참고: AMM v4의 OpenBook 하이브리드 모드는 더 이상 활성화되지 않습니다 — 이것이 더 이상 AMM v4를 선택하는 이유가 아닙니다.)

다음으로 갈 곳

  • Accounts — CPMM 풀의 6개 PDA와 이를 도출하는 방법.
  • MathSwapBaseInput vs SwapBaseOutput, Token-2022 전송 수수료 처리, 관찰 업데이트.
  • Instructions — 완전한 명령 표면과 계정 목록.
  • Fees — 4방향 수수료 분할 및 수집 방법.
  • Code demos — 생성 / 스왑 / 예치 / 인출을 위한 실행 가능한 TypeScript 스니펫.
출처: