VNISH GLOBALAcademy

VNISH GLOBAL · Developer reference

Read four miner API endpoints

VNISH API: device information, summary, metrics history and status. A reference based on the document bundled with the specific S19j XP / CV / NAND / 1.3.5 build.

S19j XP · CV · NANDFour GET operationsPrepared:

Start without a miner

Download our small Python examples and run a local fixture. Each fixture is a manually written fragment that explains selected fields. It is not a device response, benchmark or full response schema.

python3 miner_read.py --fixture info
python3 miner_read.py --fixture summary
python3 miner_read.py --fixture metrics
python3 miner_read.py --fixture status

Download examples, fixtures and tests (.zip). Python 3.9 or newer, no extra packages. The ZIP includes its README and MIT license for our original code.

To read a real miner, replace 192.168.1.20 with its exact local IP. Use a device you own or are authorized to read. Our script makes one GET, displays selected fields, and stops.

python3 miner_read.py --base-url http://192.168.1.20 --endpoint info

The four URLs below belong to the miner. They are separate from the public firmware catalog on vnish.global. There is no device scanner or browser connection on this page.

GET/api/v1/info

Start here to identify the firmware and platform reported by the device. Check those values before applying examples from a particular build.

curl --noproxy '*' --fail --max-time 5 --header 'Accept: application/json' \
  'http://192.168.1.20/api/v1/info'
fw_name / fw_version
Firmware name and version. The running device supplies these values.
platform / install_type
Control-board platform and installation type. The documented enums include cv and nand.
model / algorithm
Miner model code and mining algorithm.
hr_measure
The source lists GH/s, MH/s and N/A. Record the device value before interpreting hashrate numbers.

The full response can also include a serial number and system/network information. Our Python example omits those fields; a direct curl request prints the full response.

GET/api/v1/summary

Read the current summary under miner. The source allows miner: null and does not mark that top-level property as required. An absent or null value is missing data, not zero hashrate.

python3 miner_read.py --base-url http://192.168.1.20 --endpoint summary
miner.hr_average
Average hashrate field. Keep the returned number and verify its unit on the actual device.
miner.hr_realtime
Current hashrate field. Do not silently convert it to TH/s.
miner.power_consumption
Power field. The inspected field definition does not declare its unit, so our example keeps the raw numeric value.

The schema marks average_hashrate, instant_hashrate and power_usage as deprecated. Our examples use the fields above. They do not calculate a fee or imply any fee rate.

GET/api/v1/metrics

Read historical samples for a time window. The source defines Unix timestamps, a timezone name, a metrics array and an annotations array.

python3 miner_read.py --base-url http://192.168.1.20 --endpoint metrics \
  --time-slice 3600 --step 60
time_slice
Seconds back from now. Source default: 86400. Documented maximum: 259200 (three days).
step
Averaging step in seconds. Source default: 900 (15 minutes). Our example requires a positive 32-bit integer.
metrics[].time
Unix timestamp. Preserve it for later alignment rather than treating it as a sample counter.
metrics[].data
Includes hashrate, power consumption, maximum PCB/chip temperature and fan duty fields. Our sampler prints only hashrate and power.
annotations
Separate timestamped events. Our sampler prints the number of annotations.

Units for those numeric metric fields are not explicitly stated in the inspected schema. Our example does not infer units or rescale values.

One source description is inconsistent: its HTTP 200 text says “Config saved successfully”. The documented operation is GET and its response schema contains metrics. This reference follows that method and schema.

GET/api/v1/status

Read the miner state and status flags. Receiving a restart or reboot flag is not an instruction to carry out that action.

python3 miner_read.py --base-url http://192.168.1.20 --endpoint status
miner_state
States in the inspected schema include mining, initializing, starting, auto-tuning, restarting, shutting-down, stopped and failure.
miner_state_time
Time in the current state. The source says this is implemented for mining only; it does not state a unit.
find_miner / unlocked
Locate and screen-lock status flags. Reading them does not request a locate or unlock operation.
restart_required / reboot_required
Flags indicating pending restart/reboot requirements. The examples only display them.

Access and failure handling

The inspected /summary operation declares empty, bearer-token and API-key security alternatives. The other three operations do not explicitly declare security requirements. That does not establish the access policy of a running device.

Our script sends no credentials and stops on HTTP 401 or 403. It does not log in, unlock, retry or follow redirects. It accepts explicit local IP addresses only, disables ambient proxies, uses a five-second timeout and caps the response at 2 MiB. HTTPS certificate checks remain enabled.

The selected-field checks are deliberately small. They are not full response validation, a device health assessment or a firmware compatibility test.

Exactly what this reference covers

We inspected the API document bundled with vnish-s19j-xp-cv-nand-v1.3.5.tar.gz: S19j XP, CV control board, NAND, firmware 1.3.5. The document is /usr/share/dashd/ui/docs/api-doc.json inside the extracted package. Its declared server path is /api/v1.

The document title is xminer-api and its info.version is 0.1.0. That is API-document metadata, not the firmware version. This page contains our own explanations and selected interface facts; it does not redistribute the original document.

Firmware archive SHA-256:58d2b534595532214f19676f9eba6cd3ac1a9e59ede5eb519a3a8d2129f04dc3Inspected API document SHA-256:8bc6ed02457447d4d2d96def8cc8866d03a8c35edd8e496eb50b22b8230a1ebc

Verification covered source inspection and offline example tests. No ASIC was contacted, flashed or rebooted. Other models, platforms and firmware releases need their own checks.

Exact package record · VNISH GLOBAL firmware catalog · Version and archive-name example