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

# CLMM 概要

> Raydium の CLMM とは何か、集約流動性がコンスタント・プロダクト・プールとどのように異なるか、および CPMM または AMM v4 よりも選ぶべき時期について説明します。

<Info>
  **このページは AI による自動翻訳です。すべての内容は英語版を正とします。**

  [英語版を表示 →](/products/clmm/overview)
</Info>

## 1 段落での要約

CLMM — **C**oncentrated **L**iquidity **M**arket **M**aker — は Raydium の Uniswap v3 スタイルの AMM です。流動性プロバイダーが預金を価格曲線全体に分散する代わりに、CLMM では LP が**特定の価格範囲**に預金することができます。その範囲内では、プリデポジットの 1 ドル当たりが CPMM プールよりも何倍も生産性が高くなります。範囲外では、預金は何も稼がず、片側残高として保持されます。プログラムは**ティック**（離散化された価格バケット）ごとに流動性を追跡し、プール状態を Q64.64 固定小数点数（`sqrt_price_x64`）としてエンコードされた価格の平方根で価格設定し、各 LP ポジションに対して代替可能な LP トークンではなく **NFT** を鋳造します。

## 新機能

最新の CLMM リリースは、Uniswap v3 スタイルのコアの上に 3 つの追加機能を搭載しており、プール作成時にオプトインでき、既存のプールとポジションと下位互換性があります。

* **リミットオーダー。** LP はスワップパスが単一ティックオーダーを越えると FIFO でそれを満たすとき、特定の価格でシングルティックオーダーを配置できるようになります。注文はリミット価格で所有者の ATA に決済され、オフチェーン キーパー（`limit_order_admin`）は所有者がオンラインでなくても満たされたオーダーをスイープできます。[Instructions → OpenLimitOrder / SettleLimitOrder](/ja/products/clmm/instructions) と [Math → Limit-order matching during swap](/ja/products/clmm/math) を参照してください。
* **片側フィー（`CollectFeeOn`）。** プールは入力側からスワップフィーを取得するよう構成できます（レガシー動作、モード `0`）、または常に `token_0` から（`1`）、または常に `token_1` から（`2`）。ペアの一方が標準的な会計トークンである場合に有用です（例：USDC）。[Fees → Single-sided fee](/ja/products/clmm/fees) を参照してください。
* **動的フィー。** プールは、急速なティック移動で上昇し、時間とともに減衰する変動性追跡フィー追加料金にオプトインできます。ティアごとの `DynamicFeeConfig` とプールごとの `DynamicFeeInfo` によってキャリブレーションされます。[Fees → Dynamic fee](/ja/products/clmm/fees) と [Math → Dynamic fee derivation](/ja/products/clmm/math) を参照してください。

新しいインストラクション `CreateCustomizablePool` は、プール作成時にこれら 3 つのノブをすべて公開します。クラシック `CreatePool` は、リミットオーダーや動的フィーのないデフォルトフィープールで機能し続けます。

## CLMM が提供するもの

* **資本効率。** ステーブルコイン同士の LP が平価付近の ±0.1% バンドに流動性を集約する場合、同じペアの CPMM プールと比較して、TVL あたりのドルあたり 100 倍以上のフィーを稼ぐことができます。
* **ポジションレベルのフィー会計。** フィーは LP ミント単位ではなくポジション単位で発生します。同じプール上の 2 つのポジションは、範囲と価格が通ったパスに基づいて異なるフィー額を稼ぎます。
* **ペアごとの複数のフィーティア。** ペアは複数の CLMM プールを持つことができ、それぞれが異なる `AmmConfig` にバインドされており、独自のトレードフィーレートとティック間隔を持ちます。ウェブ UI とルーターは、現在の価格で最も流動性が高いティアを提供します。
* **プール上で直接インセンティブ可能。** 最大 3 つのリワード トークン ストリームをプールにアタッチできます。ポジションは、それらが提供する秒数 × インレンジ流動性に基づいてリワードを比例して収集します。[`products/clmm/fees`](/ja/products/clmm/fees) を参照してください。
* **NFT ポジション。** 各ポジションは、ミントが決定論的 PDA と等しい非代替トークンです。NFT を転送するとポジションが転送されます。ウォレットと UI はポジションを収集品と同じ方法で表示できます。
* **Token-2022 サポート**ペアの両側で、CPMM と同じ拡張制限があります。

## CLMM ではないもの

* **セットして忘れてはいけません。** SOL が 160 ドルの時に設定された範囲は、SOL が 80 ドルに移動した場合、アクティブに調整しない限り、何も稼ぎません。CLMM はアクティブな LP に報酬を与えます。パッシブ LP は CPMM にとどまるべきです。
* **ゼロコストではない。** ポジションが越える新しいティック配列は初期化する必要があり、レント コストがかかります。広い範囲は安いです。狭いものはそうではありません。
* **CLOB ではありません。** AMM v4 とは異なり、CLMM には OpenBook 依存関係がありません。すべての流動性はティックマップに置かれます。
* **CPMM のスーパーセットではありません。** 最大範囲の `[tick_min, tick_max]` にまたがる CLMM ポジションは CPMM に*似た*動作をしますが、ガスコストが異なり、フィー会計モデルが異なり、代替可能な LP トークンはありません。シンプルな代替可能-LP プールが必要な場合は、CPMM を使用してください。

## CLMM と CPMM および AMM v4 の違い

| 次元          | AMM v4        | CPMM                       | CLMM                    |
| ----------- | ------------- | -------------------------- | ----------------------- |
| 曲線          | コンスタント・プロダクト  | コンスタント・プロダクト               | 集約（ティックベース）             |
| LP シェア      | 代替可能な LP ミント  | 代替可能な LP ミント               | ポジションごとの NFT            |
| 流動性は…       | すべての価格にまたがって  | すべての価格にまたがって               | ユーザー選択範囲内               |
| フィーティア      | 固定 0.25%      | `AmmConfig` ごと（例：0.25%、1%） | `AmmConfig` × ティック間隔ごと  |
| アクティブ管理     | 該当しません        | 該当しません                     | **必須**                  |
| フィー会計       | プールレベル        | プールレベル                     | ポジションごと                 |
| リワード ファーム   | 別の Farm プログラム | 別の Farm プログラム              | ビルトイン（最大 3 リワード）        |
| Token-2022  | いいえ           | はい                         | はい                      |
| オンチェーン オラクル | いいえ           | `observation` リング          | プールごとの `observation` 配列 |

## メンタルモデル

CLMM プールを 3 つの重ねられたデータ構造と考えてください。

1. **`sqrt_price` 空間の連続曲線。** プールの価格は `sqrt_price_x64`、Q64.64 固定小数点で表現されます。スワップはこの曲線に沿って移動します。ティック境界内では、数学は標準的な集約流動性 AMM 数学です（[`algorithms/clmm-math`](/ja/algorithms/clmm-math) を参照）。
2. **離散的なティックマップ。** 価格はティック（`1.0001` の整数乗）に量子化されます。各ティックには既知の `sqrt_price` があります。ポジションはエンドポイントを整数ティック インデックスとして参照します。ティック インデックスはストレージ用に固定サイズの**ティック配列**にグループ化されます。
3. **ポジションごとのフィーとリワード簿記。** 各ポジションは、最後の更新時の全体 `fee_growth_inside` を格納します。LP がポジションにタッチするとき（開く、閉じる、調整、収集）、プログラムは格納された値から現在のグローバルを引いて、何が貸方かを計算します。これは Uniswap v3 `feeGrowthInside0X128 / feeGrowthInside1X128` パターンです。

すべてのユーザーアクションは、これら 3 つの構造上の状態遷移に分解されます。

* **オープン ポジション：** ティック範囲を選択し、トークンをデポジットし、NFT を鋳造し、範囲内のティック マップに流動性を挿入し、以前に空だったティック配列を初期化します。
* **流動性を増やす / 減らす：** NFT の関連するポジション アカウントとティック マップに格納されている金額を調整し、同時に累積フィーを収集します。
* **スワップ：** 現在の `sqrt_price_x64` から取引方向に沿って移動し、入力が枯渇するか次の初期化されたティックに到達するまでアクティブな流動性を消費します。ティックを越えて、新しい側で流動性を取得または削除します。
* **フィー / リワード を収集：** 各側と各リワード ストリームについて、`fee_growth_inside_now − fee_growth_inside_last` × `position_liquidity` を計算します。転出します。

プールは、どのポジションが開かれているかについては無関心です。同じ範囲内の 2 つの LP は、同じフィー成長パスを見て、個々の `liquidity` 金額でスケーリングされます。

## CLMM を選択するべき時

以下の場合に CLMM を選択してください。

* あなたは**安定的で平均回帰的なペア**（USDC/USDT、jitoSOL/SOL、wBTC/BTC）に流動性を提供しており、平価付近に集約したいと考えています。
* あなたは**マーケットメーカー**であり、価格を監視してリバランスする意思があります。
* あなたは具体的に**プールごとのインセンティブ発行**が必要で、別のファームを立ち上げたくありません。
* あなたの独自の LP 製品（ボルト、構造化商品など）について**ポジションごとの会計**が必要です。

以下の場合は [CPMM](/ja/products/cpmm) を選択してください。

* あなたは未知の価格発見を伴う新しいトークンを立ち上げています。
* あなたはステーク、ロック、または合成できるシングルの代替可能な LP トークンが必要です。
* あなたはパッシブ LP エクスペリエンスが必要です。

以下の場合は [AMM v4](/ja/products/amm-v4) を選択してください。

* あなたは具体的に AMM v4 が OpenBook に配置するハイブリッド CLOB 深度が必要です。
* あなたは既存の AMM v4 統合を移行しており、新しいポジションを開いていません。

## ポジションは NFT

CLMM ポジションはオンチェーンで 2 つのアカウントで表現されます。

* **ポジション NFT ミント**（供給量 1）。
* **個人用ポジション状態**アカウント（NFT ミントをキーとしたもので、ポジションのティック、流動性、および最後に観察されたフィー成長値を保持します）。

NFT を転送するとポジションが転送されます。個人用ポジション アカウントの権限は NFT 所有者です。これは Uniswap v3 が開拓したのと同じパターンで、Solana のアカウント モデルで実装されています。詳細な説明は [`products/clmm/ticks-and-positions`](/ja/products/clmm/ticks-and-positions) にあります。

<Note>
  古い CLMM リリースはまた、その範囲の流動性を集計するために `(pool, tick_lower, tick_upper)` ごとに `ProtocolPositionState` アカウントを作成しました。**新しいリリースはそれを作成または使用しなくなります** — フィールドは `OpenPosition` / `IncreaseLiquidity` / `DecreaseLiquidity` アカウント リストに `UncheckedAccount` として引き続き表示されます（ABI 互換性のため）が、プログラムはそれを読み取りまたは書き込みません。集計範囲簿記はティック エンドポイント（`liquidity_gross`、`liquidity_net`）に直接置かれます。
</Note>

## 次に進むべきこと

* [Accounts](/ja/products/clmm/accounts) — プール、構成、ティック配列、およびポジション アカウント レイアウト。
* [Ticks and positions](/ja/products/clmm/ticks-and-positions) — ティック マップ、ティック間隔、ティック配列サイジング、NFT ベースのポジション。
* [Math](/ja/products/clmm/math) — `sqrt_price_x64`、スワップ ステップスルー、`fee_growth_inside` 導出。
* [Instructions](/ja/products/clmm/instructions) — `OpenPosition`、`IncreaseLiquidity`、`Swap`、`CollectRewards`、リミットオーダー ファミリー、および `CreateCustomizablePool`。
* [Fees and rewards](/ja/products/clmm/fees) — ポジションごとのフィー モデル、片側フィー モード、動的フィー、および 3 つのリワード スロット。
* [Code demos](/ja/products/clmm/code-demos) — TypeScript でのオープン / 調整 / スワップ / 収集 / リミットオーダー / カスタマイズ可能プール ウォークスルー。

ソース：

* [Raydium CLMM ソース — `raydium-io/raydium-clmm`](https://github.com/raydium-io/raydium-clmm)
* CLMM が直接継承する数学について Uniswap v3 ホワイト ペーパー（「Uniswap v3 Core」）
* 標準的なプログラム ID については [`reference/program-addresses`](/ja/reference/program-addresses)
