RustMinerSystem

Documentation

Dashboard, Version, and System Configuration API

RustMinerSystem currency, resource, version, RMS, notification, preset-pool, and KENC configuration endpoints.

Dashboard, Version, and System Configuration API

These endpoints supply the dashboard, program-version panels, and common system settings. Send X-ACCESS-TOKEN: <Access Token> with every API request.

Currency and system information

Method Path Purpose/parameters
GET /api/currency/config Read currency, algorithm, icon, and public-visibility metadata.
GET /api/sys/base/info Read OS, CPU, memory, and disk information.
GET /api/sys/stat Read CPU, memory, and network-traffic history.
GET /api/device/stats Read total device-count history.
GET /api/currency/online/stat/{coin} Read online-device history for one coin.
GET /api/stat/currency/{currency} Read hashrate history for one currency.
POST /api/config/refresh Request an algorithm-engine refresh; do not call frequently.

Use backend currency codes such as BTC, KAS, or a PoolNode-specific code in {coin} and {currency}.

Version and runtime state

Method Path Purpose
GET /api/local/version Read the running version.
GET /api/version Read remote version and App Center configuration.
GET /api/releases Read release notes.
GET /api/sys/starttime Read the program start timestamp.
GET /api/mb/port Read mobile-access port and state.
GET /api/u/i Read this instance’s UUID.
POST /api/failed/reset Clear the crash/startup-failure flag.

Depending on backend version, version data can be a string or an object with a version property. Clients should support both.

Offline notification settings

GET /api/warning/setting
POST /api/warning/setting

Fields used by the new frontend include:

{
  "is_off": 0,
  "wr": 0,
  "key": "<ServerChan key>",
  "smtp_email": "[email protected]",
  "smtp_secret": "<SMTP password or app secret>",
  "smtp_endpoint": "smtp.example.com",
  "smtp_port": 465,
  "smtp_use_tls": 1
}

Backend versions may return additional fields such as hashrate-loss thresholds. Read the current object and merge changes before saving so newer settings are preserved.

RMS client configuration

GET /api/rms/config
POST /api/rms/config

Example save request:

{
  "ports": {},
  "code": "",
  "mode": 0,
  "title": "RMS",
  "pool_mode": 0,
  "notice": "",
  "info": "",
  "peers": {},
  "host": "miner.example.com",
  "protocol": 1
}

When GET reports an unregistered configuration, the frontend registers defaults with mode: 0, pool_mode: 0, and the configured title. On save it also adds the current page host and uses protocol=1 for HTTPS or 0 for HTTP. Both ports and peers are objects keyed by port; treat the current response as the source of truth for their nested fields.

Preset pools and wallets

Method Path Purpose
GET /api/local/pool/endpoint Read preset pools, wallets, and custom entries.
POST /api/local/pool/endpoint Save the complete preset object.
GET /api/pool/info/{id} Read bundled pool options; the frontend currently uses id=1.

POST replaces the complete configuration. Read, merge, and save when automating changes so existing customPool and customWallet entries are not lost.

KENC key

Method Path Purpose
GET /api/kc/key Read the custom KENC key.
POST /api/kc/key Save the custom KENC key.
POST /api/kc/reset Restore the default KENC key.

Save request:

{
  "k": "<custom key>"
}

Changing the key can affect existing client connections. Confirm matching client and server configuration first.

Currency configuration response

GET /api/currency/config returns an object keyed by currency code, not an array. Each value contains:

Field Type Meaning
object key string Currency identifier used by port and statistics requests.
id number Currency record ID.
name string Currency code.
version string Currency-engine version.
category string Algorithm category; copy it into a port request.
rr / rl / rj number Compatibility metadata; preserve rather than invent values.
pow number Proof-of-work metadata flag.
is_pub number 1 makes the entry visible in the normal UI.
created_at / updated_at string Record timestamps.

Use currency and category from the same entry. See the complete port fields.

Chart responses

Endpoint Response
/api/stat/currency/{currency} ChartPoint[].
/api/sys/stat SystemPoint[].
/api/device/stats DevicePoint[].
/api/currency/online/stat/{coin} CoinDevicePoint[].

ChartPoint, also used by port and worker charts, has s (sample time), s_h (effective hashrate), p_h (fee hashrate), f_h (failed hashrate), s_s (total shares), p_s (fee shares), f_s (failed shares), and d_l (delay in milliseconds). Numeric fields may be null.

SystemPoint contains id, cpu, mem, recv, trans, rk, and time. recv and trans are traffic byte counts; rk is compatibility metadata.

DevicePoint contains id, online, offline, and time. CoinDevicePoint adds cr and rk; either may be null.

System-information response

GET /api/sys/base/info returns:

Field Type Meaning
os_version string Operating-system version.
load_avg string[] 1, 5, and 15 minute load averages.
total_mem / used_mem number Total and used memory.
total_space / available_space / used_space number Disk capacity values.
cpu_usage number Current CPU percentage.
cpu_nums number Logical CPU count.
api_failed_flag number Program-failure flag; 1 requires attention.
rp / exp / t number Runtime compatibility metadata; do not modify without a defined use.

Version and runtime responses

Endpoint Success response
/api/local/version { "version": "x.y.z+build" }.
/api/version Remote configuration with at least version, client versions, APP_INFO, and PAY.
/api/releases GitHub Release-style array.
/api/sys/starttime Numeric Unix timestamp in seconds or milliseconds.
/api/mb/port { port: number, status: number }.
/api/u/i Instance UUID string.
/api/failed/reset HTTP 200 after changing the failure flag.
/api/config/refresh HTTP 200 after accepting the engine-refresh request.

Confirmed top-level /api/version keys include version, PoolNodeAndroidVersion, PoolNodeIosVersion, RustMinerSystemIOSVersion, RustMinerSystemAndroidVersion, RustMinerSystemCliVersion, RMS, APP_INFO, and PAY.

APP_INFO.dialog contains localized title and description; overview contains localized eyebrow, title, description, and counterLabel. apps[] contains key, localized name/title/tagline/description/status, icon, tone, features[], actions[], preview, and platforms[]. An action contains key, localized label, url, icon, target, and rel; a platform contains key, localized label/status/description/stateLabel, icon, and actions[]. Allow additional remote fields.

Configuration responses

Warning notifications

GET /api/warning/setting returns is_off, wr, key, smtp_email, smtp_secret, smtp_endpoint, smtp_port, and smtp_use_tls. The last field is 1 for TLS and 0 otherwise. Redact key and smtp_secret. POST saves the complete object; GET it again after a successful response.

RMS

GET /api/rms/config returns:

Field Type Meaning
url / url2 string Primary and backup RMS URLs.
code string Pairing/access code; treat as sensitive.
mode / pool_mode number RMS operating flags.
ports object Object keyed by listen-port strings.
peers object Object keyed by peer IDs.
title / notice / info string Client display content.

Each peers.* contains coin, rk, cl, cs, and upstream_peers[]; each upstream contains url, port, code, and protocol. The frontend adds current host and protocol when saving. Deep-merge ports and peers.

Preset pools and wallets

GET /api/local/pool/endpoint returns customPool[] and customWallet[]. A pool has address, coin, deal, and name; a wallet has address and name. Associate customPool[].coin with the currency response.

GET /api/pool/info/{id} returns an array with id, category_id, brand, content, url, protocol, and created_at. Use url as the preset upstream and protocol as its connection mode.

KENC

GET /api/kc/key returns the key as a direct string. KENC save and reset calls return a success scalar or HTTP 200. Never log the key response.