Credits & licences
what KESTREL builds on.
KESTREL uses open-source packages, open fonts and icons, and third-party services. Each keeps its own licence. The full package list ships as THIRD-PARTY-LICENSES.md.
01Summary
The full list with versions and licences is in THIRD-PARTY-LICENSES.md: the server's production npm packages (from server/pnpm-lock.yaml, MIT and ISC) and the app's Dart and Flutter packages (from app/pubspec.lock, BSD, MIT and Apache-2.0). No GPL, AGPL or LGPL package is used. After installing, each package's full licence text is in its own folder (server/node_modules/, and the pub cache for the app).
The application code, including the operator console in server/packages/admin-kit/, is the author's own work, licensed to you under the Envato licence you bought (LICENSE.md).
02Main server libraries
| Package | Used for | Licence |
|---|---|---|
ccxt | The connection to Binance, OKX, Bybit and Bitget | MIT |
hono, @hono/node-server | The web server and API | MIT |
better-sqlite3, pg, kysely | The SQLite and PostgreSQL databases and queries | MIT |
decimal.js | Exact decimal arithmetic for prices and amounts | MIT |
ws | The live WebSocket connection | MIT |
zod | Input validation | MIT |
typescript, tsx, vitest, eslint, typescript-eslint, prettier | Compiling, tests, lint and formatting (development only, not in the production image) | Apache-2.0 / MIT |
Licences are read from each package's package.json.
03Main app libraries
| Package | Used for | Licence |
|---|---|---|
| Flutter and Dart SDK | The app framework | BSD-3-Clause |
flutter_riverpod | State management | MIT |
dio | HTTP client | MIT |
web_socket_channel | Live connection | BSD |
go_router | Navigation | BSD |
fl_chart | Charts | MIT |
flutter_secure_storage, shared_preferences | Storing the session and settings on the device | BSD |
firebase_core, firebase_messaging | Optional push notifications | BSD |
google_fonts, intl, share_plus | Fonts, number and date formats, the share sheet | BSD |
url_launcher | Opening the operator's website, support and legal links (Settings, About) | BSD |
flutter_launcher_icons (dev) | Generating the app icons from assets/icon/ (development only) | MIT |
flutter_lints (dev) | The analyzer rules (development only) | BSD |
04Fonts and icons
- Geist and Geist Mono (by Vercel) and Inter, under the SIL Open Font License 1.1, loaded at run time from Google Fonts through the
google_fontspackage. - Material Icons (Google, Apache-2.0), bundled with Flutter, and Cupertino Icons (
cupertino_icons, MIT).
The app icons are the KESTREL logo, generated from app/assets/icon/ with flutter_launcher_icons; to use your own, see Icons.
05Third-party services
KESTREL connects to these services with your own accounts and keys. Each has its own terms, which you and your users accept with that provider.
| Service | Used for | Required |
|---|---|---|
| Binance, OKX, Bybit, Bitget | Market data and trading through each user's own account | At least one, or paper mode |
| Let's Encrypt (through Caddy) | The HTTPS certificate | Yes, with a domain |
| Docker, Caddy, PostgreSQL | The Docker install (installed from their official images and repositories) | Yes / Yes / Optional |
| Telegram Bot API | Notifications, channel signals, control commands | Optional |
| Firebase Cloud Messaging | Push notifications | Optional |
| Your SMTP provider | Optional | |
| Anthropic or an OpenAI-compatible provider | The AI assistant | Optional |
| TradingView | Sending alerts to signal bots | Optional |
| Koinly, CoinTracking | Import formats of the CSV export (no connection is made) | No |
Exchange and service names and logos are trademarks of their owners. KESTREL is not affiliated with, endorsed by or sponsored by any of them.