Skip to main content

CryptoBob

CryptoBob is a radically simple crypto currency bot, which interacts with Kraken and…

  • … automatically buys crypto currencies on a recurring basis
  • … automatically withdraws crypto currencies when a threshold is reached

CryptoBob is your perfect little sidekick, when you want to automate the purchase and storage of crypto currencies on your hardware wallet / ledger. Of course there are services out there doing this, but usually Kraken has much better fees than those services, and a much better selection of crypto ;)

Installation

Install the package via PyPi:

pip3 install cryptobob

Install the package from source:

pip3 install cryptobob@git+https://git.confirm.ch/confirm/cryptobob.git

Linux service

CryptoBob can also be run as Linux service, for example via systemd.

To use CryptoBob as service, it's recommended to create a dedicated user, or to use your personal user for it.
Creating a new Linux user can be achieved as root by running these commands:

# Create new POSIX group
groupadd -g 666 cyrptobob

# Create new POSIX user
useradd -d /home/cryptobob -m -g 666 -u 666 cryptobob

Then install CryptoBob in a dedicated Python venv by running these commands:

# Change to new cryptobob user.
su - cryptobob

# Create new venv and activate it.
python3 -mvenv ~/.venv
source .venv/bin/activate

# Install CryptoBob
pip3 install cryptobob

The user needs to have access to the configuration file, documented in the Configuration chapter.

Is your configuration ready and CryptoBob installed, you can use the example systemd service unit to configure, start, and enable a systemd service:

# Download systemd service unit.
curl -Lo /etc/systemd/system/cryptobob.service https://raw.githubusercontent.com/confirm/CryptoBob/master/example/cryptobob.service

# Reload systemd daemon
systemctl daemon-reload

# Start and enable service
systemctl enable cryptobob
systemctl start cryptobob

HINT: Please note that if you've updated the cryptobob.service file, you need to run systemctl daemon-reload again.

Usage

The usage of cryptobob is quite simple:

usage: cryptobob [-h] [-c CONFIG] [-s] [-v] {run,buy,assets,otp}

CryptoBob - The bot which buys & withdraws crypto automatically.

positional arguments:
  {run,buy,assets,otp}        action to execute

options:
  -h, --help                  show this help message and exit
  -c CONFIG, --config CONFIG  path to the CryptoBob config
  -s, --simple                enable simple logging format (e.g. for systemd)
  -v, --verbose               enable verbose logging mode (repeat to increase verbosity, up to -vvv)

To display all assets listed on Kraken, you can run:

cryptobob assets

To run CryptoBob, you can simply execute:

cryptobob run -vv

To (force) buy / execute the configured trade plans, you can run:

cryptobob buy -vv

In case you configured OTP for your API key and want to get a one-time code, you can run:

cryptobob otp

Please note you've to configure CryptoBob accordingly.
Check out the next section for the configuration.

Configuration

By default, CryptoBob is searching its configuration file under ~/.cryptobob.yml.
Feel free to change the configuration file path by specifying the -c or --config CLI flag.

You can find an example configuration in the CryptoBob repository.

IMPORTANT: The configuration file contains sensitive informations. Make sure you set the permissions right!

Runtime data

Please note CryptoBob doesn't store any runtime data or alike on your system, since it will always use the Kraken order history as a reference for upcoming orders.

For example, when CryptoBob buys a certain asset on Kraken, it will open a new buy order. That buy order is then submitted, executed, and stored on Kraken. When CryptoBob then runs again, it will retrieve the last executed order for certain asset from Kraken, compare its order timestamp with your configured interval, and checks if enough time has passed to open another buy oder.

Of course, only orders initiated by CryptoBob will be queried for the timestamps (achieved via userref on ClosedOrders).

Metadata

Release files for cryptobob 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for cryptobob 1.5.0
File Interpreter ABI Platform Actions
cryptobob-1.5.0-py3-none-any.whl Python 3 none any Details for cryptobob-1.5.0-py3-none-any.whl

Release files / cryptobob-1.5.0-py3-none-any.whl

Download URL cryptobob-1.5.0-py3-none-any.whl
Size 15.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9215f60cd85b79ab7a6726c7a69035426c941c5d108e43b3efdc17b1379b5c3f
BLAKE2b-256 checksum
How to use checksums
a0514b46f8242afa8d9889a27b304c3812281a7045a46978921683de65272e12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Security for cryptobob 1.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page