메인 콘텐츠로 건너뛰기
이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →

공개된 유일한 티어

CPMM 및 CLMM과 달리 AMM v4는 AmmConfig 계정이 없습니다. 수수료는 각 풀의 AmmInfo.fees 구조체에 직접 저장되며 풀 생성 시 고정됩니다. 현재 운영 중인 거의 모든 AMM v4 풀을 다루는 기본값은 다음과 같습니다: pnl_numerator / pnl_denominator는 거래량이 아닌 스왑 수수료의 분수라는 점에 유의하세요 — 흔한 오독입니다. LP 지분은 보수 (수수료의 88% = 거래량의 0.22%)이며 암묵적입니다. 별도의 “LP 지분” 분자는 없습니다. 소수의 초기 풀은 다른 분자로 생성되었습니다. 항상 인용하기 전에 AmmInfo.fees를 읽으세요. 펀드 수수료크리에이터 수수료 항목은 없습니다. 이들은 AMM v4의 원래 수수료 모델에 존재하지 않았던 CPMM/CLMM의 발명품입니다.

분배 계산 방식

각 스왑에서 풀은 입력량에서 총 거래 수수료를 청구한 후 다음과 같이 배분합니다:
  • lp_portion은 볼트에 남아 있으며 다음 k에 기여합니다. LP는 나중에 LP 토큰을 소각하여 이를 획득합니다.
  • pnl_portion은 스왑 입력이 어느 쪽인지에 따라 AmmInfo.state_data.need_take_pnl_coin 또는 need_take_pnl_pc를 증가시킵니다.
CPMM과 동일한 불변량 보존 트릭: PnL 금액은 물리적으로 볼트에 있지만 곡선에 사용되는 준비금에서 차감되므로, TakePnl은 가격을 이동시키지 않고 토큰을 이동시킵니다.

OpenBook의 PnL (역사적)

제거됨. OpenBook 통합이 프로그램에서 제거되었으므로, 이 섹션에서 설명하는 두 번째 PnL 스트림은 더 이상 생성되지 않습니다. total_pnl_{coin,pc} 카운터는 이제 더 이상 사용되지 않는 필드입니다 — 동결된 역사적 값을 유지하며 업데이트되지 않습니다. 위의 0.03% 프로토콜 수수료 경로는 영향을 받지 않으며 여전히 활성화되어 있습니다.
역사적으로 AMM v4는 두 번째 수수료 같은 수익 스트림을 가지고 있었습니다: OpenBook의 지정가 주문이 체결될 때, 풀은 체결의 테이커 측에 있을 수 있으며 시장의 메이커/테이커 스프레드를 얻거나 지불할 수 있었습니다. 이러한 PnL 이벤트는 MonitorStep 중에 풀 볼트로 정산되었으며 프로그램은 이를 정보 카운터로 state_data.total_pnl_{coin,pc}에 기록했습니다.
  • 풀의 게시된 그리드가 곡선 가격 주변에서 올바르게 보정되었을 때, OpenBook 체결은 풀에 수수료 양수인 경향이 있었습니다 — AMM은 효과적으로 OpenBook에서 시장 조성을 하고 있었으며 메이커 리베이트를 얻고 있었습니다.
  • OpenBook이 일시 중지되거나 이벤트 큐가 가득 찼을 때, 풀은 불리한 가격으로 체결된 오래된 주문에 앉아 있을 수 있으며, 음수 PnL을 생성했습니다. 이 운영 결합은 하이브리드 설계에서 벗어나려는 동기 중 하나였습니다.
이 OpenBook PnL은 0.03% 프로토콜 수수료와 동일하지 않았습니다. OpenBook PnL은 풀 준비금을 직접 증가시켰습니다 (수수료 분배에 비례하여 LP + 프로토콜에 이익), 0.03% 프로토콜 수수료는 관리자 회수를 위해 특별히 태그되었습니다. OpenBook 측이 꺼지면서 오늘날 유일한 수수료 누적은 AMM 스왑의 0.25%와 그 22/3 분배입니다.

수집

관리자 (Raydium 멀티시그)는 WithdrawPnl을 호출하여 need_take_pnl_*을 프로그램의 AmmConfig에 구성된 풀 수준 “PnL 소유자” 계정으로 회수합니다 (다른 프로그램 범위 구성 — 풀별 CPMM 스타일 AmmConfig가 아님). 회수:
  1. 풀 볼트에서 PnL 대상으로 need_take_pnl_coin / need_take_pnl_pc를 전송합니다.
  2. 카운터를 0으로 설정합니다.
더 이상 OpenBook 정산 단계가 없습니다. 볼트 잔액이 누적된 PnL을 충당하기에 부족하면 명령어는 이제 TakePnlError를 직접 반환합니다. 이 작업은 곡선을 이동시키지 않습니다 — LP는 WithdrawPnl 호출 전후에 가격 변화를 보지 않아야 합니다. WithdrawPnl 계정 레이아웃은 2026-07 업그레이드에서 변경되었습니다 (지시사항 참조).

LP 수수료 환수

전용 “LP 수수료 수집” 명령어는 없습니다. LP 수수료는 볼트에 누적되고 시간이 지남에 따라 k를 증가시킵니다. LP는 Withdraw를 통해 LP 토큰을 소각하여 이를 실현합니다. LP 토큰의 가치는 (coin_reserve_effective, pc_reserve_effective)가 증가함에 따라 단조롭게 증가합니다.

시각화: 1,000 USDC 거래량이 어디로 가는가

기본 매개변수 풀에 대한 $1,000의 USDC 중심 스왑:
CPMM AmmConfig[0] (0.25% 티어, 크리에이터 수수료 없음)과 비교: LP는 $2.10, 프로토콜 $0.30, 펀드 $0.10을 얻습니다. CPMM은 AMM v4의 동등한 티어에서 LP의 몫이 될 것을 깎아내어 펀드 라인을 도입합니다.

비교 표

reference/fee-comparison의 전체 매트릭스.

통합자 참고사항

  • 견적. SDK 또는 api-v3.raydium.io/pools/info/ids를 통해 AmmInfo를 가져옵니다. 준비금은 이제 볼트 전용이므로 볼트 잔액에 대해 직접 견적을 낼 수 있습니다 — need_take_pnl_*을 빼는 것을 잊지 마세요 (누적된 PnL은 볼트에 보관되지만 곡선에서 제외됨).
  • 오래된 수수료 매개변수. 원칙적으로 SetParamsswap_fee_numerator를 변경할 수 있지만, 실제로 Raydium 멀티시그는 운영 중인 풀의 기본값을 변경하지 않았습니다. 그래도 항상 하드코딩하지 말고 온체인 상태에서 읽으세요.
  • 보상 없음. AMM v4는 풀 내 보상 배출을 지원하지 않습니다. 레거시 생태계 팜 (Farm v3 / v5 / v6)은 스테이킹 계층 동등물입니다 — products/farm-staking 참조.

다음으로 갈 곳

출처: