
Kestrel
Crypto Trading Bots - Flutter App With Node.js Server

AI tools were used to assist with parts of the code, documentation and graphics of this item. The author directed the work and reviewed the code before release.
What it does
- Exchange accounts with trade-only API keys (Binance, OKX, Bybit, Bitget; live, testnet, paper)
- Encrypted key vault (AES-256-GCM envelope, master key from env, secrets never returned)
- Paper trading account filled from live prices
- Trading terminal: candle chart with indicators, order ticket (market/limit/stop), leverage, margin mode, reduce/post-only
- Smart Trade: up to 5 entries, up to 10 take-profits, trailing TP, trailing SL, breakeven after TPn, SL steps, timeout, risk-based sizing
- Bots: DCA, Grid (long/short/neutral, trailing, infinity), Trailing/BTD, Rebalance, Signal, Indicator
- No-code indicator rule builder (RSI, EMA/SMA, MACD, Bollinger, VWAP, AND/OR)
- Backtest on historical candles (labelled simulated)
You need
- Node.js >= 22.9 and pnpm 10 (the Docker image uses node:22-slim)
- TypeScript build to dist/ (pnpm build); production start node --env-file-if-exists=.env dist/src/index.js (no tsx at run
- Docker and Docker Compose for the one-command install (install.sh), or a plain Node.js host
- Database: SQLite (better-sqlite3, native build) for one box or PostgreSQL
- KESTREL_MASTER_KEY (32 random bytes, base64); losing it makes stored API keys unreadable