KESTREL docs
v1.0.0
Get help
● Documentation · Flutter · Node.js · Self-hosted

KESTREL
crypto trading bots on your own server.

Everything you need to install, configure, brand and run KESTREL: a Flutter app for Android, iOS, web and macOS, and a Node.js server that runs Smart Trades and 24/7 bots on your own Binance, OKX, Bybit and Bitget accounts through trade-only API keys. Read it top to bottom the first time. After that, press / and search.

v1.0.0Flutter 3.41Node.js 22Docker installSQLite or PostgreSQL

01What you bought

AI tools

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 was tested for version 1.0.0, on Node.js 22: the server's TypeScript type check and ESLint pass and its test suite runs 561 automated tests in 58 test files, all passing; on Flutter 3.41, flutter analyze reports no issues and the app's 132 tests pass, including tests that render every screen on phone, tablet and desktop sizes and in Slovak; and the server was started from an empty folder with only a .env file, answered /health and /api/config, created a paper account with 10000 USDT, listed the six bot presets and printed the operator console's one-time setup code. These checks place no order on a live exchange. AI feature of the item: an optional assistant that drafts Smart Trades and bots and explains results, using a language model on your own API key (Anthropic or an OpenAI-compatible provider). It never places an order.

KESTREL is a self-hosted crypto trading product with three parts:

PartWhere it runsWhat it does
Server (server/, Node.js + TypeScript)Your VPS, in DockerTalks to the exchanges with your users' API keys, stores the keys encrypted, runs Smart Trades, bots, algo orders, copy links, alerts and the risk guard 24/7, and serves the API and the operator console.
Web app (app/, Flutter web)The same VPS, behind Caddy with automatic HTTPSThe trading app in any browser. The installer builds and serves it for you.
Mobile and desktop apps (app/, Flutter)Android, iOS, macOSThe same app, built by you with your own name, icon and bundle ID and published under your own store accounts.

The app talks only to your server. The server talks to the exchanges. Bots and Smart Trades keep working when every app is closed.

02Who uses it

WhoWhat they do
You, the operatorInstall the server, open the operator console at /admin, choose the features, brand and limits, connect the optional services (Telegram bot, email, push, AI model) and publish the apps.
Users (you yourself, or your customers in SaaS mode)Register in the app, connect their own exchange accounts with trade-only keys, and trade by hand, with Smart Trades or with bots. Their keys and their funds stay theirs: funds never leave their exchange account.

Two tenancy modes exist (Tenancy): self-hosted, you run KESTREL for yourself with no plan limits, and SaaS, you run it for other people with plans, limits and published copy-trading providers.

03Feature overview

AreaWhat is in the codeRead more
ExchangesBinance, OKX, Bybit and Bitget, spot and USDT perpetual futures, in live, testnet and paper mode. Keys that can withdraw are refused.Exchange API keys
Paper tradingA simulated account with 10000 USDT, filled from live prices. Needs no key.Getting started
TerminalCandle chart with indicators, order book, order ticket (market, limit, stop market, stop limit), leverage, cross or isolated margin, reduce-only, post-only.Terminal and orders
Smart TradeUp to 5 entries and 10 take-profits, trailing take-profit, trailing stop, breakeven after a target, stop steps, timeout, risk-based sizing. Runs on the server.Smart Trade
BotsDCA, Grid (with trailing up and infinity), Trailing buy, Rebalance, Indicator (no-code rule builder) and Signal bots, with presets, templates and backtests.Bots, Signal bots
Algo ordersTWAP and scaled (ladder) orders.Algo orders
Copy tradingMirror a master account onto a follower account with sizing rules; in SaaS mode users can publish an account as a provider.Copy trading
ScannerFunding rates, cross-exchange spreads, a screener, and a two-leg hedge.Scanner and hedge
AI assistantBring your own model. Turns plain text into a Smart Trade or bot draft and explains results. Never executes.AI assistant
JournalEvery position with fills, fees, funding, notes, tags and rating; analytics; CSV export (generic, Koinly, CoinTracking).Journal and analytics
Alerts and notificationsPrice alerts; notifications in the app, by push, Telegram and email, per group.Alerts and notifications
Telegram controlEach user's linked private chat: /status, /pnl, /bots, /kill, /closeall and more, with confirmation codes.Telegram control
SafetyKill switch, PANIC, daily loss and drawdown limits, bot watchdog, audit log, key safety.Safety
Operator consoleThe MIKODES Admin Kit at /admin: brand, features, plans and limits, broker ids, integrations, users, audit, status.Operator console
LanguagesEnglish and Slovak in the app.White label

04What it does not do

  • It does not hold or move funds. There is no deposit or withdrawal feature, and a key with withdraw permission (on Binance, also internal transfer) is refused.
  • It does not pick trades for anyone and it does not promise results. Backtests are labelled simulated, presets carry no performance figures, and the demo build shows no performance numbers.
  • It does not take payments. Plan prices are text the app shows; you sell plans your own way (Revenue options).
  • It works in one-way position mode on futures. Hedge mode is not supported (Hedge mode).

05Where to go next