ExampleBank TCP demo

ExampleBank is a fictional FX ESP profile for safe redistribution. It exercises FIX 4.4 session management plus a realistic quote → trade path with repeating groups (multiple price levels per quote). Lucid in the same package covers a complementary integration style; start here for raw TCP and log visibility.

If FIX tags and session concepts are new, read Introduction to FIX first.

Roles

Role Script FIX role
Server ./run-server.sh Acceptor — publishes quotes
Client ./run-client.sh Initiator — requests quotes and sends orders

Both sides use the 4H engine with the evaluation licence enforced.

Build and run

cd examplebank-demo
./build.sh
./run-server.sh   # terminal 1
./run-client.sh   # terminal 2

What you will see

  1. TCP connect and Logon (35=A) with agreed Comp IDs
  2. Heartbeats (35=0) while idle
  3. Quote request / Quote — bid and offer levels in repeating groups (tags 295 / 296 style structure)
  4. NewOrderSingle (35=D) against a streamed price
  5. ExecutionReport (35=8) confirming fill or reject

Turn on verbose logging if your build supports it — compare wire timestamps with the session layer lesson.

Message flow (simplified)

Client (initiator)              Server (acceptor)
        |---- Logon ------------>|
        |<--- Logon ack ----------|
        |---- QuoteRequest ------>|
        |<--- Quote (groups) -----|
        |---- NewOrderSingle ---->|
        |<--- ExecutionReport ----|

ROE and benchmarks

The Rules of Engagement in examples/examplebank/ROE.md document message constraints, clip sizes, and watchlist behaviour. The same fictional flow powers published interop and latency matrices — identical payloads across 4H, QuickFIX/J, and FIX Antenna for apples-to-apples comparison.

Next steps