Skip to content
Small team, full backlog, zero orders dropped. Support replies are slower than we’d like. Read our status update → Zero orders dropped. Status → 📬 Check your spam folder — most of our replies land there. We do answer. Status update → 📬 Check your spam folder. Status →

DCENT_Toolbox Command Reference

DCENT_Toolbox 2.5.0 is a free, GPL-3.0 command-line toolbox with roughly 75 user-facing top-level commands for scanning, diagnosing, tuning, unlocking, flashing, and verifying Bitcoin miners entirely from your own machine — no cloud account, no license server, no telemetry, 0% dev fee. The commands fall into seven families and every one below is tagged read-only or mutating. The canonical first command is dcent doctor <ip>: read-only, never destructive, and it tells you what to do next. A command existing in this reference is never proof it is validated on your specific miner — an adapter and a command name are not a compatibility guarantee.

This page is a grouped map of the real command surface in the public GPL-3.0 source tree at github.com/DCentralTech/DCENT_Toolbox. It lists command names and purpose only — not flags — because flags drift between versions. Run dcent <command> --help on your installed build for the authoritative interface, and dcent --help for the complete live command list.

How to read this reference

Two rules govern every entry below, and they matter more than any command name.

  • A command existing is not proof it is validated on your miner. The toolbox reports what it proved, never more: an upload is accepted, not flashed; a reachable device is online, not mining; a parsed package is readable, not safe to install; a detected board is not a safe-to-write board. Treat the command list as an inventory, not a permission slip.
  • Every mutating operation must resolve to five things first: exact model, control board, incumbent firmware, evidence level, and recovery route. If any one of those is unknown, the honest answer is "not yet", not "probably fine".

Tag legend. READ-ONLY = inspects or reports; contacts no write path on the miner. MUTATING = can change miner state (config, firmware, power, credentials); these default to dry-run / plan output and gate the live write behind explicit confirmation. Where the repository states a confidence level, this page uses the project vocabulary: Production, Beta, Experimental, Recovery-only, and Detected-but-unsupported — plus Operator-gated for paths that are code-complete and tested but wait for your explicit go-ahead on hardware you own.

How do I install DCENT_Toolbox?

There is no PyPI package and no prebuilt installer or binary download. You run it from a source checkout with Python 3.9+ on Windows, macOS, or Linux.

git clone https://github.com/DCentralTech/DCENT_Toolbox.git
cd DCENT_Toolbox
python -m pip install -e .

Then point it at a miner you own and run the canonical first step. It is read-only, never destructive, and it tells you what to do next:

dcent doctor <ip>

The keygen-style Textual TUI (dcent tui) is the flagship interactive surface and ships as an optional extra of the same checkout (python -m pip install -e ".[tui]"). The Tauri desktop GUI is a scaffold that does not yet install — there is no GUI download to offer.

What does DCENT_Toolbox actually cover?

Version 2.5.0 is 491 Python modules with 87 CLI command modules behind roughly 75 user-facing top-level commands, backed by 4,500+ offline tests passing. It drives four real vendor backends — Bitmain (stock, BraiinsOS+, LuxOS, VNish, DCENT_OS), MicroBT WhatsMiner, Canaan/Avalon (cgminer/ascset), and BitAxe (AxeOS) — across six firmware ecosystems (Bitmain stock, BraiinsOS+, LuxOS, VNish, DCENT_OS on Antminer, DCENT_OS/ESP on DCENT_axe) and seven control-board families (am1-XIL, am2-XIL, am3-BB, am3-AML, cv1835, bcb100, esp32-s3). Gear it does not positively identify routes to a read-only generic cgminer backend rather than a silent Bitmain write path.

Which commands discover and identify a miner?

Group tag: READ-ONLY. These map what is on the LAN and what each device is, without changing configuration. locate is the only actuator — it blinks the unit's own find-me LED and writes no configuration. A MAC vendor hint is not a control board; identification must still be confirmed against the physical unit.

CommandPurposeR / WSource file
dcent scanDiscover miners on the network (LAN sweep) — the discovery entry point.Read-onlyscan.py
dcent detectIdentify the firmware type running on a target.Read-onlydetect.py
dcent probeDeep read-only data extraction across supported firmwares.Read-onlyprobe.py
dcent fingerprintIdentify the control-board family (SoC / boot source) and map applicable exploits, with unimplemented vectors honestly marked manual / not-automated.Read-onlyfingerprint.py
dcent controlboard-routeResolve a fingerprint to the control-board-specific install/recovery route (plan-only; consumes a fingerprint, names the expected route, never writes).Read-only (plan)controlboard_route.py
dcent locateBlink the miner's physical find-me LED to spot it in a rack.Read-only (LED actuation)locate.py
dcent ipreportListen for the control board's IP-Report button broadcast (UDP, multi-vendor).Read-onlyipreport.py

Two notes. There is no separate discover command — dcent scan is discovery. And a positive detection sets a Bitmain vendor route only on a real Bitmain signal; unknown gear falls back to the read-only generic cgminer backend.

Which commands run read-only diagnostics?

Group tag: READ-ONLY. Triage, audit, and evidence capture that inspect a miner without changing it. Diagnostic output is read-oriented evidence — it does not by itself establish that any write or flash route is supported on that unit.

CommandPurposeR / WSource file
dcent doctorCanonical first-step diagnostic orchestrator; read-only first pass with partial-result-tolerant reporting, and it tells you what to do next.Read-onlydoctor.py
dcent auditSecurity audit — detect backdoors, dev-fee injection, and phone-home behaviour on affected firmware.Read-onlyaudit.py
dcent diagnoseRun hardware diagnostics over SSH.Read-onlydiagnose.py
dcent diagBuild a support-safe log archive with automatic redaction — use it before sharing logs with anyone.Read-onlydiag.py
dcent infoFull miner status and info readout.Read-onlyinfo.py
dcent statsLive terminal dashboard for BitAxe / DCENT_axe miners.Read-onlystats.py
dcent liveLive-hardware-as-a-debugger read trio: devmem peek, probe-chain, FPGA regdump.Read-only*live.py
dcent monitorSerial log viewer with colorized output (ESP32 / ASIC debug).Read-onlymonitor.py
dcent forensicsChecked expert system over the reverse-engineering corpus.Read-onlyforensics.py
dcent pvtShow or validate a SKU's PVT (process / voltage / temperature) envelope.Read-onlypvt.py
dcent soakPer-FSM live-soak harness (plan / observe).Read-onlysoak.py
dcent verify-miningPost-install mining proof against a V1–V14 cold-boot ladder; classifies the result as PROVEN / PARTIAL / FAILED / UNVERIFIABLE.Read-onlyverify_mining.py

* dcent live is read-only for peek, probe-chain, and regdump; its devmem poke subcommand is a mutating operation and is double-gated.

Which commands configure and tune a miner?

Group tag: MUTATING. These change how a miner runs — clocks, voltages, pools, fans, credentials, power posture — so they carry dry-run and confirmation gates, and safety clamps apply on the tuning and fan paths. Preview the exact diff and keep a rollback path before applying. env-vars is the read-only exception; it only lists gates.

CommandPurposeR / WSource file
dcent configRead or set miner configuration.Mutating (get is read-only)config.py
dcent tuneFrequency / voltage tuning — profiles or custom values, with per-board safety clamps.Mutatingtune.py
dcent autotuneRemote autotuner for BitAxe / DCENT_axe — sweep frequencies and settle on a stable point.Mutatingautotune.py
dcent poolsRead or set pool configuration.Mutating (get is read-only)pools.py
dcent stratumStratum swiss-knife: local proxy, tap, share verification, and vbits histograms — it runs on your host rather than rewriting miner config.Local proxy / tapstratum.py
dcent fanControl fan speed — set a percentage, auto mode, or read status; the home-comfort cap is enforced on set.Mutatingfan.py
dcent curtailGrid / demand-response power reduction and restore; reversible — the restore step returns the pre-curtail state.Mutatingcurtail.py
dcent hardenSecurity lockdown — change passwords, remove keys, apply firewall rules.Mutatingharden.py
dcent rulesYAML-driven automation engine: trigger + action rules with a local audit log.Mutating (dry-run first)rules.py
dcent env-varsList the known DCENT_* environment gates with scope, default, effect, and safety class.Read-onlyenv_vars.py

Which commands install or flash firmware?

Group tag: MUTATING — the highest-risk family. The install surface is planner-first: dcent install is dry-run/plan by default; the live write step executes only on an explicit operator confirmation (--yes). Several members (prepare, am2-first-install, bb-nand-first-install) are offline planners that never contact a device. A generic install command is not permission to flash.

CommandPurposeR / WEvidenceSource file
dcent installDCENT_OS deployment planner over SSH for Antminer or ESP targets — dry-run/plan by default; the live write step executes only on an explicit operator confirmation (--yes).MutatingOperator-gatedinstall.py
dcent flashFirmware write / flash stage; evaluates the write-gate set and stops at the live boundary.MutatingOperator-gatedflash.py
dcent preparePrepare/unlock is plan-only: the rail is ranked and the recommended archive is built in-process with a reported SHA-256, but nothing is uploaded and dcent unlock is not executed against a miner.Read-only (planner)Plan-onlyprepare.py
dcent unlockSSH-enable via authenticated CGI on hardware you own — not presented as live-proven.MutatingOperator-gated (code-complete / tested)unlock.py
dcent stock-unlockPer-stock-label unlock-strategy dispatcher (plan and list are offline; probe is read-only).MutatingOperator-gatedstock_unlock.py
dcent amlogic-unlockAssisted USB-OTG downgrade-unlock for locked Bitmain Amlogic boards — destructive, gated, and fails closed on an unknown or mismatched model. Not every locked Amlogic board can be unlocked in software.Mutating (destructive)Operator-gated (live burn gated)amlogic_unlock.py
dcent otaOTA firmware update for ESP32-class miners (BitAxe / DCENT_axe).MutatingOperator-gatedota.py
dcent sdcardBuild bootable SD-card images and AM2 lab SD workflows; the raw writer is guarded.Mutating (local media)Operator-gatedsdcard.py
dcent build-flashDeveloper loop: find firmware → flash → reset → serial monitor (ESP32 / BitAxe).MutatingOperator-gatedbuild_flash.py
dcent am2-first-installTyped AM2 / XIL first-install capsule contract + staged plan (offline, plan-only).Read-only (planner)Plan-onlyam2_first_install.py
dcent bb-nand-first-installTyped AM335x / BeagleBone S19j Pro NAND OTA first-install capsule + staged plan (offline, plan-only).Read-only (planner)Plan-onlybb_nand_first_install.py

Can I one-click install DCENT_OS on any Antminer?

No. The signing chain hits a generational hardware wall, so install readiness is model-specific. The toolbox deliberately keeps unlock state, route state, artifact state, and proof state separate rather than promising a blanket "any board" flash:

  • Antminer S9 (am1-XIL): only the Antminer S9 (am1-XIL) has a public network-write / SD-trial route today — a public-beta / SD-trial path, not a finished consumer product.
  • S17 / S19 / S19j Pro / S19k Pro / S21: every current-generation Antminer stock first-install is lab-gated, evidence-gap, or no-customer-write. Do not expect a one-click end-user install on these boards.
  • BitAxe / ESP devices: real routes — HTTP OTA on a running device and USB serial for a first flash. Upload acceptance is still not boot, thermal, or mining proof.

Which commands handle recovery and backup?

Group tag: MIXED. Partition reads (EEPROM decrypt, BMU extract, NVS dump) and NAND capture are read-only; restores, media writes, and resets write. Capture your NAND and EEPROM state before any risky operation, and prove the recovered image and restore route on the actual unit before trusting it.

CommandPurposeR / WSource file
dcent backupBack up or restore miner configuration; the NAND-dump ritual is recovery-grade and board-family-aware.Read-only capture (restore writes)backup.py
dcent recoverRecovery chain orchestrator (doctor + fingerprint + plan-first backup / install). Sources differ on how far the chain runs unattended — treat it as gated and read its plan output first.Gatedrecover.py
dcent recoveryProduce or verify known-good SD recovery media on your host.Local media write (verify is read-only)recovery.py
dcent factory-resetWipe a miner to factory defaults — destructive, double-gated.Mutating (destructive)factory_reset.py
dcent eepromRead and decrypt hash-board EEPROM (read-only probe / decrypt; the lower-level writer is a separate gated path).Read-onlyeeprom.py
dcent nvsDump an ESP32 NVS partition and read keys.Read-onlynvs.py
dcent bmuExtract and verify Bitmain BMU container partitions to a directory.Read-onlybmu.py
dcent uartUART rescue / advanced flashing — Developer Preview, default-OFF.Mutating (experimental)uart.py

Which commands manage a fleet and power?

Group tag: MIXED. Status and lifecycle reporting are read-only; reboot, PDU outlet control, parallel OTA, and profit-aware autopilot loops write.

CommandPurposeR / WSource file
dcent fleetFleet discovery, status, parallel OTA update, and export.Mixed (OTA writes; status / export read-only)fleet.py
dcent autopilotLocal profit-aware tune / pool loop — run dry-run and status before any unattended use.Mutatingautopilot.py
dcent lifecycleShow the toolbox's own device-lifecycle stage coverage (local-only).Read-onlylifecycle.py
dcent pduSmart-PDU / Home-Assistant outlet power control — a real AC cut for units with no software power control.Mutatingpdu.py
dcent rebootReboot miners.Mutatingreboot.py

Which meta, help, and service commands are there?

Group tag: READ-ONLY / local. The tool's own surface: help, the flagship interactive TUI, the host-side fleet daemon, and release / artifact tooling. None of these writes miner firmware.

CommandPurposeR / WSource file
dcent helpTopic-aware structured help (run with no topic to list available topics).Read-onlyhelp.py
dcent tuiLaunch the keygen-aesthetic Textual dashboard — the flagship interactive surface, with operator wizards.Read-only shell (wizards drive gated ops)tui.py
dcent serveHeadless host-side fleet daemon: Prometheus /metrics, /status JSON, rules scheduler, and alerting sinks — local by default.Read-only serviceserve.py
dcent changelogShow firmware changelog / release notes.Read-onlychangelog.py
dcent nfoPrint the DCENTRAL release-group .nfo (scene artifact, local-only).Read-onlynfo.py
dcent fundShow the support link for D-Central's open-source firmware and tooling (local-only, offline-safe).Read-onlyfund.py
dcent packageInspect local firmware-package metadata only — no scan, no upload, no device contact.Read-onlypackage.py

Is that the whole command surface?

Not quite. The 59 commands above are the ones operators reach for; the tree ships 87 command modules behind roughly 75 user-facing top-level commands, including reverse-engineering, artifact, and route-planning tooling not broken out here. Run dcent --help on your installed version for the complete live list — that, not this page, is the authoritative interface. Whatever the command, the two rules at the top still hold: existence is not validation, and every write path resolves to an exact model, control board, incumbent firmware, evidence level, and recovery route.

The line we do not cross

DCENT_Toolbox reports exactly what it proved, never more. An upload is accepted, not flashed. A reachable device is online, not mining. A parsed package is readable, not safe to install. A present adapter is not a validated operation. Do not generalise one successful adapter-and-command combination to a whole platform family.

The tool runs locally on Windows, macOS, and Linux with Python 3.9+ from a source checkout: 0% dev fee, no cloud, no license server, no telemetry, GPL-3.0 — built by the mining hackers at D-Central Technologies in Québec, working on Bitcoin mining tech since 2016.

Where next