Trading for LPs and Masters

This page describes the potential scenarios of submitting Maker orders

Submitting new orders

NewOrderSingle: Successful submission of the new order

Msg NumMessageExecType<150>OrdStatus<39>OrderQty<38>LeavesQty<151>Description

1

NewOrderSingle<D>

-

-

0.1

-

LP sends an order

2

ExecutionReport<8>

0(New)

0(New)

0.1

0.1

Order accepted

Example of the messages
8=FIX.4.4|9=183|35=D|34=2|49=<api_key>|52=20240508-14:06:38.019|56=FINERYMARKETS|11=1|38=10000000|40=2|44=300000000000|54=1|55=BTC-USD|59=1|60=20240508-14:06:37.769|10=066|
8=FIX.4.4|9=182|35=8|34=2|49=FINERYMARKETS|52=20240508-14:06:38.020|56=<api_key>|11=1|17=1|37=1|38=10000000|39=0|44=300000000000|54=1|55=BTC-USD|150=0|151=10000000|10=125|

NewOrderSingle: Rejection during submission of the new order

Msg NumMessageExecType<150>OrdStatus<39>OrderQty<38>LeavesQty<151>Description

1

NewOrderSingle<D>

-

-

0.1

-

LP sends an order

2

ExecutionReport<8>

8(Rejected)

8(Rejected)

0.1

0

Order rejected with the reason, provided in the Text<58>

Example of the messages
8=FIX.4.4|9=202|35=D|34=3|49=<api_key>|52=20240508-14:23:42.858|56=FINERYMARKETS|11=41667222189341000857|38=10000000|40=2|44=300000000000|54=1|55=BTC-USD|59=1|60=20240508-14:23:42.663|10=057|
8=FIX.4.4|9=246|35=8|34=3|49=FINERYMARKETS|52=20240508-14:23:42.859|56=<api_key>|11=41667222189341000857|37=0|38=10000000|39=8|44=300000000000|54=1|55=BTC-USD|58=Invalid clOrdId. Should be unsigned 64-bit number > 0|150=8|151=0|10=026|

Cancelation of the Orders

CancelOrder: Success

Msg NumMessageExecType<150>OrdStatus<39>OrderQty<38>LeavesQty<151>Description

1

NewOrderSingle<D>

-

-

0.1

-

LP sends an order

2

ExecutionReport<8>

0(New)

0(New)

0.1

0.1

Order accepted

3

OrderCancelRequest<F>

-

-

-

-

LP cancels the order

4

ExecutionReport<8>

4(Cancel)

4(Cancelled)

0.1

0.1

Order cancelled and no longer exists in the order book

Example of the messages
8=FIX.4.4|9=183|35=D|34=3|49=<api_key>|52=20240508-14:26:50.359|56=FINERYMARKETS|11=1|38=10000000|40=2|44=300000000000|54=1|55=BTC-USD|59=1|60=20240508-14:26:50.143|10=028|
8=FIX.4.4|9=182|35=8|34=3|49=FINERYMARKETS|52=20240508-14:26:50.360|56=<api_key>|11=1|17=1|37=1|38=10000000|39=0|44=300000000000|54=1|55=BTC-USD|150=0|151=10000000|10=104|
8=FIX.4.4|9=185|35=F|34=4|49=<api_key>|52=20240508-14:26:50.360|56=FINERYMARKETS|11=1|41=1|54=1|55=BTC-USD|60=20240508-14:26:50.143|10=010|
8=FIX.4.4|9=182|35=8|34=4|49=FINERYMARKETS|52=20240508-14:26:50.360|56=<api_key>|11=1|17=1|37=1|38=10000000|39=4|44=300000000000|54=1|55=BTC-USD|150=4|151=10000000|10=113|

CancelOrder: Reject

1

OrderCancelRequest<F>

LP tries to cancel non-existing order

2

OrderCancelReject

<9>

Rejected with an FM error code in Text<58>

Example of the messages
8=FIX.4.4|9=150|35=F|34=2|49=<api_key>|52=20240508-14:34:35.941|56=FINERYMARKETS|11=1|41=1|54=1|55=BTC-USD|60=20240508-14:34:35.737|10=162|
8=FIX.4.4|9=133|35=9|34=2|49=FINERYMARKETS|52=20240508-14:34:35.941|56=<api_key>|11=1|39=0|41=1|58=80|102=99|434=1|10=129|

Modification of the Orders

Cancel/Replace Order: Replace New Order

Msg NumMessageExecType<150>OrdStatus<39>OrderQty<38>LeavesQty<151>Description

1

NewOrderSingle<D>

-

-

0.1

-

LP sends an order

2

ExecutionReport<8>

0(New)

0(New)

0.1

0.1

Order accepted

3

OrderCancel/ReplaceRequest<G>

-

-

0.1

-

LP requests to replace the order

4

ExecutionReport<8>

5(Replace)

0(New)

0.1

0.1

Order replaced, new order created, new OrderID<37> assigned

Examples of the messages
8=FIX.4.4|9=183|35=D|34=3|49=<api_key>|52=20240508-14:43:58.276|56=FINERYMARKETS|11=1|38=10000000|40=2|44=300000000000|54=1|55=BTC-USD|59=1|60=20240508-14:43:58.084|10=034|
8=FIX.4.4|9=182|35=8|34=3|49=FINERYMARKETS|52=20240508-14:43:58.277|56=<api_key>|11=1|17=1|37=1|38=10000000|39=0|44=300000000000|54=1|55=BTC-USD|150=0|151=10000000|10=108|
8=FIX.4.4|9=184|35=G|34=4|49=<api_key>|52=20240508-14:43:58.277|56=FINERYMARKETS|11=42|37=1|38=10000000|40=2|41=1|44=350000000000|54=1|55=BTC-USD|60=20240508-14:43:58.084|10=094|
8=FIX.4.4|9=188|35=8|34=4|49=FINERYMARKETS|52=20240508-14:43:58.278|56=<api_key>|11=42|17=2|37=2|38=10000000|39=0|41=1|44=350000000000|54=1|55=BTC-USD|150=5|151=10000000|10=137|

Cancel/Replace Order: Replace Partially Filled Order

Msg NumMessageExecType<150>OrdStatus<39>OrderQty<38>LeavesQty<151>Description

1

NewOrderSingle<D>

-

-

0.2

-

LP sends an order

2

ExecutionReport<8>

0(New)

0(New)

0.2

0.2

Order accepted

3

ExecutionReport<8>

F(Trade)

1(Partially filled)

0.2

0.1

Trade happened, the order is partially filled

4

OrderCancel/ReplaceRequest<G>

-

-

0.2

-

LP requests to replace the order

5

ExecutionReport<8>

5(Replace)

0(New)

0.1

0.1

Order replaced, new order created, new OrderID<37> assigned

Examples of the messages
8=FIX.4.4|9=183|35=D|34=2|49=<api_key>|52=20240508-14:53:40.580|56=FINERYMARKETS|11=1|38=20000000|40=2|44=300000000000|54=1|55=BTC-USD|59=1|60=20240508-14:53:40.380|10=092| 
8=FIX.4.4|9=182|35=8|34=2|49=FINERYMARKETS|52=20240508-14:53:40.581|56=<api_key>|11=1|17=1|37=1|38=20000000|39=0|44=300000000000|54=1|55=BTC-USD|150=0|151=20000000|10=176| 
8=FIX.4.4|9=259|35=8|34=3|49=FINERYMARKETS|52=20240508-14:53:40.633|56=<api_key>|11=1|17=1|31=300000000000|32=10000000|37=1|38=20000000|39=1|44=300000000000|54=1|55=BTC-USD|60=20240508-14:53:40.632|136=1|137=0|139=8|150=F|151=10000000|958=2|10=226| 
8=FIX.4.4|9=184|35=G|34=3|49=<api_key>|52=20240508-14:53:40.634|56=FINERYMARKETS|11=42|37=1|38=20000000|40=2|41=1|44=350000000000|54=1|55=BTC-USD|60=20240508-14:53:40.380|10=151| 
8=FIX.4.4|9=188|35=8|34=4|49=FINERYMARKETS|52=20240508-14:53:40.634|56=<api_key>|11=42|17=3|37=3|38=10000000|39=0|41=1|44=350000000000|54=1|55=BTC-USD|150=5|151=10000000|10=204|

Pay close attention to Message #5 Replacing a partially filled order the size of a newly replaced order will be less than the specified size by the filled amount (e.g., the size of an initial order was 10; then the order was partially filled and the remaining size was 8; when a user replaces this order, a new size must be 12 if a user wants to have 10 in the order book).

Cancel/Replace Order: The old order had been cancelled but the new one wasn't added

Msg NumMessageExecType<150>OrdStatus<39>OrderQty<38>LeavesQty<151>Description

1

NewOrderSingle<D>

-

-

0.2

-

LP sends an order

2

ExecutionReport<8>

0(New)

0(New)

0.2

0.2

Order accepted

3

OrderCancel/ReplaceRequest<G>

-

-

0.2

-

LP requests to replace the order

4

ExecutionReport<8>

5(Replace)

4(Cancelled)

0.2

0.2

Order cancelled, but the new order was not created, FM error code in Text<58>

Examples of the messages
8=FIX.4.4|9=183|35=D|34=3|49=<api_key>|52=20240508-14:58:50.131|56=FINERYMARKETS|11=2|38=20000000|40=2|44=300000000000|54=1|55=BTC-USD|59=1|60=20240508-14:58:49.216|10=014|
8=FIX.4.4|9=182|35=8|34=3|49=FINERYMARKETS|52=20240508-14:58:50.131|56=<api_key>|11=2|17=2|37=2|38=20000000|39=0|44=300000000000|54=1|55=BTC-USD|150=0|151=20000000|10=087|
8=FIX.4.4|9=183|35=G|34=4|49=<api_key>|52=20240508-14:58:50.132|56=FINERYMARKETS|11=1|37=2|38=20000000|40=2|41=2|44=350000000000|54=1|55=BTC-USD|60=20240508-14:58:49.216|10=020|
8=FIX.4.4|9=188|35=8|34=4|49=FINERYMARKETS|52=20240508-14:58:50.132|56=<api_key>|11=2|17=2|37=2|38=20000000|39=4|41=2|44=300000000000|54=1|55=BTC-USD|58=74|150=5|151=20000000|10=126|

Previously Finery Markets sent 2 messages, now only 1 with a cancelation notification and an error code (Message #4)

Cancel/Replace Order: Rejection

Msg NumMessageDescription

1

OrderCancel/ReplaceRequest<G>

LP tries to replace a non-existing order

2

OrderCancelReject

<9>

Reject, FM error code in Text<58>

Examples of the messages
8=FIX.4.4|9=183|35=G|34=2|49=UEY0pblIVyfEYFClzjIyoIhN0zog1vewjQnTO2qKulp|52=20240508-15:19:20.280|56=FINERYMARKETS|11=1|37=1|38=20000000|40=2|44=299900000000|54=1|55=BTC-USD|60=20240508-15:19:20.070|10=136|
8=FIX.4.4|9=133|35=9|34=2|49=FINERYMARKETS|52=20240508-15:19:20.280|56=UEY0pblIVyfEYFClzjIyoIhN0zog1vewjQnTO2qKulp|11=1|37=1|39=0|41=1|58=80|102=99|434=2|10=107|Some code

Results of Taker's Trading

Order partially Filled

Msg NumMessageExecType<150>OrdStatus<39>OrderQty<38>LeavesQty<151>Description

1

NewOrderSingle<D>

-

-

0.2

-

LP sends an order

2

ExecutionReport<8>

0(New)

0(New)

0.2

0.2

Order accepted

3

ExecutionReport<8>

F(Trade)

1(Partially filled)

0.2

0.1

Trade happened, the order is partially filled

Examples of the messages
8=FIX.4.4|9=183|35=D|34=2|49=<api_key>|52=20240508-14:53:40.580|56=FINERYMARKETS|11=1|38=20000000|40=2|44=300000000000|54=1|55=BTC-USD|59=1|60=20240508-14:53:40.380|10=092|
8=FIX.4.4|9=182|35=8|34=2|49=FINERYMARKETS|52=20240508-14:53:40.581|56=<api_key>|11=1|17=1|37=1|38=20000000|39=0|44=300000000000|54=1|55=BTC-USD|150=0|151=20000000|10=176|

Order Filled in Full

Msg NumMessageExecType<150>OrdStatus<39>OrderQty<38>LeavesQty<151>Description

1

NewOrderSingle<D>

-

-

0.2

-

LP sends an order

2

ExecutionReport<8>

0(New)

0(New)

0.2

0.2

Order accepted

3

ExecutionReport<8>

F(Trade)

2(Filled)

0.2

0

Trade happened, the order is filled and no longer exists in the order book

Examples of the messages
8=FIX.4.4|9=183|35=D|34=2|49=<api_key>|52=20240508-15:29:39.362|56=FINERYMARKETS|11=1|38=10000000|40=2|44=300000000000|54=1|55=BTC-USD|59=1|60=20240508-15:29:39.140|10=084|
8=FIX.4.4|9=182|35=8|34=2|49=FINERYMARKETS|52=20240508-15:29:39.363|56=<api_key>|11=1|17=1|37=1|38=10000000|39=0|44=300000000000|54=1|55=BTC-USD|150=0|151=10000000|10=161|
8=FIX.4.4|9=252|35=8|34=3|49=FINERYMARKETS|52=20240508-15:29:39.413|56=<api_key>|11=1|17=1|31=300000000000|32=10000000|37=1|38=10000000|39=2|44=300000000000|54=1|55=BTC-USD|60=20240508-15:29:39.413|136=1|137=0|139=8|150=F|151=0|958=2|10=132|

If the order has been fully utilized by a Taker, you can no longer modify it

Last updated