Trade
Start with this page to learn more about trading via FIX on Finery Markets
Every price or size values should be represented with Finery Markets internal corresponding types.
A description of all the types can be found here.
New Order Single<D>
Sent by the client to submit a new order. Execution Report<8> sent to the client to provide information about the order execution.
11
ClOrdID
Y
123
Unique identifier of the order as assigned by the client, should be integral number, >0
55
Symbol
Y
BTC-USD
Instrument name
44
Price
N
1
Price, value of type Price
38
OrderQty
N
1
Size of the order(if the order is by size), value of type Size
152
CashOrderQty
N
1
Volume of the order(if the order is by volume), value of type Size
40
OrdType
Y
1
Order Type(see below)
54
Side
Y
1
Side of the order(see below)
59
TimeInForce
Y
1
Specifies how long the order remains in effect(see below)
60
TransactTime
Y
20230530-09:29:52.722
UTC Timestamp of the order creation
1
Market (Taker only)
2
Limit
1
Buy
2
Sell
1
Good Till Cancel (GTC) - Maker
3
Immediate or Cancel (IOC) - Taker
4
Fill or Kill (FOK) - Taker
P
PostOnly - Maker
Either OrderQty<38> or CashOrderQty<152> field should present.
Execution Report<8>
Sent by the server whenever an order receives a fill, whenever the status of an order changes, or in response to a NewOrderSingle<D>, OrderCancelRequest<F> and OrderCancel/Replace Request<G> message from the client.
37
OrderID
Y
1
Unique order Id, generated by the server
11
ClOrdID
Y
2
Unique identifier of the order as assigned by the client. ClOrdID<11> of the canceled order if OrdStatus<39> == 4 (canceled), ClOrdID<11> from the NewOrderSingle<D> or OrderCancel/ReplaceRequest<G> otherwise
151
LeavesQty
Y
1
Quantity open for further execution, value of type Size
17
ExecID
N
123
Deal id in case of ExecType<150> == TRADE. Same as OrderID<37> otherwise.
55
Symbol
N
BTC-USD
Instrument name
54
Side
N
1
“1” - Buy, “2” - Sell
38
OrderQty
N
1
Order quantity, value of type Size. If ExecType<150> == 5, quantity of the new order
44
Price
N
10
Order Price, value of type Price. If ExecType<150> == 5, price of the new order
31
LastPx
N
1000
Current fill price. Only present if this message was the result of a fill, value of type Price
32
LastQty
N
2
Current fill quantity. Only present if this message was the result of a fill, value of type Size
39
OrdStatus
Y
2
Identifies current status of order(see below)
150
ExecType
Y
2
Describes the specific Execution Report(see below)
58
Text
N
79
In case the order was declined by the Finery Markets, this field contains Finery Markets error code
136
NoMiscFees
N
1
If present should always be 1 Following group describes markup applied to the deal
137
=> MiscFeeAmt
N
10
Required if NoMiscFees<136> is present. Markup size.
139
=> MiscFeeType
N
8
Required if NoMiscFees<136> is present. Should always be 8 for Markup.
958
CounterpartyID
N
1234
FineryMarkets id of the counterparty
41
OrigClOrdID
N
42
ClOrdID<11> of the replaced order, if ExecType<150> = 5(Replaced).
0
New
1
Partially filled
2
Filled
4
Canceled
5
Replaced
8
Rejected
0
New
F
Trade
4
Canceled
5
Replaced
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.
For every order Execution Report<8> with ExecType<150> == 0 should be generated.
When no further execution is possible Execution Report<8> with either ExecType<150> == F and OrderStatus<39> == 2 or ExecType<150> == 4 and OrderStatus<39> == 4 should be generated.
Order Cancel Request<F>
The Order Cancel Request<F> message requests the cancellation of all of the remaining quantity of an existing order. Note that the Order Cancel/Replace Request<G> should be used to partially cancel (reduce) an order).
37
OrderID
N
1
Unique order Id, generated by the server, of the order to cancel
11
ClOrdID
Y
2
Unique identifier of the request as assigned by the client
41
OrigClOrdID
N
3
ClOrdID <11> of the order to cancel
54
Side
Y
1
Side of the order(see above)
60
TransactTime
Y
20230530-09:29:52.722
UTC Timestamp of the order creation
Either OrderID<37> or OrigClOrdID<41> should be present.
Order Cancel Reject<9>
The Order Cancel Reject <9> message is issued by the server upon receipt of a Order Cancel Request<F> or Order Cancel/Replace Request<G> message which cannot be honored.
37
OrderID
N
1
Unique order Id, generated by the server, copied from request message
11
ClOrdID
Y
2
Request Id assigned by the client, copied from request message
41
OrigClOrdID
N
3
ClOrdID <11> of the previous non-rejected order, copied from request message
434
CxlRejResponseTo
Y
1
Identifies the type of request that a Cancel Reject <9> is in response to(see below)
102
CxlRejReason
N
99
Reject Reason Code. If CxlRejReason == 99, Text<58> field contains FineryMarkets error code.
58
Text
N
Invalid OrderID.
Human-readable reject reason
39
OrdStatus
Y
0
Reserved for future use. Always 0.
1
Order Cancel Request<F> was rejected
2
Order Cancel/Replace Request<G> was rejected
Order Cancel/Replace Request<G>
The Order Cancel/Replace Request<G> (a.k.a. Order Modification Request) is used to change the parameters of an existing order. Do not use this message to cancel the remaining quantity of an outstanding order, use the Order Cancel Request<F> message for this purpose.
It is possible, that the "Cancel" part succeeds and "Replace" part fails. In this case ExecutionReport<8> with OrdStatus<39> == 4 (Canceled) issued for the canceled order as well as the OrderCancelReject<9> referencing the OrderCancel/ReplaceRequest<G> with the "Replace" failure reason.
37
OrderID
Y
1
Unique order Id, generated by the server, of the order to cancel/replace
11
ClOrdID
Y
2
Request Id assigned by the client
41
OrigClOrdID
Y
1
Request Id assigned by the client for the original order
44
Price
Y
3
Price, value of type Price
38
OrderQty
Y
4
Initial size of replace result will be OrderQty - (old order initial size - old order remaining size)
40
OrdType
Y
1
Order Type (see above) should be the same as in the original order
54
Side
Y
1
Side of the order(see above) should be the same as in the original order
60
TransactTime
Y
20230530-09:29:52.722
UTC Timestamp of the order creation
Last updated