Skip to main content

Exchange Gateways

The platform integrates six external exchange adapters plus one internal paper-execution gateway, each behind its own stateless gateway module:

  • Binance
  • OKX
  • Bybit
  • Bitget
  • Coinbase
  • Kraken
  • Paper (internal simulation/backtesting venue — no live funds)

Gateway pattern

Each live venue has its own gateway module (core/application/trading/*_exchange_gateway.py) behind a shared factory (vault_gateway_factory.py). This keeps two properties true regardless of how many venues are added:

  1. Credential isolation — per-provider credential scoping reduces cross-exchange blast radius; each gateway only ever sees the credentials for its own venue. This is module-level isolation within a shared backend process, not independent process/container isolation.
  2. Non-custodial by construction — the backend gateway is stateless with respect to credentials; signing happens in the desktop vault (see Security & Compliance). Adding a new exchange means adding a new stateless adapter, not extending a shared credential store.

Paper mode

Every account starts in paper mode by default (see Quickstart). The Paper gateway shares the identical decision/risk pipeline with live venues -- it is not a separate simplified code path. Venue-specific fill quality, latency, slippage, funding, and rejection/outage behavior remain simulated or approximated in paper mode, and are not yet independently verified against live execution on any venue.