> For the complete documentation index, see [llms.txt](https://faq.finerymarkets.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://faq.finerymarkets.com/api-reference/fix-api/qs-for-liquidity-providers/trading.md).

# Trading

## **New Order Single\<D>**

Sent by FM to a LP to the session used for quoting the MD stream for a corresponding (instrument, taker) pair. **Execution Report<8>** sent to FM to provide information about the order execution.

<table><thead><tr><th width="150" align="center">Tag</th><th width="200" align="center">Name</th><th width="150" align="center">Required</th><th align="center">Example</th><th align="center">Description</th></tr></thead><tbody><tr><td align="center">Message Header</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td align="center">116</td><td align="center">OnBehalfOfSubID</td><td align="center">N</td><td align="center">'1234'</td><td align="center">Stringified FM ID of a sub-taker placing the original order.</td></tr><tr><td align="center">Message body</td><td align="center"></td><td align="center"></td><td align="center"></td><td align="center"></td></tr><tr><td align="center">11</td><td align="center">ClOrdID</td><td align="center">Y</td><td align="center">123</td><td align="center">Unique identifier of the order as assigned by the client, should be integral number, >0</td></tr><tr><td align="center">55</td><td align="center">Symbol</td><td align="center">Y</td><td align="center">BTC-USD</td><td align="center">Instrument name</td></tr><tr><td align="center">44</td><td align="center">Price</td><td align="center">N</td><td align="center">1</td><td align="center">Price, value of type Price</td></tr><tr><td align="center">38</td><td align="center">OrderQty</td><td align="center">N</td><td align="center">1</td><td align="center">Size of the order(if the order is by size), value of type Size</td></tr><tr><td align="center">152</td><td align="center">CashOrderQty</td><td align="center">N</td><td align="center">1</td><td align="center">Volume of the order(if the order is by volume), value of type Size</td></tr><tr><td align="center">40</td><td align="center">OrdType</td><td align="center">Y</td><td align="center">1</td><td align="center">Order Type(see below)</td></tr><tr><td align="center">54</td><td align="center">Side</td><td align="center">Y</td><td align="center">1</td><td align="center">Side of the order(see below)</td></tr><tr><td align="center">59</td><td align="center">TimeInForce</td><td align="center">Y</td><td align="center">1</td><td align="center">Specifies how long the order remains in effect(see below)</td></tr><tr><td align="center">60</td><td align="center">TransactTime</td><td align="center">Y</td><td align="center">20230530-09:29:52.722</td><td align="center">UTC Timestamp of the order creation</td></tr><tr><td align="center">20002</td><td align="center">CpID</td><td align="center">Y</td><td align="center">'1234'</td><td align="center"></td></tr></tbody></table>

| Order Type | Description |
| :--------: | :---------: |
|      1     |    Market   |
|      2     |    Limit    |

| Order Side | Description |
| :--------: | :---------: |
|      1     |     Buy     |
|      2     |     Sell    |

| Time In Force |            Description            |
| :-----------: | :-------------------------------: |
|       3       | Immediate or Cancel (IOC) - Taker |
|       4       |     Fill or Kill (FOK) - Taker    |

Either **OrderQty<38>** or **CashOrderQty<152>** field should be presented.

<details>

<summary>Example of the message</summary>

{% code overflow="wrap" lineNumbers="true" %}

```
8=FIX.4.4|9=206|35=D|34=2|49=FINERYMARKETS|52=20250526-10:17:02.422|56=<api_key>|11=FM-1926945666286751744|38=100000000|40=2|44=100000000|54=1|55=BTC-USD|59=4|60=20250526-10:17:02|20002=2|10=253
```

{% endcode %}

</details>

## **Execution Report<8>**

Sent by a LP to indicate the result of processing of the **NewOrderSingle\<D>** message. We expect exactly one **ExecutionReport<8>** for every **NewOrderSingle\<D>** message.

<table><thead><tr><th width="150" align="center">Tag</th><th width="200" align="center">Name</th><th width="150" align="center">Required</th><th align="center">Example</th><th align="center">Description</th></tr></thead><tbody><tr><td align="center">37</td><td align="center">OrderID</td><td align="center">Y</td><td align="center">1</td><td align="center">Unique order Id, generated by a LP</td></tr><tr><td align="center">11</td><td align="center">ClOrdID</td><td align="center">Y</td><td align="center">2</td><td align="center">Unique identifier of the order as assigned by FM.  ClOrdID&#x3C;11> from the corresponding NewOrderSingle&#x3C;D></td></tr><tr><td align="center">151</td><td align="center">LeavesQty</td><td align="center">Y</td><td align="center">1</td><td align="center">Quantity open for further execution, value of type Size</td></tr><tr><td align="center">17</td><td align="center">ExecID</td><td align="center">N</td><td align="center">123</td><td align="center">Deal id as assinged by a LP. Conditionally required if  ExecType&#x3C;150> == F.</td></tr><tr><td align="center">31</td><td align="center">LastPx</td><td align="center">N</td><td align="center">1000</td><td align="center">Current fill price. Conditionally required if  ExecType&#x3C;150> == F. </td></tr><tr><td align="center">32</td><td align="center">LastQty</td><td align="center">N</td><td align="center">2</td><td align="center">Current fill quantity, denominated in instrument's asset currency. Conditionally required if  ExecType&#x3C;150> == F. Should be adjusted to the FM balance step.</td></tr><tr><td align="center">118</td><td align="center">NetMoney</td><td align="center">N</td><td align="center">2000</td><td align="center">Current fill quantity, denominated in instrument's balance currency. Conditionally required if  ExecType&#x3C;150> == F. Should be adjusted to the FM balance step.</td></tr><tr><td align="center">39</td><td align="center">OrdStatus</td><td align="center">Y</td><td align="center">2</td><td align="center">Identifies current status of order(see below)</td></tr><tr><td align="center">150</td><td align="center">ExecType</td><td align="center">Y</td><td align="center">2</td><td align="center">Describes the specific Execution Report(see below)</td></tr><tr><td align="center">58</td><td align="center">Text</td><td align="center">N</td><td align="center">79</td><td align="center">Contains reject reason. Conditionally required if ExecType&#x3C;150> == 8.</td></tr><tr><td align="center">60</td><td align="center">TransactTime</td><td align="center">Y</td><td align="center">20230530-09:29:52.722</td><td align="center">UTC Timestamp when the deal/reject happened</td></tr></tbody></table>

| Order Status |    Description   |
| :----------: | :--------------: |
|       1      | Partially filled |
|       2      |      Filled      |
|       8      |     Rejected     |

| Exec Type | Description |
| :-------: | :---------: |
|     F     |    Trade    |
|     8     |   Rejected  |

**ExecType<150>** indicates the reason why the **Execution Report<8>** message was sent. And Order Status indicates the current state of the order.

<details>

<summary>Example of the trade execution report</summary>

{% code overflow="wrap" lineNumbers="true" %}

```
8=FIX.4.4|9=225|35=8|34=3|49=<api_key>|52=20250526-10:17:02.422|56=FINERYMARKETS|11=FM-1926945666286751744|17=deal_id|31=100000000|32=100000000|37=123|39=2|60=20250526-10:17:02.422|118=100000000|150=F|151=0|10=079
```

{% endcode %}

</details>

<details>

<summary>Example of the reject execution report</summary>

{% code overflow="wrap" lineNumbers="true" %}

```
8=FIX.4.4|9=192|35=8|34=3|49=<api_key>|52=20250526-10:17:03.256|56=FINERYMARKETS|11=FM-1926945669784801280|37=123|39=8|58=reject_reason|60=20250526-10:17:03.256|150=8|151=100000000|10=111
```

{% endcode %}

</details>
