VERSION 1.5 (see Revision History)

1. Introduction

Institutions can use the FIX Drop Copy feed to receive confirmations of orders and corresponding updates on the PowerTrade exchange.

PowerTrade will report all orders and corresponding updates on the exchange using:

Listed above updates can occur via orders placed using:

FIX Drop Copy reports on orders from all of these sources and from all sub-accounts.

Please note that Read-Only API key is required as a password in Logon <A> of FIX Drop Copy sessions.

API keys can be generated in PowerTrade Web App.

There are no client-originated messages supported on this channel except for the session-management ones.

2. FIX Dictionary

PowerTrade uses FIX 4.4 with the 20030618 errata. No custom tags are used.

2.2. CFICode (ISO 10962)

  • OCECCS - European cash-settled currency option Call

  • OPECCS - European cash-settled currency option Put

  • IFXXXP - Spot

  • FFCCSX - Cash-settled currency future, perpetual

3. Connecting

Steps to get connected to our FIX infrastructure:

3.1. Get connected

There are 2 options for production FIX connectivity to PowerTrade:

  1. Over Internet with TLS encryption using server-side certificate;

  2. Over Internet with mutual TLS: using signed certificates on client and server sides.

If you use QuickFIXgo, please specify

SocketUseSSL=Y

or if you use QuickFIXn

SocketUseSSL=Y
  • TEST:

    • DropCopy: api.wss.test.power.trade:2020

    • OrderEntry: api.wss.test.power.trade:2021

  • PROD:

    • DropCopy: api.wss.prod.power.trade:2020

    • OrderEntry: api.wss.prod.power.trade:2021

3.2. Setup a Test account

Create a Test account using:

3.3. Generate API Keys

Generate API Keys at:

WebApp/api-keys

3.4. Orders Ownership

The ownership of orders within the system is tied to the API Key used during their submission. This means that orders submitted using API Keys enabled for CoD (Cancellation of Orders on Disconnection) will be automatically canceled only when the connection associated with their owner API Key drops.

DropCopy provides a read-only feed, allowing users to receive events associated with their account, irrespective of the API Keys used to submit them. For example, Web App (and Mobile App) uses its own API Key and orders entered via the Web App are controlled exclusively through the Web App interface (but these orders are visible through DropCopy).

Using specific patterns in the values of ClOrdID per API Keys, it is possible to group orders on DropCopy client end to recognize their sources of origin (their API Keys/ownership) - this makes possible monitoring of the exposure risks per trading bot having single DropCopy feed.

4. Session-level messages

4.1. Establishing a connection

  1. Client sends server → Logon <A> message

  2. Is client ResetSeqNumFlag <141> to Y?

    • Yes, reset sequence numbers and proceed

      • server resets next expected client sequence number

      • server resets its own sequence number

      • server responds with ← Logon <A> message with reset sequence number

      • client sends server → Heartbeat <0>

    • No, disconnect

  3. Success! Your FIX connection is established.

4.2. When can sequence numbers be reset?

PowerTrade runs the server side of the FIX connection ("acceptor"). PowerTrade never resets sequence numbers on the server side during the logon workflow unless the client explicitly requests it.

The client ("initiator") can reset sequence numbers during Logon <A> by setting ResetSeqNumFlag <141> to Y.

PowerTrade recommends that client consider configuring the FIX initiator to automatically reset sequence numbers under the following conditions:

  • logon

  • logout

  • disconnect

  • error

While synchronizing sequence numbers after a replay, the client may send a Sequence Reset <4> with GapFillFlag <123> = Y in lieu of a replay.

4.3. Ending a connection

If the session was initiated using an API Key with enabled ✅Cancel on Disconnect, then when the client disconnects from the FIX Order Entry, for whatever reason, the exchange will cancel all the orders associated with that FIX session.

The client may send the server an optional Logout <5> message but the exchange will not interpret its absence as being an abnormal condition.

Under certain conditions, the server may send the client a Logout <5> message where the Text <58> field contains the reason, such as scheduled maintenance.

4.4. Message throttling

Every FIX session is a subject to a throttling, so messages that exceed the maximum rate will be rejected via a Business Message Reject <j> .

Message Types Reject Threshold Notes

New Order Single <D>

New Order Multileg <AB>

300 messages per second

Other

1000 messages per second

4.5. Standard Header

The Standard Header is required on every message.

Table 1. Standard Header fields:
Tag Name Required Description Valid Values

8

BeginString

Y

Identifies beginning of new message and protocol version. Must be first field in message

"FIX.4.4"

9

BodyLength

Y

Message length, in bytes, forward to the CheckSum field. Must be second field in message

35

MsgType

Y

Defines message type. Must be third field in message

34

MsgSeqNum

Y

Integer message sequence number.

43

PossDupFlag

N

Indicates possible retransmission of message with this sequence number. Required for retransmitted messages.

"Y" = Possible Duplicate

"N" = Original Transmission

49

SenderCompID

Y

Assigned value used to identify firm sending message. If this message is sent to PowerTrade, then it should contain an API Key.

56

TargetCompID

Y

Assigned value used to identify firm sending message.

If this message is sent to PowerTrade, then it should contain PowerTrade Server Identifier:

"PT-OE" = for Order Entry

"PT-DC" = for Drop Copy

52

SendingTime

Y

UTC Time of message transmission

YYYYMMDD-HH:mm:ss.nnnnnnnnn

4.6. Standard Trailer

The Standard Trailer is required on every message. .Standard Trailer fields:

Tag Name Required Description Valid Values

10

CheckSum

Y

Message Checksum, zero-padded 3 chars (e.g. "052"). Must be last field in the message.

Value calculated by the standard algorithm

4.7. Logon <A>

Table 2. Logon fields:
Tag Name Required Description Valid Values

Header with MsgType=A

98

EncryptMethod

N

PowerTrade does not support encryption.

"0" = None

108

HeartBtInt

Y

Heartbeat interval in seconds.

"30" = 30 seconds

141

ResetSeqNumFlag

Y

Indicates both sides of a FIX session should reset sequence numbers. Required in PowerTrade.

"Y" = Yes, reset sequence numbers

554

Password

Y

Assigned value used to authenticate the firm sending the message.

JWT of PowerTrade API key.

API keys can be generated in PowerTrade Web App.

Procedure of JWT generation is documented in this article.

NOTE:

FIX Drop Copy API requires Read-Only API keys, while FIX Order Entry API requires API keys with Trade permission enabled.

Trailer

4.8. Heartbeat <0>

Table 3. Heartbeat fields:
Tag Name Required Description Valid Values

Header with MsgType=0

112

TestReqID

C

Required when the heartbeat is the result of a Test Request <1> message

Trailer

4.9. Test Request <1>

Table 4. Resend Request fields:
Tag Name Required Description Valid Values

Header with MsgType=1

112

TestReqID

C

Required when the heartbeat is the result of a Test Request <1> message

Trailer

4.10. Resend Request <2>

Table 5. Resend Request fields:
Tag Name Required Description Valid Values

Header with MsgType=2

7

BeginSeqNo

Y

Message sequence number of first message in range to be resent

16

EndSeqNo

Y

Message sequence number of last message in range to be resent.

If request is for a single message BeginSeqNo <7> = EndSeqNo <16>. If request is for all messages subsequent to a particular message, EndSeqNo <16> = 0 (representing infinity).

Trailer

4.11. Reject <3>

Table 6. Reject fields:
Tag Name Required Description Valid Values

Header with MsgType=3

45

RefSeqNum

Y

MsgSeqNum <34> of the rejected message.

SeqNum

58

Text

N

Human-readable explanation

371

RefTagID

Y

The tag number of the FIX field being referenced.

372

RefMsgType

Y

The MsgType <35> of the rejected message.

373

SessionRejectReason

Y

Code to identify the reason for the Reject <3> message.

"0" = Invalid tag number

"1" = Required tag missing

"2" = Tag not defined for this message type

"3" = Undefined Tag

"4" = Tag specified without a value

"5" = Value is incorrect (out of range) for this tag

"6" = Incorrect data format for value

"10" = SendingTime <52> accuracy problem

"11" = Invalid MsgType <35>

Trailer

4.12. Sequence Reset <4>

Table 7. Resend Request fields:
Tag Name Required Description Valid Values

Header with MsgType=4

36

NewSeqNo

Y

New sequence number. The receiver should expect this to be the sequence number of the following message.

123

GapFillFlag

Y

Indicates that the sender is skipping messages rather than resending them.

"Y" = Gap Fill message

Trailer

4.13. Logout <5>

Table 8. Logout fields:
Tag Name Required Description Valid Values

Header with MsgType=5

58

Text

N

Human-readable explanation

Trailer

4.14. Business Message Reject <j>

Table 9. Business Message Reject fields:
Tag Name Required Description Valid Values

Header with MsgType=j

45

RefSeqNum

Y

MsgSeqNum <34> of the rejected message.

SeqNum

58

Text

N

Human-readable explanation

372

RefMsgType

Y

The MsgType <35> of the rejected message.

379

BusinessRejectRefID

Y

The value of the business level ID field being referenced.

380

BusinessRejectReason

Y

Code to identify the reason for the Business Message Reject <j> message

"0" = Other (inc. throttling)

"1" = Unknown ID

"2" = Unknown Security

"3" = Unsupported Message Type

"4" = Application not available

"5" = Conditionally Required Field Missing

Trailer

5. Client-Bound Messages

5.1. Execution Report <8>

PowerTrade uses the Execution Report <8> message to:

  • confirm the receipt of an order

  • confirm the successful cancellation of an order

  • relay fill information on orders

  • reject orders

Each execution report contains two fields which are used to communicate both the current state of the order as understood by the exchange OrdStatus <39> and the purpose of the message ExecType <150>.

Table 10. Execution Report fields:
Tag Name Required Description Valid Values

Header with MsgType=8

37

OrderID

Y

The PowerTrade-assigned order ID.

order_id

"NONE" = Unknown OrderID (if ExecType = "8" Rejected)

198

SecondaryOrderID

C

Required if order is visible in the Order Book

The PowerTrade-assigned display_order_id, appears in Public Market Data: Session-based Service, Simplified MD Feeds.

display_order_id

526

SecondaryClOrdID

N

String with up to 16 characters in ASCII range 32-127 (e.g. 0123AbCd or 0;1:2_3!4?5P6F7n).

If order has been entered outside FIX Gateway (e.g. via Web), SecondaryClOrdID might be a hex-string, representing the right 16 bytes from client_reference provided by a client in enter_order request, e.g. a1a1713261435678a000000000000000.

11

ClOrdID

Y

Unique ID of the new Order, Cancel, or Cancel/Replace request as assigned by the firm.

Trader-assigned ClOrdID as provided in an order creation request or order cancel request.

41

OrigClOrdID

C

The original value of the field ClOrdID provided at order placement (in New Order Single <D> , New Order Multileg <AB> ) and reported by corresponding order updates (Execution Report <8> )

Conditionally required for response to a Cancel or Cancel/Replace request (ExecType=PendingCancel, Replace, or Canceled)

order_token

17

ExecID

Y

Unique event ID assigned by PowerTrade.

150

ExecType

Y

Describes the purpose of the Execution Report.

"0" = New

"4" = Cancelled

"8" = Rejected

"A" = Pending New

"C" = Expired

"D" = Restated

"F" = Trade

"H" = Trade Cancel

39

OrdStatus

Y

Describes the current order status.

"0" = New

"1" = Partially Filled

"2" = Filled

"4" = Canceled

"8" = Rejected

"A" = Pending New

"C" = Expired

order_state

1

Account

Y

Identifier of the party associated with the order.

account_id

55

Symbol

Y

Symbol of the Tradeable Entity

.symbol field of tradeable_entity

PowerTrade provides symbols of listed treadable entities in Reference Data: * Simplified MD Feeds * Session-based MD Service

Ignored for Multi-Leg Order

54

Side

Y

Order Side

"1" = Buy

"2" = Sell

side

38

OrderQty

Y

Order Quantity

Decimal

40

OrdType

Y

Indicates order type

"1" = Market

"2" = Limit

44

Price

C

Order Price

Required for OrdType=LIMIT orders

59

TimeInForce

Y

Specifies how long the orders remains alive

"0" = Cycle

"1" = GTC

"3" = IOC

"4" = FOK

"6" = GTD

time_in_force

126

ExpireTime

C

UTC Time of order expiration

Required if TimeInForce=GTD

YYYYMMDD-HH:mm:ss.nnnnnnnnn

time_to_live

18

ExecInst

N

Used to specify values for different order types. If more than one instruction is applicable to an order, this field can contain multiple instructions separated by space.

"6" = Participate Do Not Initiate

32

LastQty

C

Quantity (e.g. shares) of the fill. This field is only present when the order is updated due to a match on the exchange. Required if ExecType <150> is F = Trade.

.quantity field of trade

31

LastPx

C

Price of this (last) fill. Required if ExecType <150> is F = Trade.

For Security Status <f> represents the last price for that security, absent if security has no trades.

.price field of trade

151

LeavesQty

Y

Quantity open for further execution. If the OrdStatus <39> is 4 = Canceled or 8 = Rejected (in which case the order is no longer active) then LeavesQty <151> could be 0, otherwise LeavesQty <151> = OrderQty <38> - CumQty <14>.

Quantity

14

CumQty

Y

Total quantity (e.g. number of shares) filled.

Quantity

6

AvgPx

Y

Calculated average price of all fills on this order.

PowerTrade doesn’t update this field, so it is always set to 0.

"0"

58

Text

N

Human-readable explanation

555

NoLegs

C

Number of legs. Identifies a Multi-leg Execution if present and non-zero.

Component Block InstrumentLeg:

600

LegSymbol

Y

Multileg instrument’s individual security’s Symbol. See Symbol <55> field for description

legs.tradeable_entity_id field of legs

623

LegRatioQty

Y

The ratio of quantity for this individual leg relative to the entire multileg security.

legs.ratio field of legs

May be negative to represent Leg’s Side as reciprocal to Order’s Side

The end of Component Block InstrumentLeg

Trailer

6. Examples

6.1. Logon

6.1.1. Request

8=FIX.4.4|9=371|35=A|34=1|49=17b92233f33a4d9a1688fe7d2a5be705|52=20230802-11:01:24.064|56=PT-DC|98=0|108=30|141=Y|554=eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhcGkud3NzLmRldi5wb3dlci50cmFkZSIsInN1YiI6IjE3YjkyMjMzZjMzYTRkOWExNjg4ZmU3ZDJhNWJlNzA1IiwiZXhwIjoxNjkwOTc0MDk5LCJpYXQiOjE2OTA5NzQwODR9.T5xBcKI6C9y1slbBkNHw6Gps8bKFTMlwzE1ABxsGe0EwUWjj1Qb4a2tNfpvljALexoQigYcbO3ZTL_qBN6aLZA|10=071|

HEADER:
--------------------------------------------------------------------
	[   8]	                     BeginString: FIX.4.4 []
	[   9]	                      BodyLength: 371 []
	[  34]	                       MsgSeqNum: 1 []
	[  35]	                         MsgType: A [LOGON]
	[  49]	                    SenderCompID: 17b92233f33a4d9a1688fe7d2a5be705 []
	[  52]	                     SendingTime: 20230802-11:01:24.064 []
	[  56]	                    TargetCompID: PT-DC []

BODY:
--------------------------------------------------------------------
	[  98]	                   EncryptMethod: 0 [NONE]
	[ 108]	                      HeartBtInt: 30 []
	[ 141]	                 ResetSeqNumFlag: Y [YES]
	[ 554]	                        Password: eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhcGkud3NzLmRldi5wb3dlci50cmFkZSIsInN1YiI6IjE3YjkyMjMzZjMzYTRkOWExNjg4ZmU3ZDJhNWJlNzA1IiwiZXhwIjoxNjkwOTc0MDk5LCJpYXQiOjE2OTA5NzQwODR9.T5xBcKI6C9y1slbBkNHw6Gps8bKFTMlwzE1ABxsGe0EwUWjj1Qb4a2tNfpvljALexoQigYcbO3ZTL_qBN6aLZA []

TRAILER:
--------------------------------------------------------------------
	[  10]	                        CheckSum: 071 []

6.1.2. Response

8=FIX.4.4|9=98|35=A|34=1|49=PT-DC|52=20230802-11:01:24.066|56=17b92233f33a4d9a1688fe7d2a5be705|98=0|108=30|141=Y|10=022|

HEADER:
--------------------------------------------------------------------
	[   8]	                     BeginString: FIX.4.4 []
	[   9]	                      BodyLength: 98 []
	[  34]	                       MsgSeqNum: 1 []
	[  35]	                         MsgType: A [LOGON]
	[  49]	                    SenderCompID: PT-DC []
	[  52]	                     SendingTime: 20230802-11:01:24.066 []
	[  56]	                    TargetCompID: 17b92233f33a4d9a1688fe7d2a5be705 []

BODY:
--------------------------------------------------------------------
	[  98]	                   EncryptMethod: 0 [NONE]
	[ 108]	                      HeartBtInt: 30 []
	[ 141]	                 ResetSeqNumFlag: Y [YES]

TRAILER:
--------------------------------------------------------------------
	[  10]	                        CheckSum: 022 []

6.2. NewOrderSingle: Limit

6.2.1. Response: Pending

8=FIX.4.4|9=290|35=8|34=6|49=PT-OE|52=20230802-11:20:11.305|56=17b92233f33a4d9a1688fe7d2a5be705|1=333|6=0|11=1690975211302602|14=0.00000000|17=P15091429|37=15091429|38=0.15000000|39=A|40=2|44=22150.00|54=1|55=BTC-USD|59=6|60=20230802-11:20:11.304719000|126=20230803-11:20:00.000000000|150=A|151=0.15000000|10=117|

HEADER:
--------------------------------------------------------------------
	[   8]	                     BeginString: FIX.4.4 []
	[   9]	                      BodyLength: 290 []
	[  34]	                       MsgSeqNum: 6 []
	[  35]	                         MsgType: 8 [EXECUTION_REPORT]
	[  49]	                    SenderCompID: PT-OE []
	[  52]	                     SendingTime: 20230802-11:20:11.305 []
	[  56]	                    TargetCompID: 17b92233f33a4d9a1688fe7d2a5be705 []

BODY:
--------------------------------------------------------------------
	[   1]	                         Account: 333 []
	[   6]	                           AvgPx: 0 []
	[  11]	                         ClOrdID: 1690975211302602 []
	[  14]	                          CumQty: 0.00000000 []
	[  17]	                          ExecID: P15091429 []
	[  37]	                         OrderID: 15091429 []
	[  38]	                        OrderQty: 0.15000000 []
	[  39]	                       OrdStatus: A [PENDING_NEW]
	[  40]	                         OrdType: 2 [LIMIT]
	[  44]	                           Price: 22150.00 []
	[  54]	                            Side: 1 [BUY]
	[  55]	                          Symbol: BTC-USD []
	[  59]	                     TimeInForce: 6 [GOOD_TILL_DATE]
	[  60]	                    TransactTime: 20230802-11:20:11.304719000 []
	[ 126]	                      ExpireTime: 20230803-11:20:00.000000000 []
	[ 150]	                        ExecType: A [PENDING_NEW]
	[ 151]	                       LeavesQty: 0.15000000 []

TRAILER:
--------------------------------------------------------------------
	[  10]	                        CheckSum: 117 []

6.2.2. Response: New

8=FIX.4.4|9=290|35=8|34=7|49=PT-OE|52=20230802-11:20:11.306|56=17b92233f33a4d9a1688fe7d2a5be705|1=333|6=0|11=1690975211302602|14=0.00000000|17=N15091429|37=15091429|38=0.15000000|39=0|40=2|44=22150.00|54=1|55=BTC-USD|59=6|60=20230802-11:20:11.306529000|126=20230803-11:20:00.000000000|150=0|151=0.15000000|10=084|

HEADER:
--------------------------------------------------------------------
	[   8]	                     BeginString: FIX.4.4 []
	[   9]	                      BodyLength: 290 []
	[  34]	                       MsgSeqNum: 7 []
	[  35]	                         MsgType: 8 [EXECUTION_REPORT]
	[  49]	                    SenderCompID: PT-OE []
	[  52]	                     SendingTime: 20230802-11:20:11.306 []
	[  56]	                    TargetCompID: 17b92233f33a4d9a1688fe7d2a5be705 []

BODY:
--------------------------------------------------------------------
	[   1]	                         Account: 333 []
	[   6]	                           AvgPx: 0 []
	[  11]	                         ClOrdID: 1690975211302602 []
	[  14]	                          CumQty: 0.00000000 []
	[  17]	                          ExecID: N15091429 []
	[  37]	                         OrderID: 15091429 []
	[  38]	                        OrderQty: 0.15000000 []
	[  39]	                       OrdStatus: 0 [NEW]
	[  40]	                         OrdType: 2 [LIMIT]
	[  44]	                           Price: 22150.00 []
	[  54]	                            Side: 1 [BUY]
	[  55]	                          Symbol: BTC-USD []
	[  59]	                     TimeInForce: 6 [GOOD_TILL_DATE]
	[  60]	                    TransactTime: 20230802-11:20:11.306529000 []
	[ 126]	                      ExpireTime: 20230803-11:20:00.000000000 []
	[ 150]	                        ExecType: 0 [NEW]
	[ 151]	                       LeavesQty: 0.15000000 []

TRAILER:
--------------------------------------------------------------------
	[  10]	                        CheckSum: 084 []

6.2.3. Response: Trade

8=FIX.4.4|9=314|35=8|34=8|49=PT-OE|52=20230802-11:20:11.307|56=17b92233f33a4d9a1688fe7d2a5be705|1=333|6=0|11=1690975211302602|14=0.15000000|17=E741540|31=21150.00|32=0.15000000|37=15091429|38=0.15000000|39=2|40=2|44=22150.00|54=1|55=BTC-USD|59=6|60=20230802-11:20:11.306529000|126=20230803-11:20:00.000000000|150=F|151=0.00000000|10=168|

HEADER:
--------------------------------------------------------------------
	[   8]	                     BeginString: FIX.4.4 []
	[   9]	                      BodyLength: 314 []
	[  34]	                       MsgSeqNum: 8 []
	[  35]	                         MsgType: 8 [EXECUTION_REPORT]
	[  49]	                    SenderCompID: PT-OE []
	[  52]	                     SendingTime: 20230802-11:20:11.307 []
	[  56]	                    TargetCompID: 17b92233f33a4d9a1688fe7d2a5be705 []

BODY:
--------------------------------------------------------------------
	[   1]	                         Account: 333 []
	[   6]	                           AvgPx: 0 []
	[  11]	                         ClOrdID: 1690975211302602 []
	[  14]	                          CumQty: 0.15000000 []
	[  17]	                          ExecID: E741540 []
	[  31]	                          LastPx: 21150.00 []
	[  32]	                         LastQty: 0.15000000 []
	[  37]	                         OrderID: 15091429 []
	[  38]	                        OrderQty: 0.15000000 []
	[  39]	                       OrdStatus: 2 [FILLED]
	[  40]	                         OrdType: 2 [LIMIT]
	[  44]	                           Price: 22150.00 []
	[  54]	                            Side: 1 [BUY]
	[  55]	                          Symbol: BTC-USD []
	[  59]	                     TimeInForce: 6 [GOOD_TILL_DATE]
	[  60]	                    TransactTime: 20230802-11:20:11.306529000 []
	[ 126]	                      ExpireTime: 20230803-11:20:00.000000000 []
	[ 150]	                        ExecType: F [TRADE]
	[ 151]	                       LeavesQty: 0.00000000 []

TRAILER:
--------------------------------------------------------------------
	[  10]	                        CheckSum: 168 []

6.3. NewOrderSingle: Market

6.3.1. Response: Pending

8=FIX.4.4|9=246|35=8|34=4|49=PT-OE|52=20230802-11:01:08.716|56=17b92233f33a4d9a1688fe7d2a5be705|1=333|6=0|11=1690974068713638|14=0.00000000|17=P15091414|37=15091414|38=0.08000000|39=A|40=1|54=2|55=BTC-USD|59=3|60=20230802-11:01:08.716150000|150=A|151=0.08000000|10=083|

HEADER:
--------------------------------------------------------------------
	[   8]	                     BeginString: FIX.4.4 []
	[   9]	                      BodyLength: 246 []
	[  34]	                       MsgSeqNum: 4 []
	[  35]	                         MsgType: 8 [EXECUTION_REPORT]
	[  49]	                    SenderCompID: PT-OE []
	[  52]	                     SendingTime: 20230802-11:01:08.716 []
	[  56]	                    TargetCompID: 17b92233f33a4d9a1688fe7d2a5be705 []

BODY:
--------------------------------------------------------------------
	[   1]	                         Account: 333 []
	[   6]	                           AvgPx: 0 []
	[  11]	                         ClOrdID: 1690974068713638 []
	[  14]	                          CumQty: 0.00000000 []
	[  17]	                          ExecID: P15091414 []
	[  37]	                         OrderID: 15091414 []
	[  38]	                        OrderQty: 0.08000000 []
	[  39]	                       OrdStatus: A [PENDING_NEW]
	[  40]	                         OrdType: 1 [MARKET]
	[  54]	                            Side: 2 [SELL]
	[  55]	                          Symbol: BTC-USD []
	[  59]	                     TimeInForce: 3 [IMMEDIATE_OR_CANCEL]
	[  60]	                    TransactTime: 20230802-11:01:08.716150000 []
	[ 150]	                        ExecType: A [PENDING_NEW]
	[ 151]	                       LeavesQty: 0.08000000 []

TRAILER:
--------------------------------------------------------------------
	[  10]	                        CheckSum: 083 []

6.3.2. Response: New

8=FIX.4.4|9=246|35=8|34=5|49=PT-OE|52=20230802-11:01:08.718|56=17b92233f33a4d9a1688fe7d2a5be705|1=333|6=0|11=1690974068713638|14=0.00000000|17=N15091414|37=15091414|38=0.08000000|39=0|40=1|54=2|55=BTC-USD|59=3|60=20230802-11:01:08.717909000|150=0|151=0.08000000|10=063|

HEADER:
--------------------------------------------------------------------
	[   8]	                     BeginString: FIX.4.4 []
	[   9]	                      BodyLength: 246 []
	[  34]	                       MsgSeqNum: 5 []
	[  35]	                         MsgType: 8 [EXECUTION_REPORT]
	[  49]	                    SenderCompID: PT-OE []
	[  52]	                     SendingTime: 20230802-11:01:08.718 []
	[  56]	                    TargetCompID: 17b92233f33a4d9a1688fe7d2a5be705 []

BODY:
--------------------------------------------------------------------
	[   1]	                         Account: 333 []
	[   6]	                           AvgPx: 0 []
	[  11]	                         ClOrdID: 1690974068713638 []
	[  14]	                          CumQty: 0.00000000 []
	[  17]	                          ExecID: N15091414 []
	[  37]	                         OrderID: 15091414 []
	[  38]	                        OrderQty: 0.08000000 []
	[  39]	                       OrdStatus: 0 [NEW]
	[  40]	                         OrdType: 1 [MARKET]
	[  54]	                            Side: 2 [SELL]
	[  55]	                          Symbol: BTC-USD []
	[  59]	                     TimeInForce: 3 [IMMEDIATE_OR_CANCEL]
	[  60]	                    TransactTime: 20230802-11:01:08.717909000 []
	[ 150]	                        ExecType: 0 [NEW]
	[ 151]	                       LeavesQty: 0.08000000 []

TRAILER:
--------------------------------------------------------------------
	[  10]	                        CheckSum: 063 []

6.3.3. Response: Trade

8=FIX.4.4|9=314|35=8|34=6|49=PT-OE|52=20230802-11:01:08.718|56=17b92233f33a4d9a1688fe7d2a5be705|1=333|6=0|11=1690974067710224|14=0.08000000|17=E741538|31=22150.00|32=0.08000000|37=15091412|38=0.15000000|39=1|40=2|44=22150.00|54=1|55=BTC-USD|59=6|60=20230802-11:01:08.717909000|126=20230803-11:00:00.000000000|150=F|151=0.07000000|10=209|

HEADER:
--------------------------------------------------------------------
	[   8]	                     BeginString: FIX.4.4 []
	[   9]	                      BodyLength: 314 []
	[  34]	                       MsgSeqNum: 6 []
	[  35]	                         MsgType: 8 [EXECUTION_REPORT]
	[  49]	                    SenderCompID: PT-OE []
	[  52]	                     SendingTime: 20230802-11:01:08.718 []
	[  56]	                    TargetCompID: 17b92233f33a4d9a1688fe7d2a5be705 []

BODY:
--------------------------------------------------------------------
	[   1]	                         Account: 333 []
	[   6]	                           AvgPx: 0 []
	[  11]	                         ClOrdID: 1690974067710224 []
	[  14]	                          CumQty: 0.08000000 []
	[  17]	                          ExecID: E741538 []
	[  31]	                          LastPx: 22150.00 []
	[  32]	                         LastQty: 0.08000000 []
	[  37]	                         OrderID: 15091412 []
	[  38]	                        OrderQty: 0.15000000 []
	[  39]	                       OrdStatus: 1 [PARTIALLY_FILLED]
	[  40]	                         OrdType: 2 [LIMIT]
	[  44]	                           Price: 22150.00 []
	[  54]	                            Side: 1 [BUY]
	[  55]	                          Symbol: BTC-USD []
	[  59]	                     TimeInForce: 6 [GOOD_TILL_DATE]
	[  60]	                    TransactTime: 20230802-11:01:08.717909000 []
	[ 126]	                      ExpireTime: 20230803-11:00:00.000000000 []
	[ 150]	                        ExecType: F [TRADE]
	[ 151]	                       LeavesQty: 0.07000000 []

TRAILER:
--------------------------------------------------------------------
	[  10]	                        CheckSum: 209 []

6.4. NewOrderMultileg: RFQ Limit

6.4.1. Response: New

8=FIX.4.4|9=323|35=8|34=9|49=PT-OE|52=20230802-11:01:11.732|56=17b92233f33a4d9a1688fe7d2a5be705|1=333|6=0|11=1690974071730671|14=0.000000|17=N15091416|37=15091416|38=0.100000|39=0|40=2|44=16.0000|54=1|59=6|60=20230802-11:01:11.731938000|65=none|126=20230803-11:00:00.000000000|150=0|151=0.100000|555=2|600=BTC-USD|623=1|600=ETH-USD|623=-1|10=164|

HEADER:
--------------------------------------------------------------------
	[   8]	                     BeginString: FIX.4.4 []
	[   9]	                      BodyLength: 323 []
	[  34]	                       MsgSeqNum: 9 []
	[  35]	                         MsgType: 8 [EXECUTION_REPORT]
	[  49]	                    SenderCompID: PT-OE []
	[  52]	                     SendingTime: 20230802-11:01:11.732 []
	[  56]	                    TargetCompID: 17b92233f33a4d9a1688fe7d2a5be705 []

BODY:
--------------------------------------------------------------------
	[   1]	                         Account: 333 []
	[   6]	                           AvgPx: 0 []
	[  11]	                         ClOrdID: 1690974071730671 []
	[  14]	                          CumQty: 0.000000 []
	[  17]	                          ExecID: N15091416 []
	[  37]	                         OrderID: 15091416 []
	[  38]	                        OrderQty: 0.100000 []
	[  39]	                       OrdStatus: 0 [NEW]
	[  40]	                         OrdType: 2 [LIMIT]
	[  44]	                           Price: 16.0000 []
	[  54]	                            Side: 1 [BUY]
	[  59]	                     TimeInForce: 6 [GOOD_TILL_DATE]
	[  60]	                    TransactTime: 20230802-11:01:11.731938000 []
	[  65]	                       SymbolSfx: none []
	[ 126]	                      ExpireTime: 20230803-11:00:00.000000000 []
	[ 150]	                        ExecType: 0 [NEW]
	[ 151]	                       LeavesQty: 0.100000 []
	[ 555]	                          NoLegs: 2 []
	[ 600]	                           LegSymbol: BTC-USD []
	[ 623]	                         LegRatioQty: 1 []
	[ 600]	                           LegSymbol: ETH-USD []
	[ 623]	                         LegRatioQty: -1 []

TRAILER:
--------------------------------------------------------------------
	[  10]	                        CheckSum: 164 []

6.5. Cancel by ClOrdID

6.5.1. Response

8=FIX.4.4|9=310|35=8|34=8|49=PT-OE|52=20230802-11:01:09.724|56=17b92233f33a4d9a1688fe7d2a5be705|1=333|6=0|11=1690974069723069|14=0.08000000|17=C15091412|37=15091412|38=0.15000000|39=4|40=2|41=1690974067710224|44=22150.00|54=1|55=BTC-USD|59=6|60=20230802-11:01:09.723523000|126=20230803-11:00:00.000000000|150=4|151=0.07000000|10=075|

HEADER:
--------------------------------------------------------------------
	[   8]	                     BeginString: FIX.4.4 []
	[   9]	                      BodyLength: 310 []
	[  34]	                       MsgSeqNum: 8 []
	[  35]	                         MsgType: 8 [EXECUTION_REPORT]
	[  49]	                    SenderCompID: PT-OE []
	[  52]	                     SendingTime: 20230802-11:01:09.724 []
	[  56]	                    TargetCompID: 17b92233f33a4d9a1688fe7d2a5be705 []

BODY:
--------------------------------------------------------------------
	[   1]	                         Account: 333 []
	[   6]	                           AvgPx: 0 []
	[  11]	                         ClOrdID: 1690974069723069 []
	[  14]	                          CumQty: 0.08000000 []
	[  17]	                          ExecID: C15091412 []
	[  37]	                         OrderID: 15091412 []
	[  38]	                        OrderQty: 0.15000000 []
	[  39]	                       OrdStatus: 4 [CANCELED]
	[  40]	                         OrdType: 2 [LIMIT]
	[  41]	                     OrigClOrdID: 1690974067710224 []
	[  44]	                           Price: 22150.00 []
	[  54]	                            Side: 1 [BUY]
	[  55]	                          Symbol: BTC-USD []
	[  59]	                     TimeInForce: 6 [GOOD_TILL_DATE]
	[  60]	                    TransactTime: 20230802-11:01:09.723523000 []
	[ 126]	                      ExpireTime: 20230803-11:00:00.000000000 []
	[ 150]	                        ExecType: 4 [CANCELED]
	[ 151]	                       LeavesQty: 0.07000000 []

TRAILER:
--------------------------------------------------------------------
	[  10]	                        CheckSum: 075 []

6.6. Cancel by OrderID

6.6.1. Response

8=FIX.4.4|9=344|35=8|34=22|49=PT-OE|52=20230802-11:01:24.102|56=17b92233f33a4d9a1688fe7d2a5be705|1=333|6=0|11=1690974084103284|14=0.000000|17=C15091423|37=15091423|38=0.100000|39=4|40=2|41=1690974077785721|44=16.0000|54=1|59=6|60=20230802-11:01:24.102096000|65=none|126=20230803-11:00:00.000000000|150=4|151=0.100000|555=2|600=BTC-USD|623=1|600=ETH-USD|623=-1|10=174|

HEADER:
--------------------------------------------------------------------
	[   8]	                     BeginString: FIX.4.4 []
	[   9]	                      BodyLength: 344 []
	[  34]	                       MsgSeqNum: 22 []
	[  35]	                         MsgType: 8 [EXECUTION_REPORT]
	[  49]	                    SenderCompID: PT-OE []
	[  52]	                     SendingTime: 20230802-11:01:24.102 []
	[  56]	                    TargetCompID: 17b92233f33a4d9a1688fe7d2a5be705 []

BODY:
--------------------------------------------------------------------
	[   1]	                         Account: 333 []
	[   6]	                           AvgPx: 0 []
	[  11]	                         ClOrdID: 1690974084103284 []
	[  14]	                          CumQty: 0.000000 []
	[  17]	                          ExecID: C15091423 []
	[  37]	                         OrderID: 15091423 []
	[  38]	                        OrderQty: 0.100000 []
	[  39]	                       OrdStatus: 4 [CANCELED]
	[  40]	                         OrdType: 2 [LIMIT]
	[  41]	                     OrigClOrdID: 1690974077785721 []
	[  44]	                           Price: 16.0000 []
	[  54]	                            Side: 1 [BUY]
	[  59]	                     TimeInForce: 6 [GOOD_TILL_DATE]
	[  60]	                    TransactTime: 20230802-11:01:24.102096000 []
	[  65]	                       SymbolSfx: none []
	[ 126]	                      ExpireTime: 20230803-11:00:00.000000000 []
	[ 150]	                        ExecType: 4 [CANCELED]
	[ 151]	                       LeavesQty: 0.100000 []
	[ 555]	                          NoLegs: 2 []
	[ 600]	                           LegSymbol: BTC-USD []
	[ 623]	                         LegRatioQty: 1 []
	[ 600]	                           LegSymbol: ETH-USD []
	[ 623]	                         LegRatioQty: -1 []

TRAILER:
--------------------------------------------------------------------
	[  10]	                        CheckSum: 174 []

7. Revision History

Table 11. revision history:
Date Version Notes

2024-04-03

1.5

Updated "Connecting" section

2023-08-24

1.2

Add configuration examples for using SSL

2023-08-01

1.1

Public release

2023-07-30

1.0

Initial Drop Copy FIX API documentation