# Block Execution

Orders that take liquidity enter a short holding block. Maker orders and resting-order cancellations bypass it.

## Order Priority

| Request                                 | Behavior                                               |
| --------------------------------------- | ------------------------------------------------------ |
| Maker order                             | Bypasses the block and can enter the book immediately. |
| Taker order                             | Waits until the block is flushed.                      |
| Cancel of a resting order               | Bypasses the block.                                    |
| Cancel of an order in the current block | Enters the same block as the order.                    |

The active block duration includes small random variation. All products use one shared block schedule.

## Taker-Order Result

The HTTP response confirms that the system accepted the request. It does not contain the later block result.

For a taker order, the immediate response has `filled: "0"`. Listen to WebSocket order and fill streams for the actual result.

Meridian does not publish a separate pending-block status. A client can receive the first order update only after the block flushes.

## Cancel an In-Block Order

A cancel for an in-block order is also provisional. The target order can fill before the cancel is applied.

* If part of the order remains, the cancel removes the remainder.
* If the order fills completely, there is no remainder to cancel. The matching system does not emit a separate cancel result for that remainder.

The HTTP cancel response is provisional. WebSocket updates provide the resulting order state.

## OCO Groups

All products use the same block schedule. This lets the matching system process one-cancels-the-other (OCO) groups atomically across products.

## Stop Orders

After registration, a stop order can trigger on a later mark update. A stop that enters the current block cannot trigger from a mark update in that same block. It can trigger after the block is complete.
