Skip to content

Downloads

All release artifacts are hosted on futuapi.com directly. The source repo is private.

Latest: v1.9.7

v1.9.7 improves push compatibility and backend error reporting, and updates Rust and runtime dependencies. Release builds use Rust 1.99.1; source builds require Rust 1.99. Prebuilt binaries do not require Rust. Recovery of the original tape statistics push still needs retesting. See the full release notes.

Artifacts source

Tarballs listed here are produced by our CI at release time, with matching .sha256 files. Verify checksums before running.

brew install futuleaf/tap/futu-opend-rs

Automatically handles macOS Gatekeeper quarantine — no manual xattr needed. After install, futu-opend / futu-mcp / futucli / futu-indicator-worker are on PATH; example configs live in $(brew --prefix)/share/futu-opend-rs/examples/.

Upgrade: brew upgrade futu-opend-rs

Check for a newer version

Use the CLI to explicitly check whether your local installation is behind:

futucli version --check

The command first fetches the public https://futuapi.com/version.json; it does not upload account, position, device, or trading data. If the default endpoint is unavailable, returns a non-2xx status, or uses an incompatible schema, futucli fails closed and does not produce upgrade advice. futucli doctor performs the same short-timeout check by default. Offline or internal-network deployments can skip it with futucli doctor --no-update-check.

To test a staging endpoint or mirror, override the URL:

futucli version --check --url https://example.com/version.json
FUTU_UPDATE_CHECK_URL=https://example.com/version.json futucli doctor

Binary downloads

Each archive bundles four programs: futu-opend (gateway), futu-mcp (MCP server), futucli (CLI client), and futu-indicator-worker (the indicator helper launched by the gateway when needed). Do not move or delete the worker independently.

OS Arch Download Checksum
Linux x86_64 (glibc 2.34+) futu-opend-rs-1.9.7-linux-x86_64.tar.gz .sha256
Linux aarch64 (glibc 2.34+) futu-opend-rs-1.9.7-linux-aarch64.tar.gz .sha256
macOS Apple Silicon (arm64) futu-opend-rs-1.9.7-macos-arm64.tar.gz .sha256
macOS Intel (x86_64) futu-opend-rs-1.9.7-macos-x86_64.tar.gz .sha256
Windows x86_64 futu-opend-rs-1.9.7-windows-x86_64.zip .sha256

All 5 platforms available

Binaries and sha256 files are built by GitHub Actions and pushed here on every rs-v* tag.

Linux system requirement

The prebuilt Linux archives require GLIBC 2.34 or newer. Check with ldd --version. Ubuntu 16.04 / 20.04 are below this baseline; upgrade the OS or use a Linux container that meets the baseline. The source is private; a public source-build option is not available.

Terminal download and verification

Choose your platform and run the script in an empty directory. Verification failure stops extraction. Manual-install commands use ./ because the programs are not yet on PATH.

(
set -e
VER=1.9.7; ARCH=macos-arm64; FILE=futu-opend-rs-$VER-$ARCH.tar.gz
curl -fLO https://futuapi.com/releases/rs-v$VER/$FILE
curl -fLO https://futuapi.com/releases/rs-v$VER/$FILE.sha256
shasum -a 256 -c $FILE.sha256
tar xf $FILE && cd futu-opend-rs-$VER
xattr -cr futu-opend futu-mcp futucli futu-indicator-worker   # clear Gatekeeper quarantine
./futu-opend --version
)
(
set -e
VER=1.9.7; ARCH=macos-x86_64; FILE=futu-opend-rs-$VER-$ARCH.tar.gz
curl -fLO https://futuapi.com/releases/rs-v$VER/$FILE
curl -fLO https://futuapi.com/releases/rs-v$VER/$FILE.sha256
shasum -a 256 -c $FILE.sha256
tar xf $FILE && cd futu-opend-rs-$VER
xattr -cr futu-opend futu-mcp futucli futu-indicator-worker
./futu-opend --version
)
(
set -e
VER=1.9.7; ARCH=linux-x86_64; FILE=futu-opend-rs-$VER-$ARCH.tar.gz
curl -fLO https://futuapi.com/releases/rs-v$VER/$FILE
curl -fLO https://futuapi.com/releases/rs-v$VER/$FILE.sha256
sha256sum -c $FILE.sha256
tar xf $FILE && cd futu-opend-rs-$VER
./futu-opend --version
)
(
set -e
VER=1.9.7; ARCH=linux-aarch64; FILE=futu-opend-rs-$VER-$ARCH.tar.gz
curl -fLO https://futuapi.com/releases/rs-v$VER/$FILE
curl -fLO https://futuapi.com/releases/rs-v$VER/$FILE.sha256
sha256sum -c $FILE.sha256
tar xf $FILE && cd futu-opend-rs-$VER
./futu-opend --version
)
$ErrorActionPreference = "Stop"
$VER = "1.9.7"; $FILE = "futu-opend-rs-$VER-windows-x86_64.zip"
Invoke-WebRequest -Uri "https://futuapi.com/releases/rs-v$VER/$FILE" -OutFile $FILE
Invoke-WebRequest -Uri "https://futuapi.com/releases/rs-v$VER/$FILE.sha256" -OutFile "$FILE.sha256"
$expected = (Get-Content "$FILE.sha256").Split(" ")[0]
$actual = (Get-FileHash $FILE -Algorithm SHA256).Hash.ToLower()
if ($expected -ne $actual) { throw "SHA256 mismatch; extraction stopped" }
Expand-Archive $FILE -DestinationPath .
cd "futu-opend-rs-$VER"
.\futu-opend.exe --version

Next step

Once --version prints, head to Quick Start for the full login walkthrough, or jump straight to the Cheatsheet for production-ready launch commands.

macOS users

macOS Gatekeeper blocks unsigned binaries downloaded from the internet. After extracting, run once to clear the quarantine flag:

xattr -cr futu-opend futu-mcp futucli futu-indicator-worker

No need to repeat — the binaries will run normally after this.

Verify checksums

# Linux / macOS
sha256sum -c futu-opend-rs-1.9.7-linux-x86_64.tar.gz.sha256

# Or manually
shasum -a 256 futu-opend-rs-1.9.7-linux-x86_64.tar.gz
cat futu-opend-rs-1.9.7-linux-x86_64.tar.gz.sha256

Docker image

No public image yet

No public Docker image is published. For container deployment, grab the Linux tarball above and use the Dockerfile inlined in Production deploy to build your own.

Release history

Older packages use /releases/rs-vX.Y.Z/futu-opend-rs-X.Y.Z-<platform>.tar.gz; Windows packages use .zip. Each package has a matching .sha256 file. Choose a version from the changelog or release archive, then replace X.Y.Z in the download command.

Deploy templates

The full Dockerfile and systemd units are inlined in Production deploy — copy-paste ready.

License

Copyright (c) 2026
All rights reserved.

This software is free for both personal and commercial use.

Any investment actions taken while using this software — all gains
and losses are solely at the user's own risk.

The author is NOT liable for trading losses, data loss, service
interruption, or account anomalies.