# 価格設定

Oyster AMMは、集中流動性とリミットオーダーを単一のモデルに統合しています。スマートコントラクトの仕組みでは、Range（価格帯）とOrder（注文）がそれぞれの価格ポイントで流動性を提供します。同じ価格ポイントをカバーするRangeの流動性（またはkの平方根）は、AMMカーブの計算に加算されます。一方で、Orderの場合、同じ価格ポイントでの注文サイズはまとめて、テイカー（取引相手）の取引サイズに対応します。さらに、Orderの流動性は常にRangeの流動性が消費される前に処理されます。

特定の価格ポイントをカバーする集中流動性や、その価格ポイントでの全てのリミットオーダーは、"Pearl"と呼ばれる構造で管理され、価格ごとにインデックス付けされたスマートコントラクトに保存されます。Oyster AMMは、PearlとAMMの価格カーブを統合した形で機能しています。

実際、Pearlはメイカー（流動性提供者）のリミットオーダーのためのプールとして機能しており、これはOyster AMMにおけるリミットオーダーの非同期的な設計を実現する重要な要素です。このようにして、テイカー側のロジックが大幅に簡素化され、テイカーは必要な量だけ取引することができます。Pearlの代替可能な仕組みにより、取引のガス代は、価格変動の影響、つまり交差したティックの数に比例して変動します。

S0サイズの取引において、統一された流動性を使用する手順は以下の通りです。

1. 現在の価格P0のPearlに未処理のリミットオーダーがあるか確認します。
   1. もしない場合は、S1 = S0として次のステップに進みます。
   2. もしある場合は、できるだけリミットオーダーを埋めます。
      1. S0が全て埋まった場合、その時点で終了します。（この場合、現在の価格は変更されません。）
      2. 埋まりきらない場合は、残りのサイズS1で次のステップに進みます。
2. 次の価格P1のPearlを見つけます。
   1. P0とP1の間のAMMカーブで、S1サイズの取引を行います。

      1. S1が全て埋まった場合、その時点で終了します。（この場合、現在の価格は変更されます。）
      2. 埋まりきらない場合は、現在の価格をP1に更新し、残りのサイズS2でステップ1に戻ります。

<figure><img src="/files/4415jBQ1Me83UNkbechD" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.synfutures.com/jp/oyster-amm/si-ge-she-ding.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
