Helpdesk
  • Overview
    • Welcome to Finery Markets
    • About Our Products
      • FM Liquidity Match
        • Master Account
        • Sub-Account
      • FM Pulse
      • White Label solution
  • Product Features
    • Onboarding
    • Risk Management
    • Trading
      • Aggregated Order Book
      • Firm Order Book
      • Pending Limit Orders (GTC)
      • RFQ
      • Toxic Flow Protection
      • Markups
      • Authorized trading
      • Non-Deliverable Trading
      • Voice Trading
      • Interdealer Trading
    • Position Management
    • Settlements
      • Automated Settlements
      • Addresses
    • Control Center
      • Multi-Roles
      • Notifications
      • Reporting
      • Bulk Edit
    • Referral program
  • API Reference
    • Quick Start with API
      • For Market Makers
      • For Takers
    • Data Types
    • REST API
      • Client management
        • getSubaccounts
      • RFQ
        • getSettings
        • getSettings (authorized)
        • getUserSettings (authorized)
        • setUserSettings (authorized)
        • getProviders
        • getSessions
      • Trading
        • add
        • add (authorized)
        • Pending limit orders
          • add (pending limit order)
          • add (pending limit order) (authorized)
          • del
          • del (authorized)
          • delAll
          • delAll (authorized)
          • orders
          • orders (authorized)
        • mod
        • del
        • delAll
        • book
        • voiceTrade
        • liquidationTrade
        • dealHistory
        • dealHistory (authorized)
        • instruments
        • positions
        • instrumentMarkups
        • addInstrumentMarkups
        • delInstrumentMarkups
      • Settlements
        • settlementRequests
        • settlementOrders
        • settlementTransactions
        • settlementHistory
        • settlementTransactionHistory
        • addIncomingSettlementRequest
        • delIncomingSettlementRequest
        • delIncomingSettlementCPRequest
        • addOutgoingSettlementTransaction
        • addIncomingSettlementTransaction
        • sendSettlementTransaction
        • commitIncomingSettlementTransaction
        • delSettlementTransaction
      • Risk Management
        • climits
        • setCLimit
        • delCLimit
        • subaccountsLimits
        • setSubaccountLimit
        • delSubaccountLimit
        • enableTrading
        • disableTrading
        • cAssetLimits
        • setCAssetLimit
        • delCAssetLimit
        • cShortSalesBan
        • setShortSalesBan
        • delShortSalesBan
        • enableInstrumentsWhitelist
        • setInstrumentsWhitelist
        • disableInstrumentsWhitelist
        • instrumentsWhitelist
      • Non-deliverable Trading
        • settings/getOvernightRates
        • settings/setOvernightRates
    • Websocket API
      • Feed 'A' - Assets
      • Feed 'P' - Positions
      • Feed 'L' - Counterparty limits
      • Feed 'B' - Global order books
      • Feed 'F' - Tradable order books
      • Feed 'R' - Settlement requests
      • Feed 'N' - Settlement transactions
      • Feed 'K' - Positions
      • Feed 'O' - Orders
      • Feed 'S' - Settlement orders
      • RFQ
    • FIX API
      • Admin messages
      • Market Data
      • Trade
        • Trading for Takers
        • Trading for LPs and Masters
    • Troubleshooting Errors
      • List of Error Codes
      • Error 3
      • Error 6
      • Error 7
      • Error 14
Powered by GitBook
On this page
  • Submitting new orders
  • NewOrderSingle: Successful submission of the new order
  • NewOrderSingle: Rejection during submission of the new order
  • Cancelation of the Orders
  • CancelOrder: Success
  • CancelOrder: Reject
  • Modification of the Orders
  • Cancel/Replace Order: Replace New Order
  • Cancel/Replace Order: Replace Partially Filled Order
  • Cancel/Replace Order: The old order had been cancelled but the new one wasn't added
  • Cancel/Replace Order: Rejection
  • Results of Taker's Trading
  • Order partially Filled
  • Order Filled in Full
  1. API Reference
  2. FIX API
  3. Trade

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 Num
Message
ExecType<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 Num
Message
ExecType<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 Num
Message
ExecType<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 Num
Message
ExecType<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 Num
Message
ExecType<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 Num
Message
ExecType<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 Num
Message
Description

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 Num
Message
ExecType<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 Num
Message
ExecType<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

PreviousTrading for TakersNextTroubleshooting Errors

Last updated 10 months ago