bitaxe-monitor

Verified·Scanned 2/18/2026

This skill fetches status from Bitaxe Gamma miners via their HTTP API and formats results as text or JSON. It reads/saves ~/.config/bitaxe-monitor/config.json, uses the BITAXE_IP environment variable, and issues requests to http://{ip}/api/system/info; it also documents running python3 scripts/bitaxe_status.py.

from clawhub.ai·va05699e·10.4 KB·0 installs
Scanned from 1.0.2 at a05699e · Transparency log ↗
$ vett add clawhub.ai/pietro395/bitaxe-monitor

Bitaxe Monitor

Monitor and retrieve status information from Bitaxe Gamma (and compatible) Bitcoin miners via their HTTP API.

Overview

Bitaxe Gamma is an open-source Bitcoin miner based on the BM1370 ASIC. It exposes a REST API at http://<ip>/api/system/info that returns real-time statistics including:

  • Hashrate (current, 1m, 10m, 1h averages)
  • Power consumption and voltage
  • Temperatures (ASIC, voltage regulator)
  • Fan speed and RPM
  • Share statistics (accepted/rejected)
  • Best difficulty found
  • WiFi status and signal strength
  • Pool connection info
  • Uptime and version info

Usage

Use the provided script to fetch and display miner status:

python3 scripts/bitaxe_status.py [ip_address] [--format {json,text}] [--set-ip IP]

IP Configuration

The script looks for the Bitaxe IP in this order:

  1. Command line argument
  2. Config file (~/.config/bitaxe-monitor/config.json)
  3. BITAXE_IP environment variable
  4. Error (if none found)

Saving IP Configuration

Option 1: Save to config file (recommended)

python3 scripts/bitaxe_status.py --set-ip 192.168.1.100

This saves the IP to ~/.config/bitaxe-monitor/config.json.

The config file is stored in a dedicated directory and does not modify your shell profile files.

Option 2: Set environment variable

export BITAXE_IP=192.168.1.100
python3 scripts/bitaxe_status.py

Option 3: Set for a single command

BITAXE_IP=192.168.1.100 python3 scripts/bitaxe_status.py

Checking Status

With IP configured:

python3 scripts/bitaxe_status.py

Override with different IP:

python3 scripts/bitaxe_status.py 192.168.1.105

Get raw JSON data:

python3 scripts/bitaxe_status.py --format json

API Endpoints

The Bitaxe API provides these main endpoints:

  • GET /api/system/info - Complete system status (used by default)
  • GET /api/system/asic - ASIC-specific settings
  • GET /api/system/statistics - Historical statistics (requires data logging enabled)
  • GET /api/system/statistics/dashboard - Dashboard-formatted statistics

Key Status Fields

FieldDescriptionUnit
hashRateCurrent hashrateGH/s
hashRate_1m1-minute averageGH/s
hashRate_10m10-minute averageGH/s
powerPower consumptionWatts
tempASIC temperature°C
vrTempVoltage regulator temp°C
fanspeedFan speed percentage%
fanrpmFan RPMRPM
sharesAcceptedAccepted sharescount
sharesRejectedRejected sharescount
bestDiffBest difficulty foundnumber
wifiRSSIWiFi signal strengthdBm
uptimeSecondsSystem uptimeseconds

Resources

scripts/

  • bitaxe_status.py - Main script to fetch and display Bitaxe status
    • Supports both text (human-readable) and JSON output formats
    • Handles connection errors gracefully
    • Formats key metrics with emoji indicators
    • Reads IP from config file or BITAXE_IP environment variable
    • Saves IP to config file with --set-ip

Configuration

Config File Location

The script stores configuration in:

~/.config/bitaxe-monitor/config.json

This directory is created automatically when using --set-ip.

Environment Variables

VariableDescriptionRequired
BITAXE_IPIP address of your Bitaxe minerAlternative to config file

Error Handling

The script handles common errors:

  • Connection failures (wrong IP, device offline)
  • Invalid JSON responses
  • Network timeouts
  • Missing IP (prompts user to configure IP)

Command Reference

CommandDescription
bitaxe_status.pyCheck status using saved configuration
bitaxe_status.py <IP>Check status of specific IP (one-time)
bitaxe_status.py --set-ip <IP>Save IP to config file
bitaxe_status.py --format jsonOutput raw JSON
bitaxe_status.py --format textOutput formatted text (default)

Examples

Quick setup (do once):

python3 scripts/bitaxe_status.py --set-ip 192.168.1.100

Daily usage:

python3 scripts/bitaxe_status.py

Check multiple miners:

python3 scripts/bitaxe_status.py 192.168.1.100
python3 scripts/bitaxe_status.py 192.168.1.101

References

For complete API documentation, see the official Bitaxe wiki: https://osmu.wiki/bitaxe/api/

The OpenAPI specification is available at: https://github.com/bitaxeorg/ESP-Miner/blob/master/main/http_server/openapi.yaml