Inventory
Track the full lifecycle of every physical miner in your fleet
Overview
The Inventory Management feature provides a persistent, hardware-level view of all ASIC machines managed by Commander. Unlike the Miners tab - which focuses on real-time telemetry and identifies machines by IP address - the Inventory tracks the physical miners themselves, uniquely identified by a stable Asset ID that persists across different scenarios.
The goal is to give operators a single source of truth for every miner they own, regardless of whether it's online, offline, being repaired, in storage, or decommissioned. Inventory replaces external spreadsheets and manual tracking processes by centralizing all hardware lifecycle and ownership information directly within Commander.
Key Concepts
Asset ID and Asset Code
Every miner in the Inventory is assigned a unique asset_id (a UUID generated automatically when the system first identifies the machine). This internal identifier is not shown to users directly. Instead, each asset is represented by a human-friendly Asset Code following the pattern [PREFIX]-[MODEL]-[SEQUENCE], unique within your Workspace. For example:
AM-S19XP-000001- the first Antminer S19 XP identified in the WorkspaceAM-S19XP-000002- the second Antminer S19 XPAM-S21-000001- the first Antminer S21
Why not use MAC address or Serial Number as the identifier?
MAC addresses change when you swap a control board, making them unreliable as a permanent miner identity. Serial numbers are manufacturer-assigned and tied to the chassis, but they are difficult to enter into the system at scale (often requiring manual input), and those that can be pulled automatically via API are still dependent on the control board. The Asset ID solves both problems by providing a stable identity that outlives any single component.
Linking Inventory assets to Miners
An Inventory asset is automatically linked to a miner in the Miners tab (identified by miner_id) when there is a matching MAC address and Site. If the miner physically moves or has a control board replaced, its associated Site or MAC Addrees will change, generating additional device entries.
In the next few days we will ship a feature for consolidating different devices, making sure users can track individual miners under events like control board replacements or data center migrations. The full history of all miners observations with assets will be preserved, so operators can always trace which physical machine was at which IP over time.
Inventory Table
The Inventory page (/commander/features/inventory/) displays all assets under management in a table with the following columns:
| Column | Description |
|---|---|
| Asset Code | The human-readable unique identifier for the asset |
| Lifecycle Status | The current lifecycle state of the asset (see Lifecycle Statuses below) |
| MAC Address | The miner's current MAC address |
| Serial Number | The manufacturer-assigned serial number |
| Manufacturer | The hardware manufacturer (e.g., Bitmain, MicroBT) |
| Model | The hardware model (e.g., Antminer S21 Pro, M50S_VK80) |
| Tags | Custom user-defined tags for organizing and categorizing assets |
| External ID | An optional identifier used by the customer in their own ERP or other management systems |
| Site | The Site the asset is associated with |
| Location | The physical position within the Sitemap hierarchy (e.g., Building 1 / R1 / C1) |
| Acquisition Date | When the miner was purchased |
| Acquisition Cost | The purchase price of the miner |
| Supplier | The vendor the miner was purchased from |
| Warranty Expiry Date | When the manufacturer warranty expires |
| First Seen | When the system first detected this asset |
| Retired At | The date the asset was retired (only populated when Lifecycle Status is Retired) |
The Inventory table supports pagination, CSV export, column visibility and reordering controls, and an Asset Filter button for building advanced filters using AND/OR conditions - the same filter builder pattern used in the Miners table.
Lifecycle Statuses
Each Inventory asset has a lifecycle status that represents its current operational phase. These statuses are independent from the Agent-based statuses like Error Status or Hashing Status and are designed to track where a miner is in its physical lifecycle.
| Status | Description |
|---|---|
| Deployed | The miner is installed at a site and operational |
| Ready to Deploy | The miner has been imported by the user and is ready to be installed. It will automatically transition to Deployed once an Agent scans it on the network |
| In-Repair | The miner is unavailable due to repair or in transit for servicing |
| In-Storage | The miner is idle and physically stored, not deployed at any site |
| Retired | The miner has been permanently removed from the fleet |
Automatic Status Transitions
Two transitions happen automatically:
- When an Agent scans a new device and no matching inventory record exists, the asset is created with the status Deployed.
- When a manually imported asset with status Ready to Deploy is detected by an Agent scan (matched by MAC address and Site), it automatically transitions to Deployed.
All other status changes require manual user input. Notably, a Retired asset will remain Retired even if the Agent detects activity for a matching miner. In cases where miners with a status of In-Repair, In-Storage, or Retired are detected as active by an Agent, Commander will display a notification banner on the Miners page alerting the operator to the discrepancy, with a quick filter to view the affected miners.
Asset Detail Page
Clicking on any asset in the Inventory table opens the Asset Detail page, which provides a comprehensive view of the individual miner. From here, operators can:
View and Edit Asset Properties
The detail page displays all metadata for the asset, organized into sections for machine information (manufacturer, model, MAC address, serial number) and financial information (acquisition date, cost, supplier, warranty). Most fields are editable. Note that editing the MAC Address or Site will cause the asset to link to a different miner_id, and Commander will inform you of this change. Editing the Manufacturer or Model manually may conflict with data reported by the Agent - Commander will notify you if a discrepancy is detected.
Notes and Attachments
Operators can add free-text notes and file attachments to any asset. This is useful for documenting repair history, including photos of physical damage, attaching purchase receipts or warranty documents, and recording any other information relevant to the asset's lifecycle.
Access Miner Details
If the asset has a matching miner_id (i.e., it's currently deployed and detected by an Agent), a link to the Miner Details page is available for viewing real-time telemetry.
Activity Log
The Asset Detail page includes a log of all changes made to the asset, including status transitions, property edits, and miner_id association changes. This provides a complete audit trail for each physical machine.
Importing Assets
Assets can be added to the Inventory in three ways:
Automatically via Agent Scans
When the Commander Agent scans your network and detects a new device, it automatically creates an Inventory record with the lifecycle status Deployed. The following fields are populated automatically from the scan: MAC Address, Manufacturer, and Model. No manual action is required.
Manually via the UI
Click the add button on the Inventory page to open a form where you can manually create a single asset. This is the same form shown in the Asset Detail page, allowing you to specify machine metadata, financial information, and lifecycle status. This is useful for pre-registering assets that haven't been deployed yet (e.g., miners in storage or in transit).
Manually via CSV Import
For bulk imports, upload a CSV file to create or update multiple assets at once. The CSV importer provides a preview of the data to be imported before committing. If any rows in the CSV match existing Inventory records (by MAC address and Site), Commander will notify you how many existing assets will be updated and allow you to confirm before proceeding. Matching records will have their data replaced by the values in the CSV file.
Inventory Bulk Actions
Similar to Bulk Actions on the Miners page, the Inventory supports bulk operations on multiple assets at once. Select assets using the checkboxes in the table, then click the Bulk Actions button to choose an operation.
Available Inventory Bulk Actions
| Action | Description |
|---|---|
| Delete Asset | Remove selected assets from the Inventory. Deleted assets will not reappear unless detected again by an Agent scan |
| Edit Asset | Modify specific fields across all selected assets in a single operation. You can update multiple properties at once (e.g., change Lifecycle Status and Site for all selected assets simultaneously) |
Inventory Actions Log
Inventory bulk actions are tracked in the same Actions Log used for miner commands. A toggle at the top of the Actions Log allows you to switch between viewing miner command actions and inventory actions, keeping the interface clean and performant.