Multi-exchange algorithmic trading platform with arbitrage detection, listing sniper, and DeFi integration
Alpha software. NeutronTrader is under active development. Features work, but interfaces and APIs will change between releases. Use with testnet keys only until v1.0.
NeutronTrader started as a single-exchange Binance testnet bot and has grown into a multi-exchange algorithmic trading platform. It connects to five major exchanges simultaneously, detects cross-exchange arbitrage opportunities in real time, monitors for new token listings to snipe early entries, and includes a DeFi wallet manager for on-chain swaps on Ethereum, Arbitrum, Polygon, and BSC.
Everything runs as a desktop app via Electron — no cloud dependency, no subscription, no custody of your keys.
Aggregates live prices from Binance, Coinbase, Kraken, OKX, and Bybit simultaneously. No API keys required for market data — public endpoints only.
Detects net-profitable spreads across exchanges in real time after accounting for taker fees on both legs. Configurable minimum profit threshold. Plugs into the order manager for automated execution when keys are configured.
Monitors exchange API symbol lists and Binance announcement feeds for new token listings. Fires alerts the moment a new symbol appears. Connects to the sniper engine to place entry orders within seconds of a listing going live.
Create or import wallets for Ethereum, Arbitrum, Polygon, and BSC. Query on-chain balances, pool prices, and execute swaps via Uniswap V3 and PancakeSwap — all from the same desktop UI.
Runs in the Electron main process on a node-schedule cron. Currently implemented:
- SMA — 5/20-period crossover signals
- RSI — Wilder's smoothing, configurable overbought/oversold thresholds
- Bollinger Bands — 2σ band breakout signals
- AES-256-GCM encrypted key vault for exchange API credentials
- Keys never leave the main process — never exposed to the renderer
- PBKDF2 key derivation (100k iterations)
- Per-trade position sizing
- Daily loss circuit breaker (auto-halts trading if daily drawdown limit is hit)
- Manual circuit breaker reset from the UI
- Node.js v18 or higher
- npm
git clone https://github.com/NubleX/NeutronTrader.git
cd NeutronTrader
npm install# Development (Vite dev server + Electron, hot-reload)
npm run dev
# Production build (React → dist/, then package)
npm run distThe dev server runs on port 5173. On Linux, Electron needs --no-sandbox if running as root (Kali):
# If npm run dev opens without a window
electron --no-sandbox .Built packages land in release/:
NeutronTrader-x.x.x.AppImage— portable, runs anywhereneutron-trader_x.x.x_amd64.deb— installs viadpkg -i
Price feed, arbitrage detection, and listing alerts all use public exchange endpoints. Launch the app and the live price grid is already running.
- Open the Exchanges tab
- Enter your API key and secret for each exchange you want to trade on
- Credentials are encrypted and stored locally — never transmitted anywhere
For safe testing, use Binance Testnet keys from testnet.binance.vision.
- Open the Arbitrage tab — opportunities appear automatically from the price feed
- Set a minimum net profit % threshold
- Enable auto-execution (requires exchange credentials for the relevant pairs)
- Open the Sniper tab
- Start the listing detector — it polls exchange symbol lists every 30s and Binance announcements every 60s
- Configure entry size, slippage tolerance, and which exchanges to monitor
- Alerts fire in real time; auto-snipe executes if enabled
- Open the DeFi tab
- Create or import a wallet for any supported chain
- Check on-chain balances and pool prices
- Execute swaps via Uniswap V3 (Ethereum/Arbitrum/Polygon) or PancakeSwap (BSC)
NeutronTrader uses Electron's process isolation to keep API keys and trading logic in the main process, away from the renderer.
main.js ← Electron entry, IPC handlers, cron scheduler
electron/
binanceApi.js ← Legacy Binance testnet HTTP client
priceFeedAggregator.js ← Staggered cross-exchange price polling
riskManager.js ← Circuit breaker, position sizing
orderManager.js ← Multi-exchange order routing
websocketHandlers.js ← WebSocket connection manager
exchanges/ ← Adapters: Binance, Coinbase, Kraken, OKX, Bybit
strategies/ ← ArbitrageEngine, SniperEngine
listingDetector/ ← ExchangeApiPoller, AnnouncementScraper, WebhookReceiver
defi/ ← chainManager, walletManager, UniswapAdapter, PancakeSwapAdapter
security/ ← keyVault (AES-256-GCM), encryption utils
storageService.js ← Persistent trade history and settings (JSON file DB)
preload.js ← contextBridge — exposes window.electronAPI to renderer
src/
App.jsx ← Root; tab navigation
components/ ← Dashboard, TradeSetup, TradingHistory, DiagnosticTest, ...
services/ ← binanceService.js (IPC wrapper), diagnostic utilities
IPC between renderer and main process uses ipcRenderer.invoke (request/response) and ipcRenderer.on (push events). The renderer never has direct access to Node.js APIs.
This is alpha software. Until v1.0:
- Prefer testnet keys over real exchange credentials
- The DeFi wallet manager is experimental — do not import wallets holding significant funds
- No audit has been performed on the key vault implementation
Contributions welcome. See CONTRIBUTING.md and the roadmap for what's planned.
- Binance — Testnet API
- Electron — Desktop framework
- React — UI
- ethers.js — EVM chain interaction
- Recharts — Charts
Visit idarti.com


