> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lunya.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Limit Orders

> On-chain limit orders, filled inside the swap that crosses them

## What they are

The exchange supports **native on-chain limit orders**: place liquidity at a target price, and when the market trades through that price, your order is filled — automatically, atomically, with no keeper and no off-chain order book.

## Why "filled inside the swap" matters

Most AMM-based limit order systems close orders in a *separate transaction* after the price crosses: a keeper notices and closes the position. The gap is the flaw — if the price reverses before the keeper lands, the "fill" un-fills, and the order holder ends up with the worst of both sides.

Here, orders are closed **during the swap that crossed them**. By the time the order is closed, price, liquidity, fees, and payment of that swap are already settled — nothing that happens afterwards can undo the fill. **A fill stays a fill.**

## How it works

<Steps>
  <Step title="Place">
    An order is placed at a target price. Under the hood it is liquidity positioned at that price point, managed by the limit order module.
  </Step>

  <Step title="Cross">
    A market swap trades through your price. As part of that same transaction, the module closes your order — your assets are now fully converted at your target price.
  </Step>

  <Step title="Claim">
    Collect the proceeds whenever you like. The conversion already happened; there is no exposure between fill and claim.
  </Step>
</Steps>

## Properties

* **No keeper risk** — no external actor has to act in time for your fill to hold
* **No partial reversal** — a crossed order cannot be un-crossed by a price reversal
* **Two-sided** — works above and below the current price (sell-side and buy-side)

<Note>
  Limit orders are implemented as a module of the [plugin system](/exchange/plugins) and are available on pools running the default plugin.
</Note>
