> For the complete documentation index, see [llms.txt](https://docs.symm.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.symm.io/trader-documentation/how-trading-works-in-symmio/market-vs.-limit-orders.md).

# Market vs. Limit Orders

## Sending a quote

Every trade on Symmio starts as a *quote*: your request to open or close a position at a given price, against a given set of [solvers](/getting-started/glossary-of-terms.md#solver). There are two order types, **market** and **limit**. Both mean roughly what they do on any exchange, but the peer-to-peer model gives them slightly different mechanics, so it's worth covering what each one means here.

### Market orders

A market order tells the solver: fill me at the current market price, right now.

There's no shared order book, so a market order is still a quote sent to a solver. When you submit one, the frontend asks a solver (or a set of solvers it has whitelisted) to fill at the current oracle price. Solvers that accept respond almost immediately, and the position opens very close to the price your frontend showed you when you clicked.

Since the point of a market order is to get in immediately, the quote price carries some slippage so the entry is guaranteed. After you set your slippage tolerance, the [frontend](/getting-started/glossary-of-terms.md#frontend-builder) does the math: it takes the oracle price from Muon and shifts it slightly depending on whether you're going long or short. That shift covers the solver's spread plus any movement in the market. The trading fee on a market order is a fraction of `oracle price * quantity`.

#### Limit orders

A limit order tells the solver: fill me at this price or better, otherwise don't fill at all.

A limit order is a quote that sits in `PENDING` (for opens) or `CLOSE_PENDING` (for closes) until a solver chooses to fill it. Solvers watch for limit orders whose price has become reachable and fill them when the market gets there. If the market never reaches your price before the quote's deadline, the quote expires unfilled.

Limit orders can be partially filled. The `price` you pass is the exact price you want to enter at, and the trading fee is a fraction of `requestedOpenPrice * quantity`.

### Closing a quote

Closing works the same way, with one difference: a market close must close the whole position, while a limit close can be partial. For a market close, you set your slippage and the frontend calculates the `closePrice`. The logic is inverted from an open: for longs the `closePrice` is decreased, and for shorts it's increased.

If your counterparty is unresponsive and a cooldown has passed, you can [force close](/trader-documentation/how-trading-works-in-symmio/force-closing-positions.md) the position yourself. Force close works only on limit orders.

### Quote data

When your frontend submits a quote, it can attach arbitrary data to it. That data is included in the event emitted when the quote is sent.

```solidity
	function sendQuoteWithAffiliateAndData(
		address[] memory partyBsWhiteList,
		uint256 symbolId,
		PositionType positionType,
		OrderType orderType,
		uint256 price,
		uint256 quantity,
		uint256 cva,
		uint256 lf,
		uint256 partyAmm,
		uint256 partyBmm,
		uint256 deadline,
		address affiliate,
		SingleUpnlAndPriceSig memory upnlSig,
		bytes memory data // <- arbitrary data
	) external returns (uint256 quoteId);
```

{% hint style="info" %}
A frontend can use this field to link your on-chain position to extra off-chain information it shows in its UI, for example during campaigns.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.symm.io/trader-documentation/how-trading-works-in-symmio/market-vs.-limit-orders.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
