KESTREL docs
v1.0.0
Get help
● Start · What you need

Requirements
for the server, the apps and the services.

What you need before you install, what each item costs you (paid to the provider, not to us), and what is optional.

Ubuntu 22.04 / 24.04DockerFlutter 3.41Node.js 22

01Server

ItemRequirement
VPSUbuntu 22.04 or 24.04. Minimum 1 vCPU and 1 GB RAM, 2 GB RAM recommended. With 1 GB the installer offers a 2 GB swap file so the web app can be built (install.sh).Required
DiskAbout 10 GB free.Required
Fixed public IPEvery VPS has one. You whitelist it on each exchange key.Required
DomainFor example trade.example.com, with an A record pointing to the VPS. Needed for HTTPS and for the mobile apps. Without a domain the installer serves plain HTTP on the IP, for testing only.Required for real use
Open ports80 and 443 (TCP), 443 (UDP for HTTP/3).Required
DockerDocker Engine with the compose plugin. The installer installs it from Docker's official repository if it is missing.Installed for you
DatabaseSQLite (default, a file inside the Docker volume) or PostgreSQL 16 (an optional container). SQLite is fine for one operator and up to a few hundred users (install.sh).Included
Cost: VPS and domain

The VPS is a monthly fee paid to your hosting provider; the domain is a yearly fee paid to your registrar. The HTTPS certificate is free: Caddy requests it from Let's Encrypt automatically.

02Building the apps

TargetYou need
AllFlutter 3.41.x stable with Dart 3.11 (app/pubspec.yaml: sdk: ^3.11.1, flutter: >=3.41.0).
AndroidAndroid SDK with Java 17. The app targets Android 7.0 (API 24) and newer, compileSdk and targetSdk 36 (app/android/app/build.gradle.kts).
iOSA Mac with Xcode and CocoaPods. iOS 15.0 and newer.
macOSA Mac with Xcode and CocoaPods. macOS 12.0 and newer.
WebNothing extra. The Docker install builds the web app on the server.
Cost: store accounts

Publishing needs your own Apple Developer Program membership (a yearly fee to Apple) and a Google Play developer account (a one-time registration fee to Google). They are not included in the purchase.

03Developer setup without Docker

Only if you want to work on the code: Node.js 22.9 or newer (engines in server/package.json; the Docker image uses Node.js 22) and pnpm 10. better-sqlite3 is a native module; pnpm builds it on install, which needs Python 3, make and a C++ compiler on Linux (the Docker image installs python3 make g++ for this). See Local development.

04Exchange accounts

Each user needs their own account on Binance, OKX, Bybit or Bitget, with an API key created for KESTREL. OKX and Bitget keys have a passphrase. A paper account needs no exchange account at all.

Cost: exchange API

Creating an API key is free on all four exchanges. Orders pay the exchange's normal trading fees, and futures positions pay or receive funding, under each exchange's own fee schedule.

05Optional services

ServiceUsed forCost
Telegram bot (your own, created with BotFather)Notifications in Telegram, Telegram channel signals, the Telegram control commandsFree
SMTP email providerEmail verification codes, security email, email notificationsMany providers have a free tier with a daily or monthly limit; above it you pay the provider
Firebase project (Cloud Messaging)Push notifications to Android, iOS, macOS and webCloud Messaging is free; the free Spark plan is enough
LLM provider (Anthropic or an OpenAI-compatible API, or a local Ollama)The AI assistantPaid per use to the provider (per token); a local model costs only your own hardware

06Not included in the purchase

  • Hosting, domain and a fixed-IP server.
  • Exchange accounts, API keys, trading fees and funding payments.
  • Exchange broker or partner program approval (you apply to each exchange yourself).
  • Apple Developer, Google Play and Firebase accounts.
  • Your Telegram bot, your email provider and your LLM provider's usage.
  • A payment gateway: KESTREL does not charge users.
  • Legal and regulatory review for running a trading service where you and your users live.