> ## 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.

# Stable AMM 수수료

> AMM v4와 동일: 0.25% 거래 수수료, 0.22% LP / 0.03% 프로토콜 분배. 펀드 수수료 없음, 크리에이터 수수료 없음.

<Info>
  **이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.**

  [영문판 보기 →](/products/stable/fees)
</Info>

## 수수료 모델

Stable AMM은 **AMM v4와 동일한 수수료 구조**를 사용합니다. 풀당 하나의 수수료 계층만 있으며(초기화 시 설정), 풀을 더 높은 계층으로 재구성할 수 없습니다.

| 필드                                                  | 기본값           | 의미                                                            |
| --------------------------------------------------- | ------------- | ------------------------------------------------------------- |
| `swap_fee_numerator / swap_fee_denominator`         | `25 / 10_000` | **총 거래 수수료: 0.25%** (입력 거래량 기준).                              |
| `trade_fee_numerator / trade_fee_denominator`       | `25 / 10_000` | 동일한 0.25%; OpenBook 주문 가격 책정에 사용되던 레거시 필드로, 레이아웃 호환성을 위해 유지됨. |
| `pnl_numerator / pnl_denominator`                   | `12 / 100`    | **프로토콜의 수수료 점유율: 12%** — 즉, `0.25% × 12% = 0.03%` (거래량 기준).   |
| `min_separate_numerator / min_separate_denominator` | `4 / 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 업그레이드](/ko/reference/changelog)는 남은 OpenBook 코드(포함 `MonitorStep`)를 제거했습니다. CPMM이 새 풀의 기본값이 된 이유 중 하나는 이전의 OpenBook 결합 때문입니다. Stable AMM은 오더북과 무관합니다.

## 수수료 회수

Raydium 멀티시그(또는 `amm_admin`을 제어하는 주체)가 `WithdrawPnl`을 호출하여 회수합니다:

1. `need_take_pnl_coin`과 `need_take_pnl_pc`를 볼트에서 관리자 지정 계정으로 이전합니다.
2. 카운터를 0으로 설정합니다.

이 작업은 곡선을 이동하지 않습니다. LP는 가격 변화를 보지 않습니다.

<Warning>
  `WithdrawPnl`은 2026-06-22 업그레이드에서 변경되었습니다: 이제 **고정 10계정, 관리자 전용 레이아웃이며 호환성 경로가 없습니다**(이전 레이아웃은 `InvalidTokenCoin` 같은 오류로 실패), 풀의 사용 가능 자금이 PnL을 충당하기에 부족할 때 풀을 비활성화하는 대신 `TakePnlError`를 직접 반환합니다. [`products/stable/instructions`](/ko/products/stable/instructions#withdrawpnl)를 참조하세요.
</Warning>

## 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 AMM | AMM v4 | CPMM `index=0` |
| ------ | ---------- | ------ | -------------- |
| 거래 수수료 | 0.25%      | 0.25%  | 0.25%          |
| LP     | 0.22%      | 0.22%  | 0.21%          |
| 프로토콜   | 0.03%      | 0.03%  | 0.03%          |
| 펀드     | 없음         | 없음     | 0.01%          |
| 크리에이터  | 없음         | 없음     | 기본값 0          |

전체 매트릭스: [`reference/fee-comparison`](/ko/reference/fee-comparison).

## 통합자 참고사항

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

## 다음 단계

* [`products/stable/math`](/ko/products/stable/math) — 스왑 수학에서의 수수료 적용.
* [`products/stable/instructions`](/ko/products/stable/instructions) — `WithdrawPnl` 계정 목록.
* [`products/amm-v4/fees`](/ko/products/amm-v4/fees) — OpenBook 경로에 대한 더 깊은 수수료 유도.
* [`reference/fee-comparison`](/ko/reference/fee-comparison) — 모든 제품 나란히 비교.

출처:

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