Free & Source-Available

CYRUS

— AUTOMATE CRYPTO TRANSACTIONS —

A desktop automation engine for cryptocurrency trading. Set rules once — Cyrus watches your orders, balances and prices, keeps any one coin from taking over your portfolio, and converts or withdraws automatically across Kraken, Coinbase, Binance, and Robinhood.

Latest release: v1.2.4 · Windows x64 · No Python or Node required

4 Exchanges
Automation Rules
AES API Key Encryption
0 Cloud Accounts

Your whole portfolio, at a glance.

One unified dashboard for balances, open orders, live prices, and the automations running quietly in the background — across every connected exchange. Resting limit orders get their own card, split buy against sell, so you can see what you have working before you drill in.

Cyrus — Overview
Cyrus overview dashboard: tiles for portfolio value, 24h change, open orders, limit orders, automations and allocation caps, above a portfolio doughnut, a live BTC/USD chart, biggest holdings with seven-day trend lines, and a resting limit orders card split into buys and sells
Capabilities

Everything you need to automate crypto.

Connect your exchange API keys, define your rules, and let Cyrus handle the rest — running silently on your desktop.

Automation Rules

Trigger actions when an order fills, a balance crosses a threshold, or a price hits your target. Price rules read every minute's high and low, so a spike that comes and goes between checks still counts. Withdraw to a saved address or convert one asset into another — all automatically.

📊
Real-Time Order Monitoring

Watch your open orders across all connected exchanges with automatic refresh in the background. No browser tabs required.

🔗
Multi-Exchange Support

Connect Kraken, Coinbase Advanced, Binance, and Robinhood simultaneously. Manage all your exchange accounts from a single application window.

🔔
Desktop Notifications

Get native Windows notifications the moment an automation rule executes. Toggle per-account from your profile settings.

🗄
Fully Local Storage

All data lives in a local SQLite database under your AppData folder. No cloud sync, no account, no telemetry. Your API keys never leave your machine. Only two things go out at all: coin fundamentals from a public market-data API, which sends nothing but a ticker; and, if you switch the AI assistant on, your portfolio summary to Anthropic under your own key. Both are optional and neither is on by default.

Cooldown Controls

Prevent runaway automation with configurable cooldown periods on every rule. Set the minimum time between executions and trade with confidence.

🟢
Live Engine Status

A heartbeat on the Automations page shows exactly when your rules were last checked — so you never have to wonder whether automation is actually running.

🖥
Runs in the Tray

Close the window and Cyrus keeps working from the system tray. Enable start-at-login so your rules survive a reboot without you thinking about it.

Portfolio Balancer

Cap how much of your portfolio any one coin can become. Drag the ceiling on a bar chart, and when a holding grows past it, Cyrus sells just the excess into the asset you choose. Simulate-only mode lets you watch it decide before it trades.

🔍
Holdings Detail

Market cap, circulating versus maximum supply, all-time highs and how far below them you are, momentum over 1h to 30d — with your own position sized against all of it. Sortable, and honest about where each number came from.

🪜
Staggered Limit Ladders

Spread a buy or a sell across dozens of rungs in one pass. Choose the span by percentage or exact price, commit a share of your balance, and let Cyrus size every rung to the exchange's own tick grid — rotating through several quote currencies if you want.

🔁
Transfer History

Every deposit and withdrawal across your exchanges, backfilled to the beginning and stored locally so the page opens instantly. Filter by exchange, type or coin. Exchanges only ever report their own side of a transfer, and Cyrus says so rather than guessing who owns the far end.

AI Assistant

Ask what you hold, or say what you want done — "cancel all my BTC sell limits", "send BTC to my Tangem wallet when the balance passes 3". It finds the real order ids and address keys and builds the request; nothing runs until you approve a card showing exactly what will happen. Optional, off until you add your own Anthropic API key.

📋
Explainable Execution Log

Every run is recorded — and so is every skip, with the reason. Below threshold, under an exchange minimum, cooling down: nothing happens without an explanation.

Exchange Compatibility

Supported exchanges and features.

Different exchanges expose different APIs. Here's exactly what Cyrus can do on each one.

Feature Kraken Coinbase Advanced BETA Binance BETA Robinhood BETA
View open orders
Place limit orders & staggered ladders
Post-only (maker) limit orders
Cancel an open order
View account balances
Trigger: Order filled
Trigger: Balance threshold
Trigger: Price target
Trigger: Allocation cap (balancer)
Catches price spikes between checks
Holdings fundamentals (market cap, supply, ATH)
Action: Convert crypto
Action: Withdraw to address
Whitelisted withdrawal addresses
Getting Started

Up and running in minutes.

The installer packages everything — no Python, no Node.js, no manual setup required.

01
Download the installer

Grab Cyrus.Setup.1.2.4.exe from the latest release. The installer is fully self-contained — Python, Flask, Electron, and SQLite are all bundled inside.

02
Install and launch

Run the installer and follow the setup wizard. Cyrus installs to C:\Program Files\Cyrus by default and creates Start Menu and Desktop shortcuts. First-time users will see a Windows SmartScreen prompt — click "More info" → "Run anyway."

03
Create your account

On first launch, create a local account with a username and password. Your account data lives entirely on your machine in an encrypted SQLite database — nothing is sent to any server.

04
Connect your exchange

Go to Profile → Exchange Connections. Enter your exchange API key and secret (read + trade permissions recommended), then click Test to validate. Your keys are encrypted at rest using AES-128. Robinhood is the exception — it issues no secret at all, so Cyrus explains what it needs and offers a small key generator you can download and run offline to create the keypair yourself.

05
Create your first automation rule

Open Automations and configure a trigger — an order fill, a balance threshold, a price target, or an allocation cap — paired with an action like converting an asset or withdrawing to a saved address. Price rules read every minute’s high and low, so a spike between checks still counts. Cyrus checks your rules every minute in the background, and shows you when it last did.

Security

Your keys. Your machine. Your data.

Cyrus was designed from the ground up to keep your exchange credentials and trade data fully local and encrypted.

AES-128 Encryption

Exchange API keys are encrypted with Fernet symmetric encryption before being stored. The key is derived from your Flask SECRET_KEY via SHA-256.

Bcrypt Password Hashing

Passwords are hashed using bcrypt with 12 salt rounds. Plaintext passwords are never stored or logged anywhere in the application.

JWT Session Tokens

Authentication uses short-lived JWT tokens that expire after 30 days. All API requests use SQL prepared statements to prevent injection attacks.

Offline-First Architecture

No cloud accounts, no remote telemetry, no analytics. The backend listens on localhost only and is never exposed to your network. Out of the box the single outbound request is to a public market-data API for coin fundamentals on the Holdings page, and it sends nothing but a ticker symbol.

The AI Assistant Is Opt-In

Off until you add your own Anthropic API key, and it is the one feature that sends portfolio data off your machine — your holdings, rules and resting orders go straight to Anthropic under your key, with no Cyrus server in between. The key is encrypted at rest like your exchange credentials. It can never move funds on its own: reading is automatic, but every cancel, order and rule waits on a confirmation card built from the exact values about to be sent, and it can only reach addresses you have already whitelisted on the exchange.

Tech Stack

Built on solid foundations.

A modern Electron + Python architecture, packaged into a single Windows installer.

TypeScript
Electron
Python 3.11+
Flask
SQLite
CCXT
PyInstaller
electron-builder
Other Tools

Free tools, no account needed.

Small browser-based tools for crypto and personal finance, built alongside Cyrus. Each one runs entirely on your machine — nothing you type is uploaded, and there is nothing to install.

Flash Crash Stress Test

Pick a crash target for XLM and see where thirteen other coins land. Runs a correlated Monte Carlo simulation in your browser and reports the tail risk — 95% and 99% VaR, expected shortfall and max drawdown — for every asset.

Monte Carlo Tail Risk 13 Assets
Open tool
More on the way

Further crypto and finance tools will land here as they are finished. If there is something you would find useful, the contact form below reaches me directly.

Coming soon
Support the Project

Support the project.

Cyrus is free for personal use and its source is public. Every contribution — however small — goes directly toward continued development.

Patreon
Join the Patreon

Get behind-the-scenes updates, early builds, and a direct say in what gets built next. The best way to support Cyrus long-term.

Become a Patron
or give directly
One-Time
Custom Amount
Give a Spark

Payments powered, managed, and secured by Stripe.

❤️
Helper
$10 /month
Become a Helper
Hero
$25 /month
Become a Hero
👑
Conqueror
$50 /month
Become a Conqueror

Payments powered, managed, and secured by Stripe.

❤️
Helper
$120 /year
Commit as Helper
Hero
$300 /year
Commit as Hero
👑
Conqueror
$600 /year
Commit as Conqueror

Payments powered, managed, and secured by Stripe.

or donate with crypto
Bitcoin (BTC)
32BJw5mpyQ6fuLeiR5yrAAR2H8gerB9GAD
Ξ Ethereum (ETH)
0xc0066CCD708376cF3fA34CF5a3a8eB88AF58c97A
Solana (SOL)
7vfBGpjZTEZEsKNi1ZdYYBPGq1uFzWvLuV6xRP13tSo9
Ripple (XRP)
rLHzPsX6oXkzU2qL12kHCH8G8cnZv1rBJh  /  Tag: 204756592
🐕 Shiba Inu (SHIB)
0xc0066CCD708376cF3fA34CF5a3a8eB88AF58c97A
Cyrus

Start automating
your trades today.

Free for personal use, source-available, and fully local. No subscriptions. No cloud accounts. Just your rules running on your machine.

Download Cyrus v1.2.4

Windows x64 · Free forever · PolyForm Noncommercial License · Report an issue

Contact

Get in touch.

Have a comment, question, or concern? Send a message and I'll get back to you.

✓ Message sent — thanks! I'll be in touch soon.