INFO

Diff for /documentation/guides/orders/block_orders.md

On this page, you can preview the modified document with the changes.
Note that the links within this diff are most likely broken because they are

  • relative to the original document or

  • point to another document that is not part of the changeset.


Go back to the summary


Block orders

This guide walks you through all aspects of placing an order that you wish to execute at a predefined cut-off time as part of a block order.

How block orders work

Certain investment products require consistent execution quality and timing for orders from different end users. For these cases, Upvest offers execution of orders as block orders. Instead of straight-through execution, orders placed with the execution flow BLOCK remain in NEW state until the predefined cut-off time. The order is then executed together with all other orders belonging to the same block, ensuring consistent execution quality and timing between these orders. While the internal execution logic differs from straight-through orders, all API responses and webhooks function in the same way as straight-through orders.

Execution process

All orders specified with the execution flow BLOCK are added to a block up to 5 minutes before the cut-off time. All orders received after this time are added to the next block. The orders remain in the NEW state until order processing just before cut-off time.

Between the last incoming order and the execution of the order block (PROCESSING state), Upvest

  • validates cash positions for all BUY orders
  • validates security positions for all SELL orders.

If the positions are not available, the order is removed from the block and added to the next block.

After the blocked execution, all orders receive their EXECUTION.FILLED and ORDER.FILLED webhooks as usual.

Blocking criteria

Upvest offers block orders for all investment classes on our platform. Generally, only orders with the same ISIN and with the same side (BUY or SELL) are included in the same block. We also do not combine orders from different clients.

Implementing block orders

You can specify per order whether a specific order should be executed straight-through (normal order processing) or whether the order should be added to a corresponding block order. This allows for maximum flexibility and seamless integration of multiple investment products via the Investments API.

Prerequisites

The 'Block orders' feature is not activated by default. If you want to activate it, please contact your Account Manager.

To execute orders as block orders via Upvest, you must first set one (or multiple) daily cut-off time(s) at which you want your orders to be executed. You must then notify us of the defined cut-off time(s) via your Account Manager.

Placing a block order

After the configuration of the cut-off time, you can place a block order with the following request:

POST /orders

In the request body, specify "execution_flow": "BLOCK".

Example request

{
  "user_id": "2dedfeb0-58cd-44f2-ae08-0e41fe0413d9",
  "account_id": "debf2026-f2da-4ff0-bb84-92e45babb1e3",
  "side": "BUY",
  "client_reference": "My order",
  "instrument_id": "IE00B95PGT31",
  "instrument_id_type": "ISIN",
  "currency": "EUR",
  "order_type": "MARKET",
  "quantity": "10",
  "execution_flow": "BLOCK"
}
INFO

It is only possible to send market orders with the execution flow BLOCK. Both unit and nominal orders are supported.

Overnight block orders

In addition to advising Upvest to execute orders in a block, you can also activate 'Overnight block orders' at tenant level. When this option is enabled, all orders sent outside trading hours are automatically added to a block and executed shortly after the next market opening.

INFO

Note that this feature is not activated by default. If you want to activate 'Overnight block orders', please contact your Account Manager.

Was this page helpful?