> ## Documentation Index
> Fetch the complete documentation index at: https://kraken-sandbox.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# New Order Single

> Authenticated command to submit a new order against available liquidity or an open RFQ.

<Note>Authenticated channel. Connect to: `wss://wss.prime.kraken.com/ws/v1`</Note>

Command used to submit a new order either against any provided liquidity or an open RFQ. Results of this command will be visible in the ExecutionReport and Trade streams which will track the lifecycle of the order.

## Request

<Tabs>
  <Tab title="Request Schema">
    <ParamField path="reqid" type="number" required>
      Request ID.
    </ParamField>

    <ParamField path="type" type="string" required>
      Command type. Value: `NewOrderSingle`
    </ParamField>

    <ParamField path="data" type="array" required>
      Order data array.

      <Expandable title="properties">
        <ParamField path="Symbol" type="string" required>
          Symbol of the security to submit an order on (e.g. `BTC-USD`).
        </ParamField>

        <ParamField path="ClOrdID" type="string" required>
          Unique Client Order ID for this request. Format: UUID
        </ParamField>

        <ParamField path="Side" type="string" required>
          Side of the order. Possible values: `Buy`, `Sell`
        </ParamField>

        <ParamField path="OrderQty" type="string" required>
          Order quantity in units of Currency.
        </ParamField>

        <ParamField path="OrdType" type="string" required>
          Order type. Possible values: `Market`, `Limit`, `RFQ`
        </ParamField>

        <ParamField path="Price" type="string">
          Order limit price, required for Limit orders.
        </ParamField>

        <ParamField path="Currency" type="string">
          The currency that the quantity is specified in. If not specified, defaults to the base currency for the symbol.
        </ParamField>

        <ParamField path="TimeInForce" type="string" required>
          Specifies how long the order remains in effect. Possible values: `GoodTillCancel`, `FillAndKill`, `FillOrKill`
        </ParamField>

        <ParamField path="Strategy" type="string">
          Optional order strategy to use for algorithmic orders. Possible values: `SteadyPace`, `StopLimit`
        </ParamField>

        <ParamField path="QuoteID" type="string">
          Optional QuoteID to trade on. Must be specified when OrdType=RFQ.
        </ParamField>

        <ParamField path="RFQID" type="string">
          Optional RFQID to trade on. Must be specified when OrdType=RFQ.
        </ParamField>

        <ParamField path="AllowedSlippage" type="string">
          Optional allowed price slippage for Limit order placed against RFQ.
        </ParamField>

        <ParamField path="TransactTime" type="string">
          Transaction timestamp. Format: ISO-8601 UTC (e.g. `2019-02-13T05:17:32.000000Z`)
        </ParamField>

        <ParamField path="Parameters" type="object">
          Optional order strategy parameters.
        </ParamField>
      </Expandable>
    </ParamField>
  </Tab>

  <Tab title="Example">
    ```json theme={null}
    {
      "reqid": 12,
      "type": "NewOrderSingle",
      "data": [
        {
          "Symbol": "BTC-USD",
          "ClOrdID": "4d489920-15da-11ec-b5e7-7f4881f01b7d",
          "Side": "Buy",
          "TransactTime": "2021-09-15T04:06:28.530000Z",
          "OrderQty": "0.5",
          "OrdType": "Limit",
          "Price": "43000",
          "Currency": "BTC",
          "TimeInForce": "GoodTillCancel",
          "Strategy": "SteadyPace",
          "Parameters": {
            "ErrorAction": "Pause"
          }
        }
      ]
    }
    ```
  </Tab>
</Tabs>

## Supported Order Strategies

### SteadyPace

A schedule-based algorithm that divides an order into suborders (clips) and submits them at equal, user defined intervals.

**Parameters:**

* `ClipSize` (Qty, required): A quantity (subset of the total order size) to send on each execution of the schedule.
* `ClipInterval` (string, required): Time interval between individual clips specified as an interval string.
* `StartTime` (string, optional): Time at which this order will activate and begin sending orders.
* `EndTime` (string, optional): Optional expire time for the order.
* `Variance` (decimal, optional): Optional degree of randomization for clip sizes.

### StopLimit

This strategy will only place the order once the specified stop price has been met.

**Parameters:**

* `TriggerPrice` (Price, required): The price that must be met to trigger execution of the order.
* `EndTime` (string, optional): Optional expire time for the order.
