Skip to content

External Protocols Overview

Learning objectives

After reading this page you will understand:

  • which external protocols EduMatcher defines and why each exists
  • which protocols are implemented today vs. documented for planned gateways
  • where to find each protocol's formal specification appendix
  • where to find the operational chapters that explain how each protocol is used

Why this page exists

EduMatcher exposes and documents four external protocol families:

  1. ALF
  2. BALF
  3. CALF
  4. RALF

They serve different connectivity purposes. This page is the quick map that connects each protocol to:

  • its purpose
  • runtime status
  • gateway/process context
  • detailed chapters
  • formal protocol reference appendix

Protocol map

Protocol Primary purpose Transport/format Runtime status Typical gateway/process
ALF Human-readable order entry and gateway control Text line protocol (FIELD=VALUE|...) Implemented and active pm-alf-console (interactive) · pm-alf-gwy (TCP)
BALF Low-latency binary order entry for programmatic clients Binary framed protocol Documented; planned gateway process pm-balf-gateway (planned)
CALF External market-data dissemination (top/book/trade/state style channels) Text line protocol over TCP Implemented and active pm-md-gwy
RALF External post-trade dissemination for clearing, drop-copy, and audit consumers Text line protocol over TCP (RALF1) Implemented and active pm-ralf-gwy

ALF (Almost FIX)

ALF is EduMatcher's active, user-facing order-entry protocol. It is used by interactive participant gateways and is the primary way traders submit and manage orders in current deployments.

ALF is available in two runtime forms:

Process Purpose Transport
pm-alf-console Interactive REPL for a human at a terminal — stdin/stdout, tab completion, P&L display Local process; stdin/stdout
pm-alf-gwy TCP gateway for external bots and remote clients — same ALF protocol over a plain TCP socket TCP (default port 5565)

Use ALF when you need:

  • interactive/manual order entry → pm-alf-console
  • educational readability of commands
  • direct access to the full command set
  • an external bot or remote process submitting orders → pm-alf-gwy

Where to read more:

BALF (Binary ALF)

BALF is the binary order-entry protocol family. It targets programmatic clients that need compact framing and lower parsing overhead than text order-entry formats.

In the current User Guide state, BALF is documented as a protocol specification and process concept, but the runtime gateway is listed under planned processes.

Use BALF when you need:

  • binary order-entry framing
  • explicit low-latency protocol design
  • a programmatic session model with binary message layouts

Where to read more:

CALF (Channel ALF)

CALF is the external market-data protocol family. It is designed for subscription-based market-data delivery (channelized streams, snapshot + incremental patterns, and sequence-aware recovery semantics).

CALF is implemented via pm-md-gwy and is used for external market-data distribution with snapshot, incremental, and replay-aware reconnect semantics.

Use CALF when you need:

  • external market-data subscription channels
  • deterministic sequence/reconnect semantics for data consumers
  • a text-based market-data feed for educational and integration scenarios
  • to subscribe to the index for the exchange

Where to read more:

RALF (Reconciliation ALF)

RALF is EduMatcher's active post-trade dissemination protocol. It is used by pm-ralf-gwy to stream post-trade events to external systems such as clearing, drop-copy, and audit consumers.

Use RALF when you need:

  • external post-trade event distribution
  • role-based consumption (CLEARING, DROP_COPY, AUDIT)
  • replay-aware reconnect behavior for downstream systems

Where to read more:

Quick selection guide

If you need to... Protocol to start with
Enter and manage orders from participant terminals ALF (pm-alf-console)
Submit orders from an external bot or remote process ALF (pm-alf-gwy)
Plan binary low-latency order-entry integrations BALF (pm-balf-gwy)
Consume market-data channels externally CALF (pm-md-gwy)
Consume post-trade/clearing/audit streams externally RALF (pm-ralf-gwy)

See also