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:
- ALF
- BALF
- CALF
- 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:
- ALF TCP gateway operational guide: ALF TCP Gateway
- Gateway behavior and operator workflow: Gateway Commands
- Process-level role of both ALF processes: Processes
- Engine configuration of allowed ALF IDs/roles: Configuration
- Formal wire syntax and semantics: Appendix - ALF Protocol
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:
- Planned runtime process and position in architecture: Processes
- Protocol design details and message/frame definitions: Appendix - BALF Protocol
- Configuration context and protocol family notes: Configuration
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:
- Market-data concepts and channel model: Market Data Feed (CALF)
- Runtime process and architecture placement: Processes
- Operational client onboarding and examples: Market Data Feed (CALF)
- Formal wire protocol reference: Appendix - CALF Protocol
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:
- Operational deployment and runbook: Post-Trade Dissemination (RALF)
- Process-level role in runtime topology: Processes
- RALF gateway configuration details: Configuration
- Formal wire protocol reference: Appendix - RALF Protocol
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) |