FirmwareAPI DocumentationCGminer commands

pools

Lists all pools

pools

Description

Lists all the pools, in order, and their statistics. On luxminer, this command outputs four extra fields: GROUP, to indicate the pool group, and PoolId, Enabled and HasPassword, which exist to support editpool.

Command

$ echo '{"command": "pools"}' | nc $MINER_IP 4028 | jq

Examples

$ echo '{"command": "pools"}' | nc $MINER_IP 4028 | jq
{
  "POOLS": [
    {
      "Accepted": 179,
      "AsicBoost": true,
      "Bad Work": 0,
      "Best Share": 262144,
      "Current Block Height": 0,
      "Current Block Version": 536870912,
      "Diff": "32K",
      "Diff1 Shares": 6094848,
      "Difficulty Accepted": 6094848,
      "Difficulty Rejected": 0,
      "Difficulty Stale": 0,
      "Discarded": 0,
      "Enabled": true,
      "GROUP": 0,
      "Get Failures": 0,
      "Getworks": 148,
      "Has GBT": false,
      "Has Stratum": true,
      "Has Vmask": true,
      "HasPassword": false,
      "Last Share Difficulty": 32768,
      "Last Share Time": "00:00:16",
      "Long Pool": "N",
      "POOL": 0,
      "PoolId": 1,
      "Pool Rejected%": 0.0,
      "Pool Stale%": 0.0,
      "Priority": 0,
      "Proxy": "",
      "Proxy Type": "",
      "Quota": 1.0,
      "Rejected": 0,
      "Remote Failures": 0,
      "Stale": 0,
      "Status": "Alive",
      "Stratum Active": true,
      "Stratum Difficulty": 32768,
      "Stratum URL": "btc.global.luxor.tech:700",
      "URL": "stratum+tcp://btc.global.luxor.tech:700",
      "User": "worker",
      "Work Difficulty": 32768,
      "Works": 0
    },
  ],
  "STATUS": [
    {
      "Code": 7,
      "Description": "LUXminer 2024.2.19.131822-ef17c0c4",
      "Msg": "1 Pool(s)",
      "STATUS": "S",
      "When": 1672770089
    }
  ],
  "id": 1
}

Field details

FieldNotes
AcceptedNumber of accepted shares.
AsicBoostAlways true.
Bad WorkAlways zero.
Best ShareHighest difficulty accepted.
Current Block HeightAlways zero.
Current Block VersionCurrent version, according to pool.
Diff1 SharesTotal difficulty of accepted, rejected and stale shares.
DiffA formatted string of the last share difficulty (rounded).
Difficulty AcceptedTotal difficulty of accepted shares.
Difficulty RejectedTotal difficulty of rejected, non-stale shares.
Difficulty StaleTotal difficulty of stale shares.
DiscardedAlways zero.
EnabledWhether the pool is enabled. See editpool.
GROUPGroup ID.
Get FailuresAlways zero.
GetworksNumber of received jobs from the server.
Has GBTAlways false.
Has StratumAlways true.
Has VmaskAlways true
HasPasswordWhether a password is stored for this pool. The password itself is never returned.
Last Share DifficultyDifficulty of the last accepted share.
Last Share TimeA formatted string with the time elapsed since the last accepted share.
Long PoolAlways "N".
POOLPositional index of the pool. See the note below.
PoolIdIdentifier of the pool. See the note below.
Pool Rejected%Percentage of rejected, non-stale shares.
Pool Stale%Percentage of stale shares.
PrioritySame as POOL.
ProxyAlways "".
Proxy TypeAlways "".
QuotaQuota of the group that this pool belongs.
RejectedNumber of rejected, non-stale shares.
Remote FailuresAlways zero.
StaleNumber of stale shares.
StatusStatus of the pool connection. Can be Dead, Connecting, Alive or Disabled.
Stratum Activetrue when the pool is in Alive state, otherwise false.
Stratum DifficultyDifficulty of the pool.
Stratum URLURL of the pool.
URLSame as Stratum URL, but with the protocol prefix.
UserStratum user.
Work DifficultySame as Last Share Difficulty.
WorksAlways zero.

POOL and PoolId

POOL is the pool's position in the list, and it is what removepool, enablepool, disablepool and switchpool take. It is recomputed on every call, so if a pool is added or removed between your pools call and your next command, position n no longer refers to the same pool.

PoolId is the pool's identity. A pool keeps its PoolId when another pool is added or removed, which is why editpool accepts it as id=<PoolId> — use that form to avoid the race above.

PoolId is stable only while the pool exists in the current LUXminer session, not forever:

  • A LUXminer restart re-enumerates the pools from the configuration and reassigns their IDs.
  • IDs are recycled: once a pool is removed, a later addpool can hand its ID to the new pool. A command sent with that ID then acts on the new pool. editpool only guards the short window between resolving the ID and applying the edit; it cannot tell that the ID in your cache is stale.

Do not cache a PoolId across a restart, a reconnect or a removepool; re-read pools and use the fresh value.

On this page