> 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.md).

# FIX API

Finery Markets FIX API is based on the FIX 4.4 specification.

### Connection

Endpoints for connection are provided by FineryMarkets during the onboarding process.

Access is provided using IP-address whitelist, which is also set during the onboarding process.

Only TCP is supported, clients should connect using SSL.

You should configure 1 API key per session to guarantee a connection. Resend requests are not supported. Every connection establishes a new session and a new set of session sequence numbers.

### Messages&#x20;

**Tag** - FIX tag of the field

**Name** - FIX name of the field

**R** - “Y” if the field is required, “N” - otherwise

**Example** - Field value example

**Description** - Brief field description

All messages should include the following header:

<table><thead><tr><th width="150" align="center">Tag</th><th width="150" align="center">Name</th><th align="center">Example</th><th align="center">Description</th></tr></thead><tbody><tr><td align="center">8</td><td align="center">BeginString</td><td align="center">FIX.4.4</td><td align="center">Should be set to “FIX.4.4”</td></tr><tr><td align="center">9</td><td align="center">BodyLength</td><td align="center">128</td><td align="center">Length of the message body in bytes</td></tr><tr><td align="center">35</td><td align="center">MsgType</td><td align="center">A</td><td align="center">Message Type</td></tr><tr><td align="center">49</td><td align="center">SenderCompId</td><td align="center">fjQxw2IJGOeJ9dg1Raam5iudLQUz9mmew3CSVassPx2</td><td align="center">Client API key(for messages sent by the client)</td></tr><tr><td align="center">56</td><td align="center">TargetCompId</td><td align="center">FINERYMARKETS</td><td align="center">Should be set to “FINERYMARKETS” (for messages sent by the client</td></tr><tr><td align="center">34</td><td align="center">MsgSeqNum</td><td align="center">1</td><td align="center">Message sequence number. Should start at 1 and increment with every message.</td></tr><tr><td align="center">52</td><td align="center">SendingTime</td><td align="center">20230911-09:11:14.085</td><td align="center">UTC timestamp</td></tr></tbody></table>

All messages should include the following trailer:

<table><thead><tr><th width="150" align="center">Tag</th><th width="150" align="center">Name</th><th align="center">Example</th><th align="center">Description</th></tr></thead><tbody><tr><td align="center">10</td><td align="center">Checksum</td><td align="center">ABC</td><td align="center">Three bytes, simple checksum. ALWAYS LAST FIELD IN MESSAGE; Always defined as three characters. (Always unencrypted)</td></tr></tbody></table>

Checksum<10> is a standard FIX checksum. Description is available [here](https://www.onixs.biz/fix-dictionary/4.2/app_b.html).&#x20;
