Skip to content

Policies

Policies decide when the miner accepts work. They are evaluated on every device-state change and every 15 seconds. When a policy pauses mining, the miner tells the relay it is unavailable, declines new offers (declining is never penalized) and finishes tasks it already accepted.

Key Meaning
enabled master switch
require_charging mine only on external power
min_battery_pct / resume_battery_pct stop below, resume at
max_thermal highest thermal state for new work: nominal < fair < serious < critical
networks allowed transports: wifi, ethernet, cellular
allow_metered allow metered connections (needed for cellular)
max_data_mb_per_day relay traffic + module downloads per local day; 0 = unlimited
max_cpu_pct executor threads = max(1, ceil(cores × pct / 100))
max_threads hard cap on threads (0 = none)
max_memory_mb memory budget
max_concurrent_leases tasks run in parallel (the slots announced to the relay)
pause_on_low_power_mode pause in battery saver / Low Power Mode
pause_when_user_active desktop: pause while you use the computer (idle < 120 s)
schedule local-time windows, e.g. [{"days": [1,2,3,4,5], "start": "22:00", "end": "24:00"}] (1 = Monday)
projects per project: {"0x…": {"enabled": true, "max_concurrent": 1}}
Key phone / tablet laptop desktop server
require_charging true false false false
min_battery_pct / resume_battery_pct 40 / 50 20 / 30 — —
max_thermal fair fair serious serious
networks wifi, ethernet all all all
allow_metered false false true true
max_data_mb_per_day 500 2000 0 (unlimited) 0
max_cpu_pct 50 50 75 100
max_concurrent_leases 1 cores / 4 (≥ 1) cores / 2 cores
pause_on_low_power_mode true true — —

On phones and tablets an unknown charging state or battery level counts as on battery.

  1. Disabled or stopped by you → paused.
  2. Critical heat or battery below 5 % → paused immediately; running tasks are dropped to protect the device.
  3. Updating → draining.
  4. Any other unmet rule (charging, battery, heat, network, data cap, low power, schedule, user active) → draining, then paused once no task is running.
  5. Otherwise → running.
  • Apps and dashboard: Policies.
  • CLI: necter-miner policy show, necter-miner policy set max_cpu_pct=50 require_charging=true.
  • Config file: the [policy] table of miner.toml; omitted keys use the class defaults.