Firmware (LuxOS)
API Docs
LUXMiner commands
curtail

curtail

Description

Executes one of the two curtailment actions:

  • sleep: Puts the miner in sleep mode, turning off the hashboards and the power supply.
  • wakeup: Wakes up the miner from sleep mode, turning the power supply on and setting the boards to the target frequency/voltage.

The wakeup turns the boards on and ramp them, similar to what happens on a reboot or profile change. If a faster operation is needed, you can customize the steps using the voltage_step and/or frequency_step parameters, and for maximum speed, you can specify mode=unsafe to set frequency and voltage in a single step automatically. Note that a sleep rig can only be started again by wakeup, as the curtailment state will persist if you restart the machine. Please also note that if you restart the miner while it is in curtail mode, the unsafe mode will not be available for the very first wakeup action after reboot.

⚠️

It is important to note that speed and safety are tradeoffs; the faster you go, the more likely it is to cause extra stress and reduce the device lifetime. It is also more common for individual chips to lose performance and even end up as unhealthy, so please take that into consideration when using this feature.

The frequency and voltage steps limits can be queried using the limits command.

Command

$ echo '{"command": "curtail", "parameter":"yJN2nlj1,sleep"}' | nc $MINER_IP 4028 | jq

Examples

The example below puts the rig in sleep mode.

$ echo '{"command": "curtail", "parameter":"yJN2nlj1,sleep"}' | nc $MINER_IP 4028 | jq
{
  "CURTAIL": [
    {
      "Action": "sleep mode"
    }
  ],
  "STATUS": [
    {
      "Code": 335,
      "Description": "LUXminer 0.1.0-15436f7140",
      "Msg": "Curtailment command sent",
      "STATUS": "S",
      "When": 1681332079
    }
  ],
  "id": 1
}

The example below wakes up the miner, with the same ramping speed as a reboot:

$ echo '{"command": "curtail", "parameter":"yJN2nlj1,wakeup"}' | nc $MINER_IP 4028 | jq
{
  "CURTAIL": [
    {
      "Action": "wake up",
      "FrequencyStep": 5,
      "VoltageStep": 0.05
    }
  ],
  "STATUS": [
    {
      "Code": 335,
      "Description": "LUXminer 0.1.0-15436f7140",
      "Msg": "Curtailment command sent",
      "STATUS": "S",
      "When": 1681332139
    }
  ],
  "id": 1
}

The example below wakes up the miner, with a specific step size. Compared to the usual behavior, this is already faster:

$ echo '{"command": "curtail", "parameter":"yJN2nlj1,wakeup,voltage_step=0.1,frequency_step=50"}' | nc $MINER_IP 4028 | jq
{
  "CURTAIL": [
    {
      "Action": "wake up",
      "FrequencyStep": 50,
      "VoltageStep": 0.1
    }
  ],
  "STATUS": [
    {
      "Code": 335,
      "Description": "LUXminer 0.1.0-15436f7140",
      "Msg": "Curtailment command sent",
      "STATUS": "S",
      "When": 1681332139
    }
  ],
  "id": 1
}

The example below uses the mode parameter with the unsafe value to force it to be as fast as possible. Beware of device stress and potential damage:

$ echo '{"command": "curtail", "parameter":"yJN2nlj1,wakeup,mode=unsafe"}' | nc $MINER_IP 4028 | jq
{
  "CURTAIL": [
    {
      "Action": "wake up"
    }
  ],
  "STATUS": [
    {
      "Code": 335,
      "Description": "LUXminer 2023.12.4.203808-395574e",
      "Msg": "Curtailment command sent",
      "STATUS": "S",
      "When": 1701878900
    }
  ],
  "id": 1
}

If you use mode, it overrides the previous values. In this example, the mode=safe overrides the specific frequency value and use the normal ramping speed instead:

$ echo '{"command": "curtail", "parameter":"yJN2nlj1,wakeup,frequency_step=100,mode=safe"}' | nc $MINER_IP 4028 | jq
{
  "CURTAIL": [
    {
      "Action": "wake up",
      "FrequencyStep": 5,
      "VoltageStep": 0.05
    }
  ],
  "STATUS": [
    {
      "Code": 335,
      "Description": "LUXminer 2023.12.4.203808-395574e",
      "Msg": "Curtailment command sent",
      "STATUS": "S",
      "When": 1701878766
    }
  ],
  "id": 1
}

Parameters

ParameterNotes
session_idA valid session ID. See Session Management for details.
actionEither sleep or wakeup.
voltage_stepOptional. The step size of voltage ramping; only valid on wake up.
frequency_stepOptional. The step size of frequency ramping; only valid on wake up.
modeOptional. Either safe for the normal safe ramp, or unsafe to ramp as fast as possible; only valid on wake up.

Field details

FieldNotes
ActionEither sleep mode or wake up.
FrequencyStepThe step for the frequency ramp. May be omitted on unsafe mode.
VoltageStepThe step for the voltage ramp. May be omitted on unsafe mode.