PUB wss://test-api.synquote.com/ws
Adds an order.
The matching engine codes and their descriptions are outlined here
REQUEST
HEADER PARAMS
| msg_type string required Message type: add_order |
| id number required The ID of the request. This is returned in the response header. |
| version integer required Version number: 1 |
BODY PARAMS
| account_id string required Account address which is placing the order. |
| instrument_id string required The instrument to buy or sell. |
| size string required Size of position to trade in the underlying asset. |
| side string required Can be buy or sell. |
| order_type string required Can be limit, market, take_profit, or stop . |
| time_in_force string required Can be one of gtc (Good till cancelled), gte (Good till expiration), ioc (Immediate or cancel), or fok (Fill-or-Kill). |
| execution_type string Can be post_only or allow_cross. post_only is only supported for limit orders. |
| signature string required Signed order fields which are submitted to smart contracts for processing. |
| client_order_id string ID assigned to the order by the client. This must be unique per-account. Will be set automatically to the exchange’s unique order_id if absent. |
| limit_price string Limit price for the order. If this field is absent, null, or zero for take_profit and stop orders, the order will execute at market once the trigger_price is reached. This field must be absent, null or zero for market orders.
|
| expiration number Time that order will explicitly be canceled, in UNIX epoch seconds. For orders which do not have time-in-force gte, this field must be absent or explicitly set to null or zero.
|
| nonce string required Used to make orders with otherwise identical signed fields unique. See nonce section in glossary for specific requirements. |
| reduce_only boolean If true, this order will only reduce the size of an open position. Always true for take_profit orders.
|
| trigger_price string The reference price at which the order will become active. Required for take_profit and stop orders. Ignored for other order types.
|
Example
[
{
"msg_type":"add_order",
"id": 1002,
"version": 1
},
{
"account_id":"0x9f58498b98348b9BFbE53F0E18AA818a4Be0aE49",
"instrument_id": "ETH-PERPETUAL",
"size": "1",
"size": "buy",
"order_type": "limit",
"time_in_force": "gtc",
"execution_type": "allow_cross",
"limit_price": "4000",
"expiration": 0,
"nonce": "7433990883764493008",
"signature": "0xf86ea8c7f9a8e93f91b292b1e6ff3e0bb9b12f3aeb9ed32f3450fbbf1a2a5d181b7aef913589aa45d6d0bdf5c3085f8a3103a1e2fa1572bf12a55a8d7408df631c",
"reduce_only": false
}
]RESPONSE
| account_id string The account address which placed the order. | ||||||||||
| transaction_ts string The time the order was received by the system in UNIX epoch nanoseconds. | ||||||||||
| avg_execution_price string The average execution price of the fills, if any. | ||||||||||
| client_order_id string The client-assigned order ID. Set automatically to order_id if absent. | ||||||||||
| execution_type string The execution type of the order. Can be post_only or allow_cross. | ||||||||||
| expiration string The expiration time of the order in UNIX epoch seconds. | ||||||||||
fillsarray of objects
| ||||||||||
| initial_size string The initial size of the order. | ||||||||||
| instrument_id string The instrument of the order. | ||||||||||
| limit_price string The limit price of the order. | ||||||||||
| status string The status of the order. | ||||||||||
| cancel_reason string The reason the order was canceled. Only included if the status is a cancel. | ||||||||||
| nonce string An arbitrary number that can only be used once, used to ensure freshness of the order. | ||||||||||
| order_id string The unique ID of the order. | ||||||||||
| order_type string Can be limit, market, take_profit, or stop. | ||||||||||
| remaining_size string The remaining unfilled portion of the order. | ||||||||||
| side string The side of the order. | ||||||||||
| signature string Signed order fields which are submitted to smart contracts for processing. | ||||||||||
| time_in_force string The time in force of the order. Can be gtc, gte, ioc, or fok. | ||||||||||
| total_fill_size string The total size of the fills. | ||||||||||
| total_fill_size string The reason the order was canceled. Only included if the status is a cancel. | ||||||||||
| reduce_only boolean Whether the order is reduce only. | ||||||||||
| trigger_price string The trigger price of the order. Only present for take_profit and stop orders. | ||||||||||
| market_seqno string The market sequence number of the new order. A monotonic sequence number updated for each book event. e.g. a fill, cancel, etc. | ||||||||||
| prev_order_type string The original order type before it was triggered into a new state. This field will differ from order_type if the order transitioned to a different type upon triggering a condition (e.g., a stop order converting to a market order). If no such transition occurred, this field will match order_type. |
Example
[
{
"msg_type":"add_order_response",
"id": 1002,
"version": 1
},
{
"account_id": "0x9f58498b98348b9bfbe53f0e18aa818a4be0ae49",
"transaction_ts": "1714441870685341751",
"avg_execution_price": "3207.60",
"client_order_id": "8524676410238383080",
"execution_type": "allow_cross",
"expiration": "1723081870",
"fills": [
{
"transaction_ts": "1714441870686868798",
"fill_price": "3207.6",
"fill_size": "63.98",
"fill_total_fee": "1.25",
"is_maker": false,
"is_liquidation": false,
"trade_pnl": "20.01",
"market_seqno": 123457,
"trade_id": "11416748077714502636"
}
],
"initial_size": "63.98",
"instrument_id": "ETH-PERPETUAL",
"limit_price": "3208.87",
"status": "full_fill",
"nonce": "7433990883764493008",
"order_id": "8524676410238383080",
"order_type": "limit",
"remaining_size": "0",
"side": "buy",
"signature": "0x8fdfb5a6f2fc9d25ff844d3ff3de0cc1f226c55cb9c632ff65f5532d6d1ea79f1f35f8ed588dcc2229b12165a2ca986fcde25aedf415adae0586823131db39741b",
"time_in_force": "gtc",
"total_fill_size": "63.98",
"cancel_reason": "cancel_order", // Only incldued if status is a cancel (see glossary)
"reduce_only": false,
"market_seqno": 123456,
"prev_order_type": "limit"
}
]