Platforms

One native desktop app. Six reasons it's not a web build.

Market making, cross-exchange arbitrage with on-chain transfers, and live multi-session quoting deserve a real desktop client. We picked Tauri v2 over Electron for the smaller footprint and the security model. Here's the operator-level case.

01

Sub-100ms fill-to-screen

Order updates from the bundled Node sidecar reach the UI over an in-process channel, not a public WebSocket. A market-making session quoting a tight spread sees its fill before a browser tab would have finished the round-trip to a SaaS API.

Local IPC vs ≥150ms cloud round-trip

02

Your API keys never leave the box

Exchange API keys are encrypted client-side with AES-256-GCM and stored locally. The ciphertext is not synchronised, not backed up to our servers, not present on any third-party device. A web app cannot match this — at minimum, the keys would have to traverse the browser session.

Zero key exposure to our infrastructure

03

Works offline (sort of)

The bundled SQLite database lets you review trade history, PnL reports, and audit logs with no internet at all. The exchange connectors obviously need network to trade, but everything analytical keeps working — useful when your provider drops and you need to know what just happened.

Analytics & audit log: offline-capable

04

Native OS notifications + system tray

Alerts fire as Windows toast / macOS Notification Center entries — they survive a closed browser tab and respect Do-Not-Disturb. The tray icon shows live active-session count without you needing to refocus the app.

Toast + tray badge, no permission dance

05

Signed auto-updates

v1.0.33 ships with a Tauri signed-update channel. The desktop checks our manifest on startup and every 6 hours; if a newer build with a valid signature is available, a snackbar offers to install it. Bundles without a signature matching the embedded public key are rejected — no man-in-the-middle, no fake installer.

Ed25519 signed bundles only

06

Bundled Node sidecar — zero deploy

The Node.js runtime and the entire compiled server bundle ship inside the installer. No `node_modules` install, no Docker, no port collisions with your other tools. Tauri spawns the sidecar at startup, waits for the health check, then shows the window.

Single 33 MB installer, zero post-install config

Android companion · v0.1.1

Your desktop. In your pocket.

A thin Android companion that pairs with your desktop over LAN. It NEVER holds your exchange API keys — every authenticated call still happens on the desktop, with biometric-gated approval from the phone for sensitive actions.

Biometric-gated approvals

Withdraw gate, sell gate, and stop-loss confirmation each require a fresh Face/fingerprint check on the phone. Approve a cross-exchange withdraw while you're at lunch instead of running to your desk.

Push notifications via FCM

Sub-second alerts on approval-needed, stop-loss fired, auto-pause, and confirmed deposits. Tap the notification to land directly on the right tab — Approvals, Sessions, Spreads.

Read-only by design

Sessions list, opportunities feed, wallet, alerts — all read-only. Exchange API keys never leave the desktop. Worst-case theft of the phone reveals trade history, not funds.

Built with Android Studio

No EAS, no Expo cloud, no third-party CI. The APK is built locally with gradle + Android Studio and self-distributed from this same server.

CryptoRoute-mobile.apk

Android 8.0+ · 73 MB · sideload only · pairs over your home WiFi

Before pairing, enable the desktop's LAN listener: MOBILE_API_ENABLED=1.

Get APK

What's in the installer

One file. Everything to trade.

The Windows installer (CryptoRoute_1.0.38_x64-setup.exe, 33 MB) bundles the Tauri shell, a portable Node runtime, the compiled server, the React UI, and a clean SQLite database. No prerequisites, no separate downloads.

ShellTauri v2 (Rust core, ~6 MB)
UIReact 19 + Vite 6 + MUI 6 + Zustand
ChartsLightweight-charts + Recharts
SidecarNode 22 + Express + Pino, bundled inline
DBSQLite (better-sqlite3) — single .db file
Updatestauri-plugin-updater, Ed25519 signed manifest
EncryptionAES-256-GCM, scrypt-derived per-user key

System requirements

Spec sheet

Desktop

OS
Windows 10 / 11 (64-bit). macOS 12+ in beta.
CPU
Dual-core 2 GHz+ (any reasonably modern x86_64)
RAM
4 GB minimum, 8 GB recommended for MM sessions
Disk
~150 MB installed (incl. bundled Node runtime)
Network
Stable broadband, outbound 443 to exchanges
Background CPU
≈1–3% idle, ≈8–15% during MM quoting

The objections, answered

“But isn’t a web app more convenient?”

Can I run CryptoRoute on a Chromebook or iPad?

No. Both lack the local compute and persistent-process model the market making engine needs. If portability matters more than performance, this isn't the tool for that workflow.

What if I'm away from my desktop?

Configure Telegram or email alerts in Settings — they fire when a trigger condition hits. For execution while away, you'd need to leave the desktop running; the auto-pause watchdog keeps an idle MM session from drifting into a bad inventory state.

Why Tauri instead of Electron?

Smaller installer (~33 MB vs ≥120 MB for an equivalent Electron app), uses the OS-native WebView instead of bundling Chromium, and the Rust core is faster to audit for security.

Is the macOS build the same product?

Yes — same React UI, same Node sidecar, same SQLite layout. The macOS build lags Windows by 1–2 releases while we finalise notarisation; v1.0.19 is the last shipped macOS bundle and v1.0.33 is currently in QA.

Download. Install. Start trading.

Future versions install in-app via the signed auto-updater — this is the last time you'll have to download anything by hand.