Submit Iceberg Order

Submit a new Iceberg order for execution.

This operation uses the same OpenAPI endpoint as Smart Balance. Set portfolioType to ICEBERG and provide icebergTrade.

Endpoint

POST /tt/themis-broker/openapi/portfolios/submit

Authentication: HMAC apiKey signature via REST headers. See Authentication.

Parameters

Top-level fields — the request body is flat, with no envelope.

Parameter Type Required Description
accountId long true Reality account ID
portfolioType string true Must be ICEBERG
strategy string false Free-text strategy label
icebergTrade object true Iceberg slicing and timeout configuration (see below)
legs array true Array containing exactly 1 Leg object; Iceberg does not support multiple legs
customizedNote string false Maximum 100 characters
sendToDummyAccountIds array false Array of long account IDs to mirror the order to

icebergTrade fields — required when portfolioType = ICEBERG.

Parameter Type Required Description
parts int one of parts/eachQuantity Number of slices; must be greater than 0
eachQuantity decimal one of parts/eachQuantity Quantity per slice; must be greater than 0
totalLimitMs long true Total time limit in milliseconds; 0 disables the total timeout
totalEndAction int false 1 CANCEL_REMAINING / 2 FILL_REMAINING_BY_MARKET; default 1

Provide exactly one of parts or eachQuantity. Providing both, or neither, is invalid.

legs[].Leg — the single leg of the order.

Parameter Type Required Description
instrument string true Exchange symbol
instrumentType string true OPTION / PERPETUAL / DELIVERY_FUTURES / SPOT
side int true 1 BUY / 2 SELL
quantity decimal true Total order quantity before slicing
priceOptions object true Price configuration (see below)
priceSnapshot array false Reference prices captured at submit time for audit
timeInForce int false 1 GTC / 2 IOC / 3 FOK / 4 GTD
postOnly boolean false Default false
reduceOnly boolean false Default false
hidden boolean false Default false
tradeMode int false 1 CASH / 2 CROSS / 3 ISOLATED
positionSide int false 1 LONG / 2 SHORT / 3 NET
hedge boolean false Hedge flag; default false

priceOptions — nested under the leg.

Parameter Type Required Description
priceType string true LIMIT / MARKET / DYNAMIC
price decimal when priceType=LIMIT or DYNAMIC Order price
priceIn string when priceType=LIMIT or DYNAMIC Price currency or IV, as supported by the instrument and exchange
dynamicPriceStrategy string when priceType=DYNAMIC MID / MARK / MODEL / BID / ASK
dynamicPriceOffset decimal false Offset applied to the dynamic reference; may be negative
dynamicMs long when dynamicPriceStrategy is provided Reprice interval in milliseconds

Request Example

POST /tt/themis-broker/openapi/portfolios/submit HTTP/1.1
Authorization: Bearer <api-key>
Signalplus-API-Timestamp: 1776665215780
Signalplus-API-Nonce: e43b0618-6965-4b0b-a62d-a3a4f78eed52
Signalplus-API-Signature: <base64 hmac>
Content-Type: application/json

{
  "accountId": 10003443,
  "portfolioType": "ICEBERG",
  "strategy": "Iceberg",
  "customizedNote": "five-slice iceberg order",
  "icebergTrade": {
    "parts": 5,
    "totalLimitMs": 600000,
    "totalEndAction": 1
  },
  "legs": [
    {
      "instrument": "BTC-25DEC26-40000-P",
      "instrumentType": "OPTION",
      "side": 1,
      "quantity": 10,
      "priceOptions": {
        "priceType": "LIMIT",
        "price": 0.031,
        "priceIn": "BTC",
        "dynamicPriceStrategy": null,
        "dynamicPriceOffset": null,
        "dynamicMs": null
      },
      "priceSnapshot": [],
      "timeInForce": 1,
      "postOnly": false,
      "reduceOnly": false,
      "tradeMode": 2,
      "positionSide": 3
    }
  ]
}

Response Example

{
  "succ": true,
  "code": 0,
  "message": "",
  "value": {
    "portfolioId": 144115188955249274
  }
}

Response

Name Type Description
portfolioId long Newly created portfolio ID; use this for /info, /cancel, and WebSocket correlation

results matching ""

    No results matching ""