---
title: "Submit order"
method: POST
path: "/orders/v1/insert_order"
tags: ["CLOB"]
---

# Submit order

`POST /orders/v1/insert_order`

Submit a new order to the CLOB.

## Headers

- `X-SCX-SIGNED` string, required
- `X-SCX-TIMESTAMP` string, required

## Request body

- union
  - PostInsertOrderRequestEntity — All accepted fields request body for inserting a new order.
    - `account` string — The account associated with the order. This can be either the `participant_code` assigned by zerohash or the `account_label` defined by the platform. - Custom account label : `firms/{platform_code}/accounts/{account_label}`. - General account label : `firms/{platform_code}/accounts/{participant_code}`.
    - `user` 'firms/F-{platform_code}/users/{participant_code}' | 'firms/F-{platform_code}/users/{account_label}' | 'firms/{zerohash}/users/{platform_code}' — Fully-qualified user. Format: `firms/F-{platform_code}/users/{participant_code}`. This value is case sensitive. ### Clearing House Designations * **USA:** 00SXCM (ZH Clearing House) * **EU:** ZHDSEU ### Prefunded Model * USD balances are ledgered directly to the participants on their CLOB account. * Participants will be credit checked against their available balance on the zerohash platform. * Accounts must be registed with the `prefunded` field as `true` on the `POST /accounts` endpoint. * Trade settlement is handled directly between participants and occurs instantly upon execution. ### Novated Model * Utilizes a central float account to manage the cumulative buying power of your customers. * USD balance is ledgeder to the platforms float account. * USD credit checks must be performed by the platform prior to order placement. * Accounts must be registed with the `prefunded` field as `false` on the `POST /accounts` endpoint. * Allows platforms to manage the buying power of their customers effectively, allowing for better operational efficiency.
    - `all_or_none` boolean — Indicates if the order is an all-or-none order. An all-or-none order will only execute if the entire order quantity can be filled, otherwise it will remain as instructed with regards to time in force and type of the order.
    - `best_limit` boolean — Indicates if the order should be entered at the best available price on the same side of the market.
    - `cash_order_qty` string — The notional value of the order to execute, used with market orders.
    - `client_account_id` string
    - `client_participant_id` string
    - `clord_id` string — Client-provided order ID.
    - `good_till_time` string, date-time, nullable — The time until which the order is valid. If the order has a time in force of `TIME_IN_FORCE_GOOD_TILL_TIME`, then this field will indicate the time until which the order will remain active before it is cancelled by the system.
    - `ignore_price_validity_checks` boolean — Indicates if the order should bypass price validity checks and be accepted even if the price is outside of the normal price bands or limits set by the exchange. This may be used in conjunction with order `type` as `ORDER_TYPE_MARKET_TO_LIMIT` and the `side` as `SIDE_SELL` to bypass the exchange minimum order placement values to liquidate customer positions.
    - `immediately_executable_limit` boolean — Indicates if the order should be executed immediately at the best available price.
    - `min_qty` string
    - `order_capacity` 'ORDER_CAPACITY_UNDEFINED' | 'ORDER_CAPACITY_AGENCY' | 'ORDER_CAPACITY_PRINCIPAL' | 'ORDER_CAPACITY_PROPRIETARY' | 'ORDER_CAPACITY_INDIVIDUAL' | 'ORDER_CAPACITY_RISKLESS_PRINCIPAL' | 'ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER' — The order capacity for the order, which indicates the capacity in which the participant is acting when placing the order. This may be used by the exchange for regulatory reporting purposes. - `ORDER_CAPACITY_UNDEFINED`: An unset value for order capacity uses the default behavior of the exchange, which is typically to treat the order as if it were entered in an individual capacity. - `ORDER_CAPACITY_AGENCY`: The participant is acting in an agency capacity, meaning they are placing the order on behalf of another party. - `ORDER_CAPACITY_PRINCIPAL`: The participant is acting in a principal capacity, meaning they are placing the order for their own account and risk. - `ORDER_CAPACITY_PROPRIETARY`: The participant is acting in a proprietary capacity, meaning they are placing the order for their own account but not for their own risk (e.g., a market maker). - `ORDER_CAPACITY_INDIVIDUAL`: The participant is acting in an individual capacity, meaning they are placing the order for their own account and risk. - `ORDER_CAPACITY_RISKLESS_PRINCIPAL`: The participant is acting in a riskless principal capacity, meaning they are placing the order on behalf of another party but will not assume any market risk (e.g., they will hedge out the position immediately). - `ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER`: The participant is acting as an agent for another member of the exchange.
    - `order_qty` string — The quantity of the order scaled by using the `fractional_quantity_scale`.
    - `participate_dont_initiate` boolean — Indicates if the order should participate but not initiate, meaning it will only take liquidity and not provide it. Often referred to as post-only, an order with this flag set will not match with existing orders at the time of entry, and if it would have matched, it will be cancelled instead. Orders with this flag set may still execute against orders that are entered subsequently that would match with it.
    - `price` string — The limit price for the order scaled by using the `price_scale`.
    - `quote` string
    - `self_match_prevention_id` string — Client assigned Self Match Prevention ID (required to use the optional Self Match Prevention functionality).
    - `self_match_prevention_instruction` 'SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR' | 'SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH' — The self-match prevention instruction - `SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED`: An unset value for the self match prevention instruction uses the default behavior of the exchange, which is to reject the incoming order and allow resting orders to remain on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR`: Reject the incoming aggressor order and allow resting orders to remain on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING`: Cancel any resting orders on the book that would self match and allow the aggressor to insert on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH`: Cancel any resting orders on the book that would self match and reject the aggressor insertion on the book.
    - `session_id` string — The session ID
    - `side` string — The side of the order, indicating whether it is a buy or sell order.
    - `stop_price` string
    - `strict_limit` boolean — Indicates if the order is a strict limit order and must be executed at the specified price.
    - `symbol` string — The trading pair for the order.
    - `symbol_sub_type` string — The sub-type of the symbol, if applicable.
    - `time_in_force` 'TIME_IN_FORCE_GOOD_TILL_CANCEL' | 'TIME_IN_FORCE_IMMEDIATE_OR_CANCEL' | 'TIME_IN_FORCE_FILL_OR_KILL' | 'TIME_IN_FORCE_GOOD_TILL_TIME' — The time in force for the order, which indicates how long the order will remain active before it is executed or expires. - `TIME_IN_FORCE_UNDEFINED`: An unset value for time in force uses the default behavior of the exchange, which is typically to treat the order as a day order that expires at the end of the trading day. - `TIME_IN_FORCE_GOOD_TILL_CANCEL`: The order will remain active until it is executed or cancelled by the participant. - `TIME_IN_FORCE_IMMEDIATE_OR_CANCEL`: The order will be executed immediately at the best available price, and any portion of the order that is not filled will be cancelled. - `TIME_IN_FORCE_FILL_OR_KILL`: The order will be executed immediately at the best available price, and if the entire order cannot be filled, it will be cancelled. - `TIME_IN_FORCE_GOOD_TILL_TIME`: The order will remain active until it is executed or until a specified time in the future, at which point it will expire if it has not been filled.
    - `trigger_method` 'CONDITION_TRIGGER_METHOD_UNDEFINED' | 'CONDITION_TRIGGER_METHOD_LAST_PRICE' | 'CONDITION_TRIGGER_METHOD_SETTLEMENT_PRICE' — The trigger method for the order, used with stop and stop-limit orders to indicate the price that will trigger the order to become active. - `CONDITION_TRIGGER_METHOD_UNDEFINED`: The default trigger method if not specified. The exchange will use its default trigger method for stop orders, which is typically the last traded price but may vary by exchange. - `CONDITION_TRIGGER_METHOD_LAST_PRICE`: The stop order will be triggered based on the last traded price of the symbol. - `CONDITION_TRIGGER_METHOD_SETTLEMENT_PRICE`: The stop order will be triggered based on the settlement price of the symbol, which is typically calculated at the end of the trading day.
    - `type` 'ORDER_TYPE_MARKET_TO_LIMIT' | 'ORDER_TYPE_LIMIT' | 'ORDER_TYPE_STOP' | 'ORDER_TYPE_STOP_LIMIT' — The type of the order, indicating whether it is a limit or market order.
  - object — Limit order request for inserting a new order.
    - `account` string, required — The account associated with the order. This can be either the `participant_code` assigned by zerohash or the `account_label` defined by the platform. - Custom account label : `firms/{platform_code}/accounts/{account_label}`. - General account label : `firms/{platform_code}/accounts/{participant_code}`.
    - `user` 'firms/F-{platform_code}/users/{participant_code}' | 'firms/F-{platform_code}/users/{account_label}' | 'firms/{zerohash}/users/{platform_code}', required — Fully-qualified user. Format: `firms/F-{platform_code}/users/{participant_code}`. This value is case sensitive. ### Clearing House Designations * **USA:** 00SXCM (ZH Clearing House) * **EU:** ZHDSEU ### Prefunded Model * USD balances are ledgered directly to the participants on their CLOB account. * Participants will be credit checked against their available balance on the zerohash platform. * Accounts must be registed with the `prefunded` field as `true` on the `POST /accounts` endpoint. * Trade settlement is handled directly between participants and occurs instantly upon execution. ### Novated Model * Utilizes a central float account to manage the cumulative buying power of your customers. * USD balance is ledgeder to the platforms float account. * USD credit checks must be performed by the platform prior to order placement. * Accounts must be registed with the `prefunded` field as `false` on the `POST /accounts` endpoint. * Allows platforms to manage the buying power of their customers effectively, allowing for better operational efficiency.
    - `side` string, required — The side of the order, indicating whether it is a buy or sell order.
    - `symbol` string, required — The trading pair for the order.
    - `order_qty` string, required — The quantity of the order scaled by using the `fractional_quantity_scale`.
    - `price` string, required — The limit price for the order scaled by using the `price_scale`.
    - `clord_id` string — Client-provided order ID.
    - `self_match_prevention_instruction` 'SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR' | 'SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH' — The self-match prevention instruction - `SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED`: An unset value for the self match prevention instruction uses the default behavior of the exchange, which is to reject the incoming order and allow resting orders to remain on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR`: Reject the incoming aggressor order and allow resting orders to remain on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING`: Cancel any resting orders on the book that would self match and allow the aggressor to insert on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH`: Cancel any resting orders on the book that would self match and reject the aggressor insertion on the book.
    - `all_or_none` boolean — Indicates if the order is an all-or-none order. An all-or-none order will only execute if the entire order quantity can be filled, otherwise it will remain as instructed with regards to time in force and type of the order.
    - `best_limit` boolean — Indicates if the order should be entered at the best available price on the same side of the market.
    - `client_account_id` string
    - `client_participant_id` string
    - `good_till_time` string, date-time, nullable — The time until which the order is valid. If the order has a time in force of `TIME_IN_FORCE_GOOD_TILL_TIME`, then this field will indicate the time until which the order will remain active before it is cancelled by the system.
    - `ignore_price_validity_checks` boolean — Indicates if the order should bypass price validity checks and be accepted even if the price is outside of the normal price bands or limits set by the exchange. This may be used in conjunction with order `type` as `ORDER_TYPE_MARKET_TO_LIMIT` and the `side` as `SIDE_SELL` to bypass the exchange minimum order placement values to liquidate customer positions.
    - `immediately_executable_limit` boolean — Indicates if the order should be executed immediately at the best available price.
    - `min_qty` string
    - `order_capacity` 'ORDER_CAPACITY_UNDEFINED' | 'ORDER_CAPACITY_AGENCY' | 'ORDER_CAPACITY_PRINCIPAL' | 'ORDER_CAPACITY_PROPRIETARY' | 'ORDER_CAPACITY_INDIVIDUAL' | 'ORDER_CAPACITY_RISKLESS_PRINCIPAL' | 'ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER' — The order capacity for the order, which indicates the capacity in which the participant is acting when placing the order. This may be used by the exchange for regulatory reporting purposes. - `ORDER_CAPACITY_UNDEFINED`: An unset value for order capacity uses the default behavior of the exchange, which is typically to treat the order as if it were entered in an individual capacity. - `ORDER_CAPACITY_AGENCY`: The participant is acting in an agency capacity, meaning they are placing the order on behalf of another party. - `ORDER_CAPACITY_PRINCIPAL`: The participant is acting in a principal capacity, meaning they are placing the order for their own account and risk. - `ORDER_CAPACITY_PROPRIETARY`: The participant is acting in a proprietary capacity, meaning they are placing the order for their own account but not for their own risk (e.g., a market maker). - `ORDER_CAPACITY_INDIVIDUAL`: The participant is acting in an individual capacity, meaning they are placing the order for their own account and risk. - `ORDER_CAPACITY_RISKLESS_PRINCIPAL`: The participant is acting in a riskless principal capacity, meaning they are placing the order on behalf of another party but will not assume any market risk (e.g., they will hedge out the position immediately). - `ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER`: The participant is acting as an agent for another member of the exchange.
    - `strict_limit` boolean — Indicates if the order is a strict limit order and must be executed at the specified price.
    - `time_in_force` 'TIME_IN_FORCE_GOOD_TILL_CANCEL' | 'TIME_IN_FORCE_IMMEDIATE_OR_CANCEL' | 'TIME_IN_FORCE_FILL_OR_KILL' | 'TIME_IN_FORCE_GOOD_TILL_TIME', required — The time in force for the order, which indicates how long the order will remain active before it is executed or expires. - `TIME_IN_FORCE_UNDEFINED`: An unset value for time in force uses the default behavior of the exchange, which is typically to treat the order as a day order that expires at the end of the trading day. - `TIME_IN_FORCE_GOOD_TILL_CANCEL`: The order will remain active until it is executed or cancelled by the participant. - `TIME_IN_FORCE_IMMEDIATE_OR_CANCEL`: The order will be executed immediately at the best available price, and any portion of the order that is not filled will be cancelled. - `TIME_IN_FORCE_FILL_OR_KILL`: The order will be executed immediately at the best available price, and if the entire order cannot be filled, it will be cancelled. - `TIME_IN_FORCE_GOOD_TILL_TIME`: The order will remain active until it is executed or until a specified time in the future, at which point it will expire if it has not been filled.
    - `type` 'ORDER_TYPE_MARKET_TO_LIMIT' | 'ORDER_TYPE_LIMIT' | 'ORDER_TYPE_STOP' | 'ORDER_TYPE_STOP_LIMIT', required — The type of the order, indicating whether it is a limit or market order.
  - object — Market to limit order request for inserting a new order.
    - `account` string, required — The account associated with the order. This can be either the `participant_code` assigned by zerohash or the `account_label` defined by the platform. - Custom account label : `firms/{platform_code}/accounts/{account_label}`. - General account label : `firms/{platform_code}/accounts/{participant_code}`.
    - `user` 'firms/F-{platform_code}/users/{participant_code}' | 'firms/F-{platform_code}/users/{account_label}' | 'firms/{zerohash}/users/{platform_code}', required — Fully-qualified user. Format: `firms/F-{platform_code}/users/{participant_code}`. This value is case sensitive. ### Clearing House Designations * **USA:** 00SXCM (ZH Clearing House) * **EU:** ZHDSEU ### Prefunded Model * USD balances are ledgered directly to the participants on their CLOB account. * Participants will be credit checked against their available balance on the zerohash platform. * Accounts must be registed with the `prefunded` field as `true` on the `POST /accounts` endpoint. * Trade settlement is handled directly between participants and occurs instantly upon execution. ### Novated Model * Utilizes a central float account to manage the cumulative buying power of your customers. * USD balance is ledgeder to the platforms float account. * USD credit checks must be performed by the platform prior to order placement. * Accounts must be registed with the `prefunded` field as `false` on the `POST /accounts` endpoint. * Allows platforms to manage the buying power of their customers effectively, allowing for better operational efficiency.
    - `side` string, required — The side of the order, indicating whether it is a buy or sell order.
    - `symbol` string, required — The trading pair for the order.
    - `order_qty` string, required — The quantity of the order scaled by using the `fractional_quantity_scale`.
    - `cash_order_qty` string — The notional value of the order to execute, used with market orders.
    - `clord_id` string — Client-provided order ID.
    - `self_match_prevention_instruction` 'SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR' | 'SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH' — The self-match prevention instruction - `SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED`: An unset value for the self match prevention instruction uses the default behavior of the exchange, which is to reject the incoming order and allow resting orders to remain on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR`: Reject the incoming aggressor order and allow resting orders to remain on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING`: Cancel any resting orders on the book that would self match and allow the aggressor to insert on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH`: Cancel any resting orders on the book that would self match and reject the aggressor insertion on the book.
    - `all_or_none` boolean — Indicates if the order is an all-or-none order. An all-or-none order will only execute if the entire order quantity can be filled, otherwise it will remain as instructed with regards to time in force and type of the order.
    - `client_account_id` string
    - `client_participant_id` string
    - `ignore_price_validity_checks` boolean — Indicates if the order should bypass price validity checks and be accepted even if the price is outside of the normal price bands or limits set by the exchange. This may be used in conjunction with order `type` as `ORDER_TYPE_MARKET_TO_LIMIT` and the `side` as `SIDE_SELL` to bypass the exchange minimum order placement values to liquidate customer positions.
    - `order_capacity` 'ORDER_CAPACITY_UNDEFINED' | 'ORDER_CAPACITY_AGENCY' | 'ORDER_CAPACITY_PRINCIPAL' | 'ORDER_CAPACITY_PROPRIETARY' | 'ORDER_CAPACITY_INDIVIDUAL' | 'ORDER_CAPACITY_RISKLESS_PRINCIPAL' | 'ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER' — The order capacity for the order, which indicates the capacity in which the participant is acting when placing the order. This may be used by the exchange for regulatory reporting purposes. - `ORDER_CAPACITY_UNDEFINED`: An unset value for order capacity uses the default behavior of the exchange, which is typically to treat the order as if it were entered in an individual capacity. - `ORDER_CAPACITY_AGENCY`: The participant is acting in an agency capacity, meaning they are placing the order on behalf of another party. - `ORDER_CAPACITY_PRINCIPAL`: The participant is acting in a principal capacity, meaning they are placing the order for their own account and risk. - `ORDER_CAPACITY_PROPRIETARY`: The participant is acting in a proprietary capacity, meaning they are placing the order for their own account but not for their own risk (e.g., a market maker). - `ORDER_CAPACITY_INDIVIDUAL`: The participant is acting in an individual capacity, meaning they are placing the order for their own account and risk. - `ORDER_CAPACITY_RISKLESS_PRINCIPAL`: The participant is acting in a riskless principal capacity, meaning they are placing the order on behalf of another party but will not assume any market risk (e.g., they will hedge out the position immediately). - `ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER`: The participant is acting as an agent for another member of the exchange.
    - `time_in_force` 'TIME_IN_FORCE_GOOD_TILL_CANCEL' | 'TIME_IN_FORCE_IMMEDIATE_OR_CANCEL' | 'TIME_IN_FORCE_FILL_OR_KILL' | 'TIME_IN_FORCE_GOOD_TILL_TIME', required — The time in force for the order, which indicates how long the order will remain active before it is executed or expires. - `TIME_IN_FORCE_UNDEFINED`: An unset value for time in force uses the default behavior of the exchange, which is typically to treat the order as a day order that expires at the end of the trading day. - `TIME_IN_FORCE_GOOD_TILL_CANCEL`: The order will remain active until it is executed or cancelled by the participant. - `TIME_IN_FORCE_IMMEDIATE_OR_CANCEL`: The order will be executed immediately at the best available price, and any portion of the order that is not filled will be cancelled. - `TIME_IN_FORCE_FILL_OR_KILL`: The order will be executed immediately at the best available price, and if the entire order cannot be filled, it will be cancelled. - `TIME_IN_FORCE_GOOD_TILL_TIME`: The order will remain active until it is executed or until a specified time in the future, at which point it will expire if it has not been filled.
    - `type` 'ORDER_TYPE_MARKET_TO_LIMIT', required — The type of the order, indicating whether it is a limit or market order.
  - object — Stop order request for inserting a new order.
    - `account` string, required — The account associated with the order. This can be either the `participant_code` assigned by zerohash or the `account_label` defined by the platform. - Custom account label : `firms/{platform_code}/accounts/{account_label}`. - General account label : `firms/{platform_code}/accounts/{participant_code}`.
    - `user` 'firms/F-{platform_code}/users/{participant_code}' | 'firms/F-{platform_code}/users/{account_label}' | 'firms/{zerohash}/users/{platform_code}', required — Fully-qualified user. Format: `firms/F-{platform_code}/users/{participant_code}`. This value is case sensitive. ### Clearing House Designations * **USA:** 00SXCM (ZH Clearing House) * **EU:** ZHDSEU ### Prefunded Model * USD balances are ledgered directly to the participants on their CLOB account. * Participants will be credit checked against their available balance on the zerohash platform. * Accounts must be registed with the `prefunded` field as `true` on the `POST /accounts` endpoint. * Trade settlement is handled directly between participants and occurs instantly upon execution. ### Novated Model * Utilizes a central float account to manage the cumulative buying power of your customers. * USD balance is ledgeder to the platforms float account. * USD credit checks must be performed by the platform prior to order placement. * Accounts must be registed with the `prefunded` field as `false` on the `POST /accounts` endpoint. * Allows platforms to manage the buying power of their customers effectively, allowing for better operational efficiency.
    - `side` string, required — The side of the order, indicating whether it is a buy or sell order.
    - `symbol` string, required — The trading pair for the order.
    - `order_qty` string, required — The quantity of the order scaled by using the `fractional_quantity_scale`.
    - `stop_price` string, required
    - `clord_id` string — Client-provided order ID.
    - `self_match_prevention_instruction` 'SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR' | 'SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH' — The self-match prevention instruction - `SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED`: An unset value for the self match prevention instruction uses the default behavior of the exchange, which is to reject the incoming order and allow resting orders to remain on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR`: Reject the incoming aggressor order and allow resting orders to remain on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING`: Cancel any resting orders on the book that would self match and allow the aggressor to insert on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH`: Cancel any resting orders on the book that would self match and reject the aggressor insertion on the book.
    - `all_or_none` boolean — Indicates if the order is an all-or-none order. An all-or-none order will only execute if the entire order quantity can be filled, otherwise it will remain as instructed with regards to time in force and type of the order.
    - `client_account_id` string
    - `client_participant_id` string
    - `good_till_time` string, date-time, nullable — The time until which the order is valid. If the order has a time in force of `TIME_IN_FORCE_GOOD_TILL_TIME`, then this field will indicate the time until which the order will remain active before it is cancelled by the system.
    - `ignore_price_validity_checks` boolean — Indicates if the order should bypass price validity checks and be accepted even if the price is outside of the normal price bands or limits set by the exchange. This may be used in conjunction with order `type` as `ORDER_TYPE_MARKET_TO_LIMIT` and the `side` as `SIDE_SELL` to bypass the exchange minimum order placement values to liquidate customer positions.
    - `order_capacity` 'ORDER_CAPACITY_UNDEFINED' | 'ORDER_CAPACITY_AGENCY' | 'ORDER_CAPACITY_PRINCIPAL' | 'ORDER_CAPACITY_PROPRIETARY' | 'ORDER_CAPACITY_INDIVIDUAL' | 'ORDER_CAPACITY_RISKLESS_PRINCIPAL' | 'ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER' — The order capacity for the order, which indicates the capacity in which the participant is acting when placing the order. This may be used by the exchange for regulatory reporting purposes. - `ORDER_CAPACITY_UNDEFINED`: An unset value for order capacity uses the default behavior of the exchange, which is typically to treat the order as if it were entered in an individual capacity. - `ORDER_CAPACITY_AGENCY`: The participant is acting in an agency capacity, meaning they are placing the order on behalf of another party. - `ORDER_CAPACITY_PRINCIPAL`: The participant is acting in a principal capacity, meaning they are placing the order for their own account and risk. - `ORDER_CAPACITY_PROPRIETARY`: The participant is acting in a proprietary capacity, meaning they are placing the order for their own account but not for their own risk (e.g., a market maker). - `ORDER_CAPACITY_INDIVIDUAL`: The participant is acting in an individual capacity, meaning they are placing the order for their own account and risk. - `ORDER_CAPACITY_RISKLESS_PRINCIPAL`: The participant is acting in a riskless principal capacity, meaning they are placing the order on behalf of another party but will not assume any market risk (e.g., they will hedge out the position immediately). - `ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER`: The participant is acting as an agent for another member of the exchange.
    - `time_in_force` 'TIME_IN_FORCE_GOOD_TILL_CANCEL' | 'TIME_IN_FORCE_IMMEDIATE_OR_CANCEL' | 'TIME_IN_FORCE_FILL_OR_KILL' | 'TIME_IN_FORCE_GOOD_TILL_TIME', required — The time in force for the order, which indicates how long the order will remain active before it is executed or expires. - `TIME_IN_FORCE_UNDEFINED`: An unset value for time in force uses the default behavior of the exchange, which is typically to treat the order as a day order that expires at the end of the trading day. - `TIME_IN_FORCE_GOOD_TILL_CANCEL`: The order will remain active until it is executed or cancelled by the participant. - `TIME_IN_FORCE_IMMEDIATE_OR_CANCEL`: The order will be executed immediately at the best available price, and any portion of the order that is not filled will be cancelled. - `TIME_IN_FORCE_FILL_OR_KILL`: The order will be executed immediately at the best available price, and if the entire order cannot be filled, it will be cancelled. - `TIME_IN_FORCE_GOOD_TILL_TIME`: The order will remain active until it is executed or until a specified time in the future, at which point it will expire if it has not been filled.
    - `type` 'ORDER_TYPE_STOP', required — The type of the order, indicating whether it is a limit or market order.
  - object — Stop limit order request for inserting a new order.
    - `account` string, required — The account associated with the order. This can be either the `participant_code` assigned by zerohash or the `account_label` defined by the platform. - Custom account label : `firms/{platform_code}/accounts/{account_label}`. - General account label : `firms/{platform_code}/accounts/{participant_code}`.
    - `user` 'firms/F-{platform_code}/users/{participant_code}' | 'firms/F-{platform_code}/users/{account_label}' | 'firms/{zerohash}/users/{platform_code}', required — Fully-qualified user. Format: `firms/F-{platform_code}/users/{participant_code}`. This value is case sensitive. ### Clearing House Designations * **USA:** 00SXCM (ZH Clearing House) * **EU:** ZHDSEU ### Prefunded Model * USD balances are ledgered directly to the participants on their CLOB account. * Participants will be credit checked against their available balance on the zerohash platform. * Accounts must be registed with the `prefunded` field as `true` on the `POST /accounts` endpoint. * Trade settlement is handled directly between participants and occurs instantly upon execution. ### Novated Model * Utilizes a central float account to manage the cumulative buying power of your customers. * USD balance is ledgeder to the platforms float account. * USD credit checks must be performed by the platform prior to order placement. * Accounts must be registed with the `prefunded` field as `false` on the `POST /accounts` endpoint. * Allows platforms to manage the buying power of their customers effectively, allowing for better operational efficiency.
    - `side` string, required — The side of the order, indicating whether it is a buy or sell order.
    - `symbol` string, required — The trading pair for the order.
    - `order_qty` string, required — The quantity of the order scaled by using the `fractional_quantity_scale`.
    - `price` string, required — The limit price for the order scaled by using the `price_scale`.
    - `stop_price` string, required
    - `clord_id` string — Client-provided order ID.
    - `self_match_prevention_instruction` 'SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR' | 'SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING' | 'SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH' — The self-match prevention instruction - `SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED`: An unset value for the self match prevention instruction uses the default behavior of the exchange, which is to reject the incoming order and allow resting orders to remain on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR`: Reject the incoming aggressor order and allow resting orders to remain on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING`: Cancel any resting orders on the book that would self match and allow the aggressor to insert on the book. - `SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH`: Cancel any resting orders on the book that would self match and reject the aggressor insertion on the book.
    - `all_or_none` boolean — Indicates if the order is an all-or-none order. An all-or-none order will only execute if the entire order quantity can be filled, otherwise it will remain as instructed with regards to time in force and type of the order.
    - `client_account_id` string
    - `client_participant_id` string
    - `good_till_time` string, date-time, nullable — The time until which the order is valid. If the order has a time in force of `TIME_IN_FORCE_GOOD_TILL_TIME`, then this field will indicate the time until which the order will remain active before it is cancelled by the system.
    - `ignore_price_validity_checks` boolean — Indicates if the order should bypass price validity checks and be accepted even if the price is outside of the normal price bands or limits set by the exchange. This may be used in conjunction with order `type` as `ORDER_TYPE_MARKET_TO_LIMIT` and the `side` as `SIDE_SELL` to bypass the exchange minimum order placement values to liquidate customer positions.
    - `order_capacity` 'ORDER_CAPACITY_UNDEFINED' | 'ORDER_CAPACITY_AGENCY' | 'ORDER_CAPACITY_PRINCIPAL' | 'ORDER_CAPACITY_PROPRIETARY' | 'ORDER_CAPACITY_INDIVIDUAL' | 'ORDER_CAPACITY_RISKLESS_PRINCIPAL' | 'ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER' — The order capacity for the order, which indicates the capacity in which the participant is acting when placing the order. This may be used by the exchange for regulatory reporting purposes. - `ORDER_CAPACITY_UNDEFINED`: An unset value for order capacity uses the default behavior of the exchange, which is typically to treat the order as if it were entered in an individual capacity. - `ORDER_CAPACITY_AGENCY`: The participant is acting in an agency capacity, meaning they are placing the order on behalf of another party. - `ORDER_CAPACITY_PRINCIPAL`: The participant is acting in a principal capacity, meaning they are placing the order for their own account and risk. - `ORDER_CAPACITY_PROPRIETARY`: The participant is acting in a proprietary capacity, meaning they are placing the order for their own account but not for their own risk (e.g., a market maker). - `ORDER_CAPACITY_INDIVIDUAL`: The participant is acting in an individual capacity, meaning they are placing the order for their own account and risk. - `ORDER_CAPACITY_RISKLESS_PRINCIPAL`: The participant is acting in a riskless principal capacity, meaning they are placing the order on behalf of another party but will not assume any market risk (e.g., they will hedge out the position immediately). - `ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER`: The participant is acting as an agent for another member of the exchange.
    - `time_in_force` 'TIME_IN_FORCE_GOOD_TILL_CANCEL' | 'TIME_IN_FORCE_IMMEDIATE_OR_CANCEL' | 'TIME_IN_FORCE_FILL_OR_KILL' | 'TIME_IN_FORCE_GOOD_TILL_TIME', required — The time in force for the order, which indicates how long the order will remain active before it is executed or expires. - `TIME_IN_FORCE_UNDEFINED`: An unset value for time in force uses the default behavior of the exchange, which is typically to treat the order as a day order that expires at the end of the trading day. - `TIME_IN_FORCE_GOOD_TILL_CANCEL`: The order will remain active until it is executed or cancelled by the participant. - `TIME_IN_FORCE_IMMEDIATE_OR_CANCEL`: The order will be executed immediately at the best available price, and any portion of the order that is not filled will be cancelled. - `TIME_IN_FORCE_FILL_OR_KILL`: The order will be executed immediately at the best available price, and if the entire order cannot be filled, it will be cancelled. - `TIME_IN_FORCE_GOOD_TILL_TIME`: The order will remain active until it is executed or until a specified time in the future, at which point it will expire if it has not been filled.
    - `type` 'ORDER_TYPE_STOP_LIMIT', required — The type of the order, indicating whether it is a limit or market order.

## Response `200`

A successful response

- PostInsertOrderResponse
  - `order_id` string — The unique ID for the order generated by zerohash

## Other responses

- `default` — An error occurred

---

[API](https://skmtc.net/zerohash/apis/zerohash-api.md) · [All operations](https://skmtc.net/zerohash/apis/zerohash-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zerohash/zerohash-api/revisions/8b647d934363/schema)
