CryptoByPlanBITVAVO TRADING CO-PILOTRaspberry Pi / Linux ARM64
Install on Raspberry Pi
Run CryptoByPlan on a Raspberry Pi that you manage. The bot and its databases stay on the device; systemd can keep it running after a reboot.
What you need
- Raspberry Pi 4 with at least 2 GB RAM, a high-endurance 32 GB microSD card or USB SSD, and a stable network connection. Ethernet is preferred.
- Ubuntu Server 24.04 LTS, ARM64. This image includes the required Python 3.12 packages. Raspberry Pi OS Lite 64-bit may be used only if you independently verify Python 3.12.
- A separate Telegram bot token and Bitvavo API key for this installation. Disable withdrawals on the API key. Do not run another CryptoByPlan instance against the same Bitvavo account at the same time; a separate API key does not isolate exchange orders. For independent testing, use a separate Bitvavo account.
1. Prepare the Pi
On another computer, install the official Raspberry Pi Imager. Select Raspberry Pi 4, then choose the Ubuntu Server 24.04 LTS ARM64 image. In OS customisation, set a hostname, create a normal user, configure Wi-Fi or Ethernet, set the Europe/Amsterdam time zone, and enable SSH.
After the first boot, connect by keyboard or SSH and install the prerequisites:
sudo apt update
sudo apt install python3.12 python3.12-venv ca-certificates
python3.12 --version
uname -m
Confirm Python reports 3.12.x and architecture reports aarch64. Stop if either check does not match.
2. Download, verify, and set up
When the public beta opens, copy the Raspberry Pi archive and its matching .sha256 file to the Pi. Keep them together and verify the checksum before extracting:
sha256sum -c CryptoByPlan-RaspberryPi-v3.25.10.tar.gz.sha256
tar -xzf CryptoByPlan-RaspberryPi-v3.25.10.tar.gz
cd CryptoByPlan-RaspberryPi-v3.25.10
./scripts/setup_linux.sh
Continue only if the checksum says OK. Replace the sample version in the commands with the exact release version. Setup creates the virtual environment, pinned dependencies, and starter files. It installs the systemd unit but does not start or enable it and does not place orders.
cyclepilot.service unit already exists, stop and inspect that installation. Do not overwrite another bot’s service file.3. Create your Telegram bot and configure .env
- In Telegram, open @BotFather, send
/newbot, and follow its prompts. - On the Pi, from the installation folder, edit
.envwithnano .env. Put the token on the existingTELEGRAM_TOKEN=line, save, and send/startto your new bot. - Retrieve the numeric chat ID using only the token line from
.env:
TELEGRAM_TOKEN="$(sed -n 's/^TELEGRAM_TOKEN=//p' .env)"
curl --fail --silent "https://api.telegram.org/bot${TELEGRAM_TOKEN}/getUpdates"
unset TELEGRAM_TOKEN
Copy the digits in chat.id into the existing TELEGRAM_CHAT_ID= line. If the result list is empty, send the bot another message and repeat. Do not share the token or response, and do not source the incomplete .env file.
Complete all remaining values using the exact .env instructions. Use your own Bitvavo key with trading access and withdrawals disabled. The CoinMarketCap key is optional and does not affect orders.
4. Run a foreground check
Review config.yaml, then start one foreground instance:
./venv/bin/python bot.py
In your own Telegram chat, check /start, /status, /balances, /orders, and /help. These checks are read-only; do not create a DCA plan or order during this check. Stop the process with Control+C in the SSH terminal. Only one running instance may use a Telegram bot token.
Optional: start at system boot
Do this only after the foreground check passes. The installed systemd service is named cyclepilot. It starts at boot without an interactive login and restarts after a failure with a 10-second delay. Enabling it starts the bot immediately too:
sudo systemctl enable --now cyclepilot
sudo systemctl status cyclepilot
journalctl -u cyclepilot -n 100 --no-pager
To stop the bot and disable boot startup:
sudo systemctl disable --now cyclepilot
Do not start a foreground copy while systemd is active. Stopping or restarting the service does not cancel open Bitvavo orders.
← Back to installation overview
Desktop Linux x86_64 is not included. This Pi guide is available for planning; a public package will follow physical-device acceptance.