> 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/data-types.md).

# Data Types

The specific data types are introduced in the table below. They are referred to in the documentation below with the prefix `Efx::` (e.g., `Efx::Size`).

<table><thead><tr><th>FineryMarkets Type</th><th>Underlying Type</th><th width="249.33333333333331">Description</th></tr></thead><tbody><tr><td>Size</td><td>int64</td><td>Internal unit. 1 Unit = 0.00000001 (1e-8).<br><br>1. 1 USD is equal to 100000000 units <br>2. 0.01 USD is equal to 1000000 units<br>3. 0.00000001 BTC is equal to 1 unit<br><br>The maximum precision is always 8 decimals. <br><br><a href="/pages/HpGwDuKs1hHkDWTH8vN9#order-size-balance-steps-and-rounding">More about data types and order sizing is available here.</a></td></tr><tr><td>Price</td><td>unsigned int64</td><td>Internal unit. 1 Unit = 0.00000001 (1e-8).<br><br>1. 1 USD is equal to 100000000 units <br>2. 0.01 USD is equal to 1000000 units<br>3. 0.00000001 BTC is equal to 1 unit<br><br>The maximum precision is always 8 decimals.<br><br>However, when specifying the price during order submission, keep in mind that the precision is regulated by the balance step of each currency. For example, <br>You can submit 1000000 (0.01 USD) units for USD, but cannot submit 100000 (0.001 USD)<br><br><a href="/pages/HpGwDuKs1hHkDWTH8vN9#order-size-balance-steps-and-rounding">More about Balance Step is available here.</a></td></tr><tr><td>Timestamp</td><td>unsigned int64</td><td>UTC unix timestamp with milliseconds</td></tr><tr><td>DealId</td><td>unsigned int64</td><td>Deal or settlement id</td></tr><tr><td>OrderId</td><td>unsigned int64</td><td>Order or settlement order id</td></tr><tr><td>ClientOrderId</td><td>signed int64</td><td>Order id as defined by a user, from 1 to 2^63-1</td></tr><tr><td>ClientId</td><td>unsigned int32</td><td>User id</td></tr><tr><td>Side</td><td>unsigned int16</td><td><p>0 = bid</p><p>1 = ask</p></td></tr><tr><td>CancelReason</td><td>unsigned int16</td><td><p>Order cancel reason</p><p>0 = in place or filled</p><p>1 = by client</p><p>2 = as non-book order</p><p>3 = by self-trade prevention</p><p>4 = by cancel-on-disconnect)</p></td></tr><tr><td>TransactionFlags</td><td>unsigned int16</td><td><p>Settlement transaction flags</p><p>Bits 0-1<br>0 = Commited by receiver<br>1 = Commited by admin<br>2 = Cancelled by sender<br>3 = Cancelled by admin<br><br>Bit 2<br>1 = Network fee paid by recepient.<br><br>Bit 4</p><p>0 = Created by sender<br>1 = Created by receiver<br><br>Bit 5<br>0 = Created by clients<br>1 = Created by admin</p></td></tr><tr><td>Flags</td><td>unsigned int16</td><td>Value depends on context</td></tr><tr><td>ErrorCode</td><td>unsigned int16</td><td>See <a href="/pages/monOFmdwJJsTpOa1vEN8">Error Codes</a> section for list of error codes</td></tr><tr><td>DealType</td><td>unsigned int</td><td>0 - regular<br>1 - authorized trade<br>2 - liquidation trade</td></tr><tr><td>OrderType</td><td>unsigned int16</td><td><p>0 - limit</p><p>1 - post only</p><p>2 - limit IOC</p><p>3 - limit FOK</p><p>4 - market IOC</p><p>5 - market FOK<br>6 - manual trade<br>7 - pending limit<br>9 - RFQ</p></td></tr><tr><td>LiquiditySource</td><td>unsigned int</td><td><p>Source of the liquidity for a deal.<br>0 - Firm Book<br>1 - RFQ</p><p>2 - Quote Streams</p><p>3 - Not Available (reserved for voice trading)</p></td></tr><tr><td>Percent</td><td>unsigned int32</td><td>In % multiplied by 1e4.<br>From 0 to 1000000, that is 0% to 100%</td></tr></tbody></table>
