RustMinerSystem

Documentation

Proxy Port and Fee-Wallet API

RustMinerSystem proxy-port creation, editing, start/stop, import, pool connectivity, and fee-wallet endpoints.

Proxy Port and Fee-Wallet API

Port and wallet calls directly change proxy behavior. Protect create, update, and delete operations with TOTP where possible, and back up configuration before bulk changes.

Port lifecycle

Method Path Purpose
GET /api/ports Read all proxy ports and live summary data.
GET /api/port/{id} Read a port, settings, and fee-wallet configuration.
POST /api/port/new Create a proxy port.
POST /api/port/{id} Edit a proxy port.
POST /api/port/{id}/start Start a port.
POST /api/port/{id}/stop Stop a port.
DELETE /api/port/{id} Delete a port.
POST /api/ports/import Import multiple port configurations.
POST /api/ping Test an upstream pool endpoint.

{id} is the port record ID and is not always the listen-port number. Some chart endpoints use the actual listen port; do not interchange them.

Create or edit a port

Create and edit use the same body shape. Simplified example:

{
  "port": 3333,
  "name": "BTC Proxy",
  "currency": "BTC",
  "category": "sha256",
  "protocol": 0,
  "limit_connections": 60000,
  "pool_address": "stratum.example.com:3333",
  "pool_address2": "backup.example.com:3333",
  "connect_mode": 0,
  "connect_mode2": 0,
  "mode": 0,
  "nc": 0,
  "pattern_addr": "",
  "replace_addr": "",
  "wallets": [],
  "setting": {}
}
Field Meaning
port Local listen port, from 1 through 65534.
currency / category Currency code and algorithm category.
protocol Local-listener protocol enum.
pool_address / pool_address2 Primary and backup upstreams.
connect_mode / connect_mode2 Upstream TCP/TLS mode.
mode Transparent, relay, unified-wallet, or related mode.
wallets Fee-wallet entries submitted with the port.
setting Compression, forced-success, worker replacement, and other advanced settings.

External callers do not run the UI two-step flow. Send only the custom API authentication header; writable endpoint scopes will be documented when the permission model is complete.

Bulk import

POST /api/ports/import
{
  "ports": [
    {}
  ]
}

The response is normally a per-port error list. Handle partial failure even when the HTTP status is 200.

Pool connectivity test

POST /api/ping
{
  "address": "stratum.example.com:3333",
  "conn_type": 0
}

The frontend uses conn_type=0 for a plain connection and 1 for TLS/SSL-like protocols.

Hot-update fee wallets

Method Path Purpose
POST /api/wallet/new Add a fee wallet.
POST /api/wallet/{id} Update a fee wallet.
DELETE /api/wallet/{id} Delete a fee wallet.

Example body:

{
  "server_id": 1,
  "addr": "fee-wallet",
  "device": "fee-worker",
  "pool_address": "pool.example.com:3333",
  "pool_protocol": 0,
  "ratio": 0.01
}

Updates also include the wallet id. ratio is a 0–1 fraction, so 0.01 means 1%. The current frontend uses pool_protocol=0 for TCP and 1 for TLS/SSL.