The Spark Client SDK is a high level command and control API which can be used to build scripts or integrate Spark into your existing ecosystem. The API is divided into several independent "services" responsible for different aspects of the system. A Service can define both remote procedure call (RPC) and incremental streaming data.

The Spark Desktop is built on top of this API so you can be assured that it is complete and well tested.

Spark uses Google Protocol Buffers as an interface definition language similar to GRPC but backed by our custom high-performance TCP protocol. We currently support C#/.NET and C++ but the architecture is designed for easy extension so contact us about your specific business needs.


Use the OrderService to send and manage orders including native exchange orders, spreader orders, and custom Algo orders created using the Spark Server SDK.


Use the SyntheticSecurityService to create and manage synthetic spreads. Once created these spreads show up in the security and market data feeds just like exchange listed spreads.


Use the PositionService to get your position and P&L reports or add fills manually to keep the Spark system up to date with an external system.


Use the AdminService to manage users and control limits.

Market Data

For .NET subscribe to market data though the high level MarketDataClient interface. From C++ or JavaScript use the MarketDataRelay service directly.