# Limit Order

In Oyster AMM, the buy and sell limit orders on single price points are combined with concentrated liquidity to provide pricing for traders. Unlike some spot AMM models, where highly concentrated liquidity is used as a proxy of limit orders, Oyster AMM enables **native limit orders like those in central limited order book systems.** These are defined on single price points and irreversible once filled. The design provides makers with certainty of the status of their limit orders.

## Matching and Overall Pricing Mechanism

To circumvent current smart contract limitations, order matching in Oyster AMM does not follow the traditional centralized limit order book model, which is the **first-in-first-out** principle. Rather, it follows a matching process more suitable for an AMM. The characteristics of the matching and pricing mechanism can be summarized below.

* At a price point where limit orders exist, they are filled before any concentrated liquidity is consumed.
* Trade volume is allocated to multiple limit orders proportionately at the same price. A just-in-time limit order is welcomed.
* rall slippage can be greatly reduced when limit orders exist on the AMM price curve.

## Admissible Limit Order Price

Oyster AMM adopts a tick-based numeral system in which a tick exists at every price p with an **integer power of 1.0001.**

For limit orders, the granularity of prices is set to **5** ticks, i.e., admissible limit order prices are **1.0001^5n,** where n is an integer.

## Maker Fee Rebate

The limit order maker receives a **fee rebate** for filled orders. Please refer to the [Pair Specification](/oyster-perp/pair-specifications.md) section.

## Execution Fees

Once an order is filled, Oyster AMM allows any address to **send a transaction onchain to convert the filled order into a position to complete the processing.** Note that this does not change the ownership of the filled order and position. An **execution fee** is paid to the transaction's sender to compensate for the gas cost. Please refer to the [Pair Specification](/oyster-perp/pair-specifications.md) section.


---

# 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/oyster-perp/limit-order.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.
