Thomas Faber
Selected work

Under the hood

A customer invests €1,000.

From their perspective:

€1,000 → Invest → Portfolio

Done.

Underneath, banks, custodians, providers and blockchains require a few more steps.

One instruction, several truths

An investment is not one transaction

An order could execute without settling. A transfer could be pending. A provider event could never arrive. The amount that actually settled could differ from the amount everyone expected five seconds earlier.

So we stopped treating an investment as one transaction with one status. Separate states, reservations and provider evidence let us distinguish what had actually happened from what we were still waiting for.

Interactive investment transaction

Interactive explanation · No connection to financial systems · Representative data only
Representative reconstruction

All values and identifiers below are fictionalized examples.

Selected stage

€1,000 available

Expected

The customer has enough settled cash to invest.

Actual

Available balance is €1,000.00.

Evidence

CUSTOMER_BALANCE
EUR 1,000.00
BALANCE_STATE
AVAILABLE

What can go wrong?

The displayed balance can be stale or already committed elsewhere.

What can happen next?

Reserve the amount before creating an order.

Exception handling

Now make something go wrong.

The product point

A transaction is only useful if you know what happens when it stops.

A happy-path diagram tells you how a transaction should move. The useful product model also tells you what remains true when it stops.

Which funds are reserved? Which provider reference exists? Which amount is expected, and which amount actually arrived? Can the event be replayed safely? Should the system retry, reconcile or ask a person to review it?

Those are product decisions because they determine what the customer, partner and operations team can understand and do next.