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.
01Server
| Item | Requirement | |
|---|---|---|
| VPS | Ubuntu 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 |
| Disk | About 10 GB free. | Required |
| Fixed public IP | Every VPS has one. You whitelist it on each exchange key. | Required |
| Domain | For 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 ports | 80 and 443 (TCP), 443 (UDP for HTTP/3). | Required |
| Docker | Docker Engine with the compose plugin. The installer installs it from Docker's official repository if it is missing. | Installed for you |
| Database | SQLite (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 |
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
| Target | You need |
|---|---|
| All | Flutter 3.41.x stable with Dart 3.11 (app/pubspec.yaml: sdk: ^3.11.1, flutter: >=3.41.0). |
| Android | Android SDK with Java 17. The app targets Android 7.0 (API 24) and newer, compileSdk and targetSdk 36 (app/android/app/build.gradle.kts). |
| iOS | A Mac with Xcode and CocoaPods. iOS 15.0 and newer. |
| macOS | A Mac with Xcode and CocoaPods. macOS 12.0 and newer. |
| Web | Nothing extra. The Docker install builds the web app on the server. |
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.
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
| Service | Used for | Cost |
|---|---|---|
| Telegram bot (your own, created with BotFather) | Notifications in Telegram, Telegram channel signals, the Telegram control commands | Free |
| SMTP email provider | Email verification codes, security email, email notifications | Many 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 web | Cloud Messaging is free; the free Spark plan is enough |
| LLM provider (Anthropic or an OpenAI-compatible API, or a local Ollama) | The AI assistant | Paid 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.