Introduction

   The Internet Financial Exchange (IFEX) protocol facilitates the
   negotiation of financial transactions between internet-based
   financial endpoints.  No assumptions are made about asset type,
   settlement network, pre-existing trust relationships, communications
   topology, or security encapsulation.  IFEX provides a building block
   with which the internet community can develop viable, high
   performance, low latency, highly available, flexible topology
   alternatives to legacy financial systems.

   IFEX is a message oriented, transport neutral, state based protocol.
   IFEX messages support both a request/response model and event
   notification.  Transport neutrality allows for extensibility and
   facilitates the use of high performance, low latency, highly
   available, flexible-topology messaging architectures such as
   [ZEROMQ], which ensures that IFEX remains competitive for low latency
   high frequency trading (HFT) systems.

   Compared to existing financial services protocols such as [FIX],
   [OFX] and [SWIFT], IFEX provides an open, flexible, globalized,
   'legacy free'*, high performance alternative with broader deployment
   potential, more tightly circumscribed scope, and ample means for the
   extension.

   * 'Legacy free' refers to the removal of additional features present
     in contemporary financial protocols for reasons of backwards
     compatibility or ease of migration from still earlier systems.
     Optionally, substitute 'clean slate' or 'green field' as preferred.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in BCP 14, RFC 2119
   [RFC2119].

Comments