5.4 Versioning & Changes

Right now the engine is a moving target. If you’re building anything serious on top, define and freeze your own interface:

  • Decide on a stable opportunity schema:

    {
      "id": "SOL-USDC_jupiter_rayduim_1710000000",
      "pair": "SOL/USDC",
      "buy_venue": "jupiter",
      "sell_venue": "raydium",
      "buy_price": 99.8,
      "sell_price": 100.2,
      "spread_pct": 0.4,
      "profit_pct": 0.3,
      "profit_bps": 30,
      "timestamp": 1710000000
    }
  • Wrap the raw engine output and normalize it to that schema before exposing it to clients.

  • Treat the engine repo as a dependency:

    • When you pull upstream changes, you run tests to ensure the schema hasn’t broken.

    • If it has, you adapt in your wrapper, not in 15 downstream services.

In short: Use Capture Engine as a detection microservice. Wrap it once, define your contract once, and don’t let random refactors leak into your whole stack.

Last updated