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

수수료 모델

Stable AMM은 AMM v4와 동일한 수수료 구조를 사용합니다. 풀당 하나의 수수료 계층만 있으며(초기화 시 설정), 풀을 더 높은 계층으로 재구성할 수 없습니다.
필드기본값의미
swap_fee_numerator / swap_fee_denominator25 / 10_000총 거래 수수료: 0.25% (입력 거래량 기준).
trade_fee_numerator / trade_fee_denominator25 / 10_000동일한 0.25%; OpenBook 주문 가격 책정에 사용되던 레거시 필드로, 레이아웃 호환성을 위해 유지됨.
pnl_numerator / pnl_denominator12 / 100프로토콜의 수수료 점유율: 12% — 즉, 0.25% × 12% = 0.03% (거래량 기준).
min_separate_numerator / min_separate_denominator4 / 10_000내부 반올림 하한.
펀드 수수료크리에이터 수수료 항목은 없습니다. 이들은 AMM v4 이후의 발명품입니다(CPMM/CLMM). Stable AMM은 이 관례보다 먼저 나왔습니다.

분배 계산 방식

각 스왑에서:
gross_fee = ceil(amount_in * (swap_fee_numerator / swap_fee_denominator))    // 예: amount_in의 0.25%
pnl_portion = gross_fee * (pnl_numerator / pnl_denominator)                  // gross_fee의 12%
lp_portion = gross_fee − pnl_portion                                          // gross_fee의 88%
  • **lp_portion**은 볼트에 남아 k를 증가시키고, LP 환매 시 LP에게 이익을 줍니다.
  • **pnl_portion**은 AmmInfo.out_put.need_take_pnl_coin 또는 need_take_pnl_pc를 증가시키고(입력 토큰에 따라), WithdrawPnl로 회수됩니다.
CPMM과 동일한 불변량 보존 트릭: PnL 금액은 물리적으로 볼트에 있지만 곡선 수학에 사용되는 “유효 준비금”에서 차감되므로, 이를 제거해도 가격이 변하지 않습니다.

OpenBook PnL (폐기됨)

초기에 풀은 OpenBook에 지정가 주문을 게시했고, 이들이 체결되면 마켓메이커/테이커 스프레드를 얻거나 잃었으며, MonitorStep 중에 결제되고 out_put.total_pnl_{coin,pc} 카운터에서 추적되었습니다. 이 경로는 수년간 휴면 상태였습니다. 풀은 미결 주문을 보유하지 않으므로 유일한 수수료 적립은 위에서 설명한 0.03% 프로토콜 점유율입니다. total_pnl_* 카운터는 레이아웃에 남아 있지만 더 이상 증가하지 않습니다. 2026-06-22 업그레이드는 남은 OpenBook 코드(포함 MonitorStep)를 제거했습니다. CPMM이 새 풀의 기본값이 된 이유 중 하나는 이전의 OpenBook 결합 때문입니다. Stable AMM은 오더북과 무관합니다.

수수료 회수

Raydium 멀티시그(또는 amm_admin을 제어하는 주체)가 WithdrawPnl을 호출하여 회수합니다:
  1. need_take_pnl_coinneed_take_pnl_pc를 볼트에서 관리자 지정 계정으로 이전합니다.
  2. 카운터를 0으로 설정합니다.
이 작업은 곡선을 이동하지 않습니다. LP는 가격 변화를 보지 않습니다.
WithdrawPnl은 2026-06-22 업그레이드에서 변경되었습니다: 이제 고정 10계정, 관리자 전용 레이아웃이며 호환성 경로가 없습니다(이전 레이아웃은 InvalidTokenCoin 같은 오류로 실패), 풀의 사용 가능 자금이 PnL을 충당하기에 부족할 때 풀을 비활성화하는 대신 TakePnlError를 직접 반환합니다. products/stable/instructions를 참조하세요.

LP 수수료 환매

전용 “수수료 수집” 명령어가 없습니다. LP 수수료는 볼트에 누적되어 준비금을 증가시킵니다. LP는 Withdraw를 통해 LP를 소각하여 이를 실현합니다. LP 토큰의 가치는 준비금이 증가함에 따라 증가합니다.

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

기본 매개변수 Stable 풀에 대한 USDC 중심 Swap $1,000의 경우:
총 거래 수수료 (0.25%):     $2.50
  LP 점유율   (0.22%):         $2.20  → 풀에 남음, k 증가
  PnL 점유율  (0.03%):         $0.30  → need_take_pnl_pc, WithdrawPnl로 회수
사용자 수령 (곡선 제외):  $997.50
AMM v4(동일)와 CPMM(0.25% 계층, 크리에이터 수수료 없음)과 비교: CPMM은 LP에게 $2.10, 프로토콜 $0.30, 펀드 $0.10을 제공합니다.

비교 표

Stable AMMAMM v4CPMM index=0
거래 수수료0.25%0.25%0.25%
LP0.22%0.22%0.21%
프로토콜0.03%0.03%0.03%
펀드없음없음0.01%
크리에이터없음없음기본값 0
전체 매트릭스: reference/fee-comparison.

통합자 참고사항

  • 견적: 항상 체인에서 AmmInfo를 읽으세요. 수수료를 하드코딩하지 마세요. SetParams가 제거되었으므로 기존 풀의 수수료 매개변수는 사실상 고정되어 있습니다.
  • 곡선 대 수수료: 0.25% 수수료는 곡선이 공식(AMM v4의 x·y=k)인지 조회 테이블(Stable)인지 여부와 무관합니다. 둘 다 입력 금액에 동일한 0.25%를 적용합니다.
  • 보상 없음: Stable 풀은 온풀 보상 배출을 지원하지 않습니다. 생태계 팜(Farm v3/v5/v6)은 다른 곳에서 스테이킹을 처리합니다.

다음 단계

출처:
  • raydium-stable/program/src/state.rs (Fees 구조체)
  • 라이브 메인넷 풀의 온체인 AmmInfo.fees 필드