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.
Settings
Section titled “Settings”| 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}} |
Defaults by device class
Section titled “Defaults by device class”| 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.
Evaluation order
Section titled “Evaluation order”- Disabled or stopped by you → paused.
- Critical heat or battery below 5 % → paused immediately; running tasks are dropped to protect the device.
- Updating → draining.
- Any other unmet rule (charging, battery, heat, network, data cap, low power, schedule, user active) → draining, then paused once no task is running.
- Otherwise → running.
Changing policies
Section titled “Changing policies”- 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 ofminer.toml; omitted keys use the class defaults.