Technology

Built for market making.

An in-house, event-driven trading stack. Every layer, from market-data decoding to risk and execution, is written and operated by our own team.

Eight layers, one direction.

Dependencies only ever point downwards. The control plane never touches an order; the engine never talks to a venue directly; every cross-module message goes through one bus with one schema.

  • Six supervised processes with an enforced start-up order
  • Protobuf-framed message bus with write-ahead logging and replay
  • Tiered back-pressure: depth, funding and order messages are never dropped
01 Control planeFastAPI dashboard, GRPC control, alert WebSocket02 Event engineasyncio core, isolated queues, strategy sandbox03 Message busMemory + TCP bus, Protobuf frames, WAL replay04 Business modulesCache, strategy, risk, execution, analytics05 GatewayOrder normalisation, signing, per-venue limits06 Exchange adaptersOKX, Binance, KuCoin, dual-channel WebSocket07 Tick decoderCompiled decoder for raw exchange frames08 External resourcesExchange APIs, partitioned storage, time-series DB

The stack.

Four systems that share one code path, so what we test is exactly what we run. Keep scrolling.

01 / 04

Market Data

Direct WebSocket feeds from OKX, Binance and KuCoin, with no REST polling on the hot path. Each venue and product type runs on its own connection, heartbeat and reconnection logic, so a stall in one stream never touches another.

  • Compiled tick decoder and unified normalisation across venues
  • Independent channels for spot and derivatives
  • Cross-venue time synchronisation with dual-precision timestamps
02 / 04

Execution Engine

An asynchronous, event-driven core with isolated queues for market data, orders and risk. Strategies run in sandboxes, so one instance cannot affect another, and every order is tracked through its full lifecycle.

  • Per-venue rate limiting and native order conversion
  • Sandboxed strategy instances with hot reload
  • Full order lifecycle tracking with exchange reconciliation
03 / 04

Risk Management

Three tiers, none of them optional. Pre-trade checks gate every order; live monitoring raises graded alerts and de-risks automatically; post-trade reconciliation confirms what actually happened on the venue.

  • Twelve pre-trade checks on position, size, loss, leverage and margin
  • Graded alerts with automatic de-risking actions
  • Circuit breaker to read-only on abnormal error rates
04 / 04

Backtesting

The same engine, risk and execution code as live trading, fed by reconstructed order books. Queue position, latency, slippage and funding settlement are modelled with deterministic seeds, and every model is calibrated against live fills before a strategy is promoted.

  • Order-book reconstruction with queue-position simulation
  • Latency, slippage and funding-settlement models
  • Calibration against live fills before promotion

Risk is a system, not a setting.

Every order passes twelve pre-trade checks. While positions are open, seven live rules watch margin, drawdown, funding, volatility and connectivity, escalating through a fixed ladder of actions. After the fact, fills and balances are reconciled against the venue.

  • Actions escalate from blocking an order to freezing a symbol
  • Full close-out is a human decision, never automatic
  • A circuit breaker drops the whole system to read-only on abnormal error rates
Pre-trade12 checks on every orderPosition and exposurePer-order sizeDaily lossLeverage and marginIn-tradeLive monitoring, gradedMargin ratio, 4 tiersIntraday drawdown, 3 tiersFunding and volatilityChannel healthPost-tradeReconciliation and auditFills vs exchange recordsPosition and balanceAppend-only audit logRecovery reconciliationBlock orderReduce onlyHalt strategyFreeze symbolRead-onlyESCALATION LADDERCircuit breaker: abnormal error rate switches the system to read-only

Test what you run.

Our backtester is not a separate simplified model. It is the live engine with the exchange swapped for a simulator that rebuilds the order book tick by tick, tracks where our orders sit in the queue, and delays every order and every market update realistically.

  • Fixed, normal or empirical latency distributions
  • Thin-book slippage by walking real depth, not a formula
  • Funding settlement, maker and taker fees, bit-for-bit reproducible runs
  • Single runs, parameter grids, walk-forward validation and live replay
EQUITY CURVE, ILLUSTRATIVEORDER LATENCY PERCENTILESP50P95P99Same code path as liveQueue position, latency and slippagemodelled; bit-for-bit reproducible

One screen for the whole desk.

The control plane is an isolated web service on an internal network. It receives light-weight snapshots from the engine and sends control commands back over an internal RPC channel. It never sees raw market data and cannot place an order by hand.

  • Strategy editor with sandbox validation
  • Parameter panel with hot updates
  • Batch start, stop and reload
  • P&L, trades and positions
  • Connection health per venue and channel
  • Five-level log search
  • Independent alert channel with P0 and P1 popups
  • Emergency panel and kill switch
control plane, internal networkStrategiesParametersMonitoringTradesConnectionsLogsEmergencyDAILY PNL+0.00per-strategy and per-venue breakdownOKXspot / swapBinancespot / swapKuCoinspot / swapALERTSINFOmargin ratio tier 1WARNchannel reconnect, KuCoin swapP1intraday drawdown tier 2CHANNELSWS spotokWS swapokRESTokRate limitclearEMERGENCYStop allClose spotClose perpsRestart adapterKill switch

Built for uptime.

Market making only works if you are there. Our operations are designed to stay up, degrade safely and recover cleanly.

Supervised processes

Enforced start-up order and automatic restart of every component.

Write-ahead logging

Every event is persisted and can be replayed after an interruption.

Graceful recovery

State snapshots, orderly shutdown and exchange reconciliation on restart.

Failure playbooks

Graded procedures for channel, venue and full-exchange outages, rehearsed quarterly.

Under the hood.

Boring choices, made deliberately.

Python 3.12 core

Structured concurrency with an accelerated event loop, CPU pinning for hot processes, and a compiled decoder where raw frames arrive.

Exact data

Every price and quantity carried as an exact decimal, dual-precision timestamps on every event, partitioned storage per venue and product.

Staged go-live

Backtest, then simulated trading on live feeds, then small-size live with tightened limits, then expansion venue by venue.

Want to know more?

We are happy to walk through our architecture and controls with prospective partners.