FinBlocks Tech
One order, end to end

Nothing reaches the book unchecked.

This is a single order — a member buying 5,000 ACME.EQ at 148.30 for a client account — followed from the moment it arrives to the moment its trade-capture record lands in the back office. Each stage is a gate, and each gate makes a guarantee you can hold us to.

Stages
6
Ingress paths
1
Risk levels checked
3
Journal writes before execution
1

Walkthrough · select a stage

Six gates, in the order the order clears them.

The messages shown are the substance of what crosses the wire, with field names as they appear in the trading API. The FIX 4.4 gateway carries the same semantics under FIX tags.

A member submits a new order over the front-end, the trading API or the FIX gateway. Whichever channel it arrives on, it enters the one ingress.

What this stage guaranteesDuplicate client references are rejected — the engine is idempotent at the point of entry.
On the wirestage 01
NewOrder
  instrument   ACME.EQ
  side         BUY
  type         LIMIT
  qty          5,000
  price        148.30
  tif          DAY
  account      CLIENT
  clientRef    BRK7-0001984
Figure 1Order lifecycle. Stages already passed are capped in vermilion, so the strip doubles as the progress of the order you are following. Each stage shows its message and the guarantee it gives.

Every stage, in one place

The guarantees, side by side.

01 Entry
A member submits a new order over the front-end, the trading API or the FIX gateway. Whichever channel it arrives on, it enters the one ingress.
Guarantee. Duplicate client references are rejected — the engine is idempotent at the point of entry.
02 Identity
Firm, Node, User and Role are taken from the authenticated session — never from the message body. Client-account orders are checked against the client’s registered broker.
Guarantee. Unknown or inactive users, and clients belonging to another broker, are refused before anything reaches the market.
03 Validation
Tick alignment, price bands, minimum and maximum size, session admission and the order type / validity combination for the current session.
Guarantee. A price that is not a multiple of the applicable tick is rejected immediately, before it can affect the market.
04 Risk
Limits are evaluated at clearing member, trading member and end-investor level. Every applicable level must pass.
Guarantee. Rejections identify the limit and the scope that tripped — no guessing at the member’s end.
05 Sequence
The accepted command is assigned its place in a single gap-free sequence and written to an append-only journal before it executes.
Guarantee. No trade exists whose command is not journaled; recovery after any failure is a replay of this record.
06 Match & report
The book matches on price, then order type, then volume disclosure, then time. An execution report returns on the entering session; an enriched trade-capture record follows on the post-trade interface.
Guarantee. Both records carry the same trade identifier, so front and back office reconcile without inference.

When an order is refused

A rejection that does not say why is a support ticket.

Every reject carries a precise, machine-readable reason and the scope that produced it. A member firm’s operations desk should be able to read the response and act on it without opening a ticket, which is why the reason names the limit, the level it was evaluated at, and the value that failed.

  • Tick violation — the price is not a multiple of the applicable tick for that price band.
  • Session admission — the order type and validity combination is not admitted by the session currently running.
  • Buying-power breach — naming which of the clearing member, firm or client limits tripped, and by how much.
  • Unknown or inactive user, or a client-account order for a client that is missing, inactive, or registered to another broker.
  • Duplicate client reference — the engine is idempotent at the point of entry, so a retried submission cannot double an order.
Rejected on the wireexample
ExecutionReport
  status       REJECTED
  clientRef    BRK7-0001991
  reason       RISK_LIMIT_BREACH
  scope        CLIENT C-118204
  limit        BUYING_POWER
  available    741,000.00
  required     889,800.00
  seq          — (not journaled: never accepted)

After the trade

Front and back office reconcile without inference.

Execution report

Returned on the session that entered the order, summarising side, trade quantity, trade price, trade identifier and transaction time.

Trade-capture record

Delivered on the post-trade interface, adding the ISIN, matching type (regular or auction), clearing type, and commissions and fees.

One identifier

Both records carry the same trade identifier. A drop-copy user can be configured to receive every trade-capture and execution report for a firm.

Next step

Tell us about your market. We will show you the engine matching.

A live demonstration runs about an hour: the order book, the Control Panel, an auction uncrossing, and a replay of the journal that produced it.