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

# Limit Orders

> Trade tokens at exactly the price you set

Use limit orders to set a specific price at which you want to trade. Jupiter limit orders execute at exactly the price you set, not the current market price.

<Warning>
  **Jupiter limit orders execute at your limit price, not the market price.** If SOL is trading at 126 USDC and you set a limit price of 120 USDC, your order fills at 120 USDC per SOL. You receive 120 USDC, not 126 USDC. The difference is not returned to you. If you want to trade at the current market price, use [swaps](/app-guide/trade/swaps) instead.
</Warning>

## How it works

When you place a limit order, your tokens are transferred to a Jupiter escrow account. The order waits until the market reaches your price, then fills at exactly that price. If you cancel the order, your unfilled deposit is returned. An order that expires without filling is normally closed by Jupiter and its tokens returned. If it still appears under **Open orders** with an **Expired** badge, the tokens are still in escrow. Cancel the order to return them.

Squads charges a 0.15% platform fee on each filled order, taken from the token you buy. Some tokens carry no fee: the **Platform fee** row on the review step shows the fee your order pays. The sell amount must be worth more than \$5.

### Jupiter vs traditional limit orders

On most traditional exchanges, a limit price is a floor (for sells) or ceiling (for buys), and you get the better price if the market is above your limit. Jupiter limit orders are different: **the limit price is the exact execution price, with no price improvement.**

| Your limit price vs market | What happens |
| - | - |
| Below market (e.g., sell SOL at 120 USDC when market is 126 USDC) | **Fills immediately at 120 USDC.** You receive 120 USDC, not 126 USDC. The 6 USDC difference is lost. |
| Above market (e.g., sell SOL at 130 USDC when market is 126 USDC) | Waits until market reaches 130 USDC, then fills at 130 USDC |

**Key point:** If you set a limit price worse than the current market, your order fills immediately at that worse price. Jupiter limit orders are not a "sell quickly at a slight discount" tool. Setting a price below market means you receive less than you would with a [swap](/app-guide/trade/swaps).

### When to use limit orders vs swaps

* **Limit orders**: you want to wait for a specific target price that's better than current market
* **Swaps**: you want to trade immediately at the current market price

## Place a limit order

1. Navigate to **Trade** in the sidebar
2. Select the **Limit order** tab
3. Choose the sub-account you want to trade from
4. Set the limit price in the **When ... is worth** field: the exact price at which your order will fill
5. Select the token to **Sell** and enter the amount
6. Select the token to **Buy**
7. Set the **Expiry**: **Never**, **10m**, **1h**, **1d**, or **Custom** (up to 168 hours)
8. Select **Next** and review the details (account, limit rate, expiry, platform fee)
9. Add a note (optional) and select **Initiate** to create the proposal

Once the proposal reaches the threshold and is executed, the limit order becomes active. The expiry countdown starts when you initiate the proposal, not when it is executed.

<Info>
  Select **Market rate** to see the current price, then adjust from there.
</Info>

## Manage open orders

Open orders appear in **Open orders** on the **Limit order** tab under **Trade**. Past orders are in **Order history**.

1. Navigate to **Trade** in the sidebar
2. On the **Limit order** tab, find the order under **Open orders**
3. Expand any order to view how much has filled, its expiry, and when it was created
4. To cancel, select **Cancel** on the order. This creates a cancel proposal. Your Squad must approve and execute it

When the cancel proposal is executed, your funds are returned from the Jupiter escrow account. This also works for partially filled orders: cancelling reclaims whatever hasn't been filled yet. If half of your order was filled, you receive the remaining half back.

## Best practices

* **Always set limit prices better than market.** Set your sell price above current market to capture upside. The order waits until that price is reached.
* **Never set a worse price to trade quickly.** You will receive that lower price, not the market price. This is the most common mistake with Jupiter limit orders. Use [swaps](/app-guide/trade/swaps) for immediate market-price execution.
* **Choose appropriate expiry.** Shorter for volatile markets, longer for patient strategies.
* **Monitor open orders.** Cancel and replace if your thesis changes.

<Accordion title="Troubleshooting">
  | Issue | Solution |
  | - | - |
  | Received less than market price | Expected behavior. Jupiter limit orders fill at your set price, not market. Use swaps for market-price execution |
  | Order unfilled/expired | Market never reached your limit price. Set a price closer to market or extend expiry. An expired order shows an **Expired** badge and keeps its tokens in escrow until you cancel it |
  | Can't cancel order | Cancel requires Squad approval. Initiate the cancel and gather approvals |
  | Order partially filled | Market reached the price briefly. Wait for more fills or cancel the remaining amount |
</Accordion>

<Accordion title="FAQ">
  **What's the difference between limit orders and swaps?**

  Swaps execute immediately at the current market price. Limit orders execute only at the exact price you specify. Use swaps when you want the best available price now. Use limit orders when you want to wait for a target price.

  **Why don't Jupiter limit orders include price improvement?**

  Jupiter limit orders use onchain keeper bots that fill orders when the market reaches your price. The keeper earns the difference between market and limit price as compensation for monitoring and executing. This is different from traditional exchanges that match buyers and sellers directly.

  **What happens if I set my limit price below market?**

  Your order fills immediately at your limit price. You receive less than you would with a swap. For example, if SOL is at 126 USDC and you set a limit of 120 USDC, you get 120 USDC per SOL, losing 6 USDC per SOL compared to a market-price swap.

  **What happens if my order is partially filled and I cancel it?**

  Cancelling reclaims whatever hasn't been filled yet. If half of your order was filled, the cancel proposal returns the remaining half from the Jupiter escrow account. The portion that already filled has been traded and stays in your account as the tokens you bought.
</Accordion>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.