# Market vs. Limit Orders

## Sending a Quote

Every trade on Symmio begins as a quote, which is your request to open (or close) a position at a particular price, against a particular set of solvers.&#x20;

There are two order types: **market** and **limit**. This page covers what each one means on Symmio specifically, because the peer-to-peer model gives them slightly different mechanics than you'd see on a typical order book exchange.

### Market Orders

A **MARKET** order tells the solver: "fill me at whatever the current market price is, right now"*.*

On Symmio, a market order is still a quote sent to a [solver](/getting-started/glossary-of-terms.md); there's no shared order book. When you submit a market order, the frontend asks a solver (or a set of solvers they've whitelisted) to fill it at the current oracle price. Solvers that agree respond almost immediately, and the position opens at a price very close to the one your frontend showed you when you clicked the button.\
\
Because the intent with a market order is for the trader to enter a position immediately, the quote price is sent with some slippage, guaranteeing his entry. The [frontend ](/getting-started/glossary-of-terms.md)will handle the slippage calculation after the user sets his tolerance, which involves taking the oracle price from Muon and shifting it slightly depending on the position type (long or short). The shift accounts for the solver’s spread as well as any fluctuations in market price For market orders the trading fee is calculated as a fraction of the `oracle price * quantity`.

### Limit Orders&#x20;

A limit order tells the solver: "fill me at this specific price or better, or don't fill me at all"*.*&#x20;

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

Limit orders can be partially filled. The `price` passed is the exact price the trader wants to enter a position at, and the trading fee is calculated as a fraction of `requestedOpenPrice * quantity`.&#x20;

## Closing a Quote

Similar to opening a quote, a **market** order must be fully closed, whereas a **limit** order can be partially closed. The same logic for market orders applies for closes: The user will set his slippage, and the frontend will calculate the appropriate `closePrice`. Here the logic is inverted, for long positions the `closePrice` is decreased; for shorts it’s increased.&#x20;

The trader can initiate a [force close](/trader-documentation/how-trading-works-in-symmio/force-closing-positions.md) if the counterparty is unresponsive, and a sufficient cooldown period has passed. Force closes can **only** be performed on Limit orders.

### Quote Data

When your frontend submits a quote, it can optionally attach some 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" %}
The frontend you use may use this data it to link your on-chain position to extra off-chain information it shows you in its UI. (for example when running campaigns)
{% endhint %}


---

# 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.symm.io/trader-documentation/how-trading-works-in-symmio/market-vs.-limit-orders.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.
