Skip to content

Work

Spot–Perpetual Arbitrage System

A C++ spot–perpetual arbitrage engine with a browser operations hub: a fleet table, start/stop, a workflow map and an ack desk that compares language wrappers on the same binary.

  • Software
  • Trading systems
  • Year 2026

What it covers

  1. 01

    Operations map

    The operations map is a reading path: mental model, start-up, quote and order flow, algo notes and a safe-edit order. It sits in the same nav as the live consoles.

    Operations map: reading path from mental model to a safe edit. Account chips are blurred.
    Operations map: reading path from mental model to a safe edit. Account chips are blurred.
  2. 02

    Fleet console

    The fleet table lists each instance — running or not, live or dry, basis, open orders, fills. Start, stop and a holdings strip share the page. API keys and balances on the published screens are empty or blurred.

    Fleet table for BTC, ETH and SOL: running flag, live flag, basis and orders. Balances are empty or blurred.
    Fleet table for BTC, ETH and SOL: running flag, live flag, basis and orders. Balances are empty or blurred.
  3. 03

    Ack desk

    Python, Rust and C++ wrappers start the same performance binary. The desk shows duration, a live-account confirm and a comparison table. The target on the page is on-order p50 under 20 ms; that is a target, not a published result.

    Ack desk: wrapper, duration and comparison pane. Local paths are hidden.
    Ack desk: wrapper, duration and comparison pane. Local paths are hidden.

The problem

The engine, configs, strategy parameters and latency tests were reached over SSH and separate scripts. Seeing which symbol was running, whether it was live, and what the last ack run showed meant assembling several sessions.

How it was built

The engine is C++17: exchange WebSocket and REST, LMDB for local order state, MongoDB for instruments and parameters. The browser hub is a FastAPI app with static pages. The arb page starts one subprocess per symbol from a shared config. The ack desk runs the same performance binary behind Python, Rust and C++ wrappers and ranks on-order latency.

What changed

Operators start and stop the fleet, read pair state and run ack comparisons from one hub. The workflow page keeps the mental model and the safe-edit path next to the controls.

Need a system in this shape?

Describe the process your team runs today. We will say whether a similar internal system is the right next step, or whether a smaller change would do.