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
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.
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?