{
 "generated": "2026-07-05",
 "safety": "An AI agent may select files, verify model/board/checksum and prepare instructions autonomously. Any flashing, unlocking or firmware-removal step is marked requires_owner_confirmation and must be explicitly confirmed by the miner owner. Steps marked irreversible must never be executed blind.",
 "lock_rules": [
  {
   "id": "bitmain-signature-2024",
   "applies": {
    "stock_from": "2024-03"
   },
   "effect": "Stock Bitmain firmware from March 2024 onward blocks third-party firmware via signature checks. Install requires Toolkit 1.7.1+ (network unlock flow) instead of plain web upload.",
   "gate": "requires_owner_confirmation"
  },
  {
   "id": "aml-usb-lock-2025-09",
   "applies": {
    "board": "aml",
    "stock_from": "2025-09"
   },
   "effect": "Amlogic A113D boards with stock firmware from September 2025 onward additionally lock the USB port. Unlock USB first, then install; follow the guided flow or contact support before proceeding.",
   "gate": "requires_owner_confirmation"
  },
  {
   "id": "ssh-error-2024",
   "applies": {
    "symptom": "ssh error during toolkit install"
   },
   "effect": "If a 2024 stock build refuses install with an ssh error: first apply the newest stock web-update from the Recovery & Stock Center, then retry the install.",
   "gate": "none"
  }
 ],
 "vocabulary": {
  "boards": [
   "aml",
   "xil",
   "cv",
   "bb"
  ],
  "methods": [
   "toolkit-nand",
   "web-update",
   "sd-image",
   "usb-otg"
  ],
  "goals": [
   "first-install",
   "update",
   "rollback",
   "recovery"
  ]
 },
 "routes": [
  {
   "route": "l7-xil-nand",
   "model": "l7",
   "alias": "Antminer L7",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-l7-xil-nand-v1.3.4.tar.gz",
   "sha256": "1e46b8139e44d993f365352b680715dcfad040366d980d8636eefcdc18f41c62",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-l7-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "l9-aml-nand",
   "model": "l9",
   "alias": "Antminer L9",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-l9-aml-nand-v1.3.4.tar.gz",
   "sha256": "459435cbb4a20f8f135552a9af9924e16d255da1628ccb6d638a2cb86bb3c35d",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-l9-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   },
   "warning": {
    "incompatible_stock_build": "FR-1.19(260302-L9)",
    "action": "contact-support"
   }
  },
  {
   "route": "l9-cv-nand",
   "model": "l9",
   "alias": "Antminer L9",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-l9-cv-nand-v1.3.4.tar.gz",
   "sha256": "afdf2126fa7a6e40e0fd5b918c7cf9ca9b2561870670ad35816bfa703a47a03e",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-l9-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   },
   "warning": {
    "incompatible_stock_build": "FR-1.19(260302-L9)",
    "action": "contact-support"
   }
  },
  {
   "route": "s19-xil-nand",
   "model": "s19",
   "alias": "Antminer S19",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19-xil-nand-v1.3.4.tar.gz",
   "sha256": "931fd3551dcb7d264e45180397f031c3b3a642f07150159e0b343d6b1837f035",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19-126-aml-nand",
   "model": "s19-126",
   "alias": "Antminer S19 (126)",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s19-126-aml-nand-v1.3.4.tar.gz",
   "sha256": "1b81f501c9ddb453d3b773df50e9f8c0fcc73bdd17ed21eaf5a0d620701adb78",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19-126-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19-126-cv-nand",
   "model": "s19-126",
   "alias": "Antminer S19 (126)",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-s19-126-cv-nand-v1.3.4.tar.gz",
   "sha256": "78877a6c1cfd6083e5ea92969efadbbf143015ae4227c7edfd2e136fd2a45210",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19-126-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19-88-aml-nand",
   "model": "s19-88",
   "alias": "Antminer S19 (88)",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s19-88-aml-nand-v1.3.4.tar.gz",
   "sha256": "fc91465dbedbf4fed85b15f5cff4bcfb83247c877fbf07ed940c3b2f55f3c33a",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19-88-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19-88-bb-nand",
   "model": "s19-88",
   "alias": "Antminer S19 (88)",
   "board": "bb",
   "board_name": "BeagleBone",
   "file": "vnish-s19-88-bb-nand-v1.3.4.tar.gz",
   "sha256": "a7a3e49237491f16e997aab43d9649cac22e2fd60bf2bb21c68118b0581fdd2d",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19-88-bb-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19-88-cv-nand",
   "model": "s19-88",
   "alias": "Antminer S19 (88)",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-s19-88-cv-nand-v1.3.4.tar.gz",
   "sha256": "9ee66b368148f5750e9c9a9ceca8edc051f1591caf236dd4336809522919b970",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19-88-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19-88-xil-nand",
   "model": "s19-88",
   "alias": "Antminer S19 (88)",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19-88-xil-nand-v1.3.4.tar.gz",
   "sha256": "e864e3b32ff7ffac04dded716a1a768899ac75d31916af8e5ca792c5481fc828",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19-88-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19-hydro-xil-nand",
   "model": "s19-hydro",
   "alias": "Antminer S19 Hydro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19-hydro-xil-nand-v1.3.4.tar.gz",
   "sha256": "0c7bcf1900cbd0ee12ff0ac20d0349989d5688bee19cad378ce9a23807c0d142",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19-hydro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19a-xil-nand",
   "model": "s19a",
   "alias": "Antminer S19a",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19a-xil-nand-v1.3.4.tar.gz",
   "sha256": "d1b0139a1dfd92697b7eee90eedadc033091890c770986c6ed21bf5f8caafcfe",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19a-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19apro-xil-nand",
   "model": "s19apro",
   "alias": "Antminer S19A Pro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19apro-xil-nand-v1.3.4.tar.gz",
   "sha256": "a80dffb1a9d2cb076083fe1bf89a83e9fe46b1d14cae73c49baa0bc4f234d0f2",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19apro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19e-xp-hydro-xil-nand",
   "model": "s19e-xp-hydro",
   "alias": "Antminer S19e XP Hydro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19e-xp-hydro-xil-nand-v1.3.4.tar.gz",
   "sha256": "7601944d5587622612fb2e1f64f7c6e7bdd9ebde5f63a8012b3ddba9471a1be7",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19e-xp-hydro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19i-xil-nand",
   "model": "s19i",
   "alias": "Antminer S19i",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19i-xil-nand-v1.3.4.tar.gz",
   "sha256": "30f6343baedddc3e934beb5a8261b505ac61a0e0fa300c67c8058f84c2dbaef9",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19i-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19j-bb-nand",
   "model": "s19j",
   "alias": "Antminer S19j",
   "board": "bb",
   "board_name": "BeagleBone",
   "file": "vnish-s19j-bb-nand-v1.3.4.tar.gz",
   "sha256": "5f1ae16b9ea8c19f9f6addc0d019eff02dcb5aebbcdfb5124fa05f26702b10c8",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19j-bb-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19j-cv-nand",
   "model": "s19j",
   "alias": "Antminer S19j",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-s19j-cv-nand-v1.3.4.tar.gz",
   "sha256": "ef4f6829b1e7510b606bdb3fc2c469e46998d2476195b42bb452557a381bf8d9",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19j-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19j-xil-nand",
   "model": "s19j",
   "alias": "Antminer S19j",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19j-xil-nand-v1.3.4.tar.gz",
   "sha256": "20f15e964d2fe9baa3667752d17aa749d9c527cd2dcca6667463ea4944bcc43b",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19j-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19j-plus-aml-nand",
   "model": "s19j-plus",
   "alias": "Antminer S19j+",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s19j-plus-aml-nand-v1.3.4.tar.gz",
   "sha256": "ab88ee0a9c3bf64204b30f7b1d7abc63aa8b8dde5e252e9ef09524673911889e",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19j-plus-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19j-plus-bb-nand",
   "model": "s19j-plus",
   "alias": "Antminer S19j+",
   "board": "bb",
   "board_name": "BeagleBone",
   "file": "vnish-s19j-plus-bb-nand-v1.3.4.tar.gz",
   "sha256": "d65c9437a05f1ecbf7996b17c5ea291c3e87090bd7ddaef209cc7c675cb577b3",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19j-plus-bb-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19j-plus-cv-nand",
   "model": "s19j-plus",
   "alias": "Antminer S19j+",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-s19j-plus-cv-nand-v1.3.4.tar.gz",
   "sha256": "bf0b72d5711b774ab58876458ad589f621660bbd5ad048577f6b1e62dce7eb3c",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19j-plus-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19j-plus-xil-nand",
   "model": "s19j-plus",
   "alias": "Antminer S19j+",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19j-plus-xil-nand-v1.3.4.tar.gz",
   "sha256": "6361a55b19bc99226c94af421e24d339f5b50377f3188b4632ee0e6e5c101321",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19j-plus-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19j-xp-aml-nand",
   "model": "s19j-xp",
   "alias": "Antminer S19j XP",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s19j-xp-aml-nand-v1.3.4.tar.gz",
   "sha256": "a941e456e35d781cc994cec3ce0693c08d98cfaafba3e8a2578272dbe318c438",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19j-xp-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19j-xp-cv-nand",
   "model": "s19j-xp",
   "alias": "Antminer S19j XP",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-s19j-xp-cv-nand-v1.3.4.tar.gz",
   "sha256": "88e1322c3973611423bf0666989e3c4f412bbe8a478112164e379fe52e4bb092",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19j-xp-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19j-xp-xil-nand",
   "model": "s19j-xp",
   "alias": "Antminer S19j XP",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19j-xp-xil-nand-v1.3.4.tar.gz",
   "sha256": "d258ec81eb4b60121e8c9fea3061f25244e8a64133031ae82622fe96c5938ffa",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19j-xp-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19jpro-aml-nand",
   "model": "s19jpro",
   "alias": "Antminer S19j Pro",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s19jpro-aml-nand-v1.3.4.tar.gz",
   "sha256": "e2e7986d6c04faa8d935a4bef2987ae6a0ec0434a93e5225d369d53b2f1035cf",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19jpro-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19jpro-bb-nand",
   "model": "s19jpro",
   "alias": "Antminer S19j Pro",
   "board": "bb",
   "board_name": "BeagleBone",
   "file": "vnish-s19jpro-bb-nand-v1.3.4.tar.gz",
   "sha256": "27f21cf147760746fd321e3e4a0377003765b8f62627af51d2918725198bca03",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19jpro-bb-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19jpro-cv-nand",
   "model": "s19jpro",
   "alias": "Antminer S19j Pro",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-s19jpro-cv-nand-v1.3.4.tar.gz",
   "sha256": "a8ff98cdc7e43674008b7adcd58c589eb97bc274743e48efc3aa6e6ca653ff7d",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19jpro-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19jpro-xil-nand",
   "model": "s19jpro",
   "alias": "Antminer S19j Pro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19jpro-xil-nand-v1.3.4.tar.gz",
   "sha256": "8a9449ce44660e8de305dce0726ac45dbb8cd9b66b0fdee499bad08946707174",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19jpro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19jpro-a-aml-nand",
   "model": "s19jpro-a",
   "alias": "Antminer S19j Pro A",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s19jpro-a-aml-nand-v1.3.4.tar.gz",
   "sha256": "afd3d25d07fb446b8ab079aa1ed0b09229073f6d7a4f2ce174c7958df954ccf4",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19jpro-a-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19jpro-a-bb-nand",
   "model": "s19jpro-a",
   "alias": "Antminer S19j Pro A",
   "board": "bb",
   "board_name": "BeagleBone",
   "file": "vnish-s19jpro-a-bb-nand-v1.3.4.tar.gz",
   "sha256": "6c55bb9cbd7946fb54635d7b9f832d9e1d39b62e896987a6a9bc892dbad20d6c",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19jpro-a-bb-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19jpro-a-cv-nand",
   "model": "s19jpro-a",
   "alias": "Antminer S19j Pro A",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-s19jpro-a-cv-nand-v1.3.4.tar.gz",
   "sha256": "35aa56a9b80895658868a100da25078b6d30d9a4c877b96b1901f867cb3c1878",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19jpro-a-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19jpro-plus-aml-nand",
   "model": "s19jpro-plus",
   "alias": "Antminer S19j Pro+",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s19jpro-plus-aml-nand-v1.3.4.tar.gz",
   "sha256": "eca01f752b956055b744ee277181b4ac2c859e57438c2f579e94a154c26a7f6f",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19jpro-plus-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19jpro-plus-bb-nand",
   "model": "s19jpro-plus",
   "alias": "Antminer S19j Pro+",
   "board": "bb",
   "board_name": "BeagleBone",
   "file": "vnish-s19jpro-plus-bb-nand-v1.3.4.tar.gz",
   "sha256": "8dd843fd8574eaec5841a126d9b9d2a9818782649187b34e03d1aae8998af26a",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19jpro-plus-bb-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19jpro-plus-cv-nand",
   "model": "s19jpro-plus",
   "alias": "Antminer S19j Pro+",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-s19jpro-plus-cv-nand-v1.3.4.tar.gz",
   "sha256": "4f7a681a83859e476e21d0d846df4cb4afb49bee8414cca8aa982a2c44a815d8",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19jpro-plus-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19jpro-plus-xil-nand",
   "model": "s19jpro-plus",
   "alias": "Antminer S19j Pro+",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19jpro-plus-xil-nand-v1.3.4.tar.gz",
   "sha256": "03942a74e3c6a0c32c15b9ef77a07f9597f5e56ed1cf38059f781884d92caa6b",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19jpro-plus-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19kpro-aml-nand",
   "model": "s19kpro",
   "alias": "Antminer S19k Pro",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s19kpro-aml-nand-v1.3.4.tar.gz",
   "sha256": "91b3239aaed1a5afc9a57f193b0233f9f5ab703142d58a8a31d002a4ea0938c3",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19kpro-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   },
   "warning": {
    "incompatible_stock_build": "FR-1.28(251010-S19k Pro)",
    "action": "contact-support"
   }
  },
  {
   "route": "s19kpro-cv-nand",
   "model": "s19kpro",
   "alias": "Antminer S19k Pro",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-s19kpro-cv-nand-v1.3.4.tar.gz",
   "sha256": "e6bfbf24498be2546c9ce6ed81be27306b0f3d7b296e9db86fbac65f0761d195",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19kpro-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   },
   "warning": {
    "incompatible_stock_build": "FR-1.28(251010-S19k Pro)",
    "action": "contact-support"
   }
  },
  {
   "route": "s19kpro-xil-nand",
   "model": "s19kpro",
   "alias": "Antminer S19k Pro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19kpro-xil-nand-v1.3.4.tar.gz",
   "sha256": "e8d2e2a4b167dbe7b658bba04fb3420ccfc5db0dd006175c189d5b0057415867",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19kpro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   },
   "warning": {
    "incompatible_stock_build": "FR-1.28(251010-S19k Pro)",
    "action": "contact-support"
   }
  },
  {
   "route": "s19plus-xil-nand",
   "model": "s19plus",
   "alias": "Antminer S19+",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19plus-xil-nand-v1.3.4.tar.gz",
   "sha256": "899f3fa0e2456ec78f49b1708f6c70243a8ab9014c6baf7f04a6ca2ecf9d887e",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19plus-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19pro-xil-nand",
   "model": "s19pro",
   "alias": "Antminer S19 Pro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19pro-xil-nand-v1.3.4.tar.gz",
   "sha256": "20ff9aadf6a99729719782aad693b69aa1d9ef8db79ade9a119d9e01aac7f4c7",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19pro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19pro-a-xil-nand",
   "model": "s19pro-a",
   "alias": "Antminer S19 Pro-A",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19pro-a-xil-nand-v1.3.4.tar.gz",
   "sha256": "9dd15ae23c1b79b1f4e47d40b063caa97e55cba93d229f836985abd3edc95514",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19pro-a-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19pro-hydro-xil-nand",
   "model": "s19pro-hydro",
   "alias": "Antminer S19 Pro Hydro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19pro-hydro-xil-nand-v1.3.4.tar.gz",
   "sha256": "fc6c46b9f3e2e20654e446df4566a75e650847c91e260f84b1136f3fc6aae3c1",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19pro-hydro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19pro-hydro-120-xil-nand",
   "model": "s19pro-hydro-120",
   "alias": "Antminer S19 Pro Hydro (120)",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19pro-hydro-120-xil-nand-v1.3.4.tar.gz",
   "sha256": "0082d9991237cdfc8ba2bb1dd1778670a0b4bc938b549fa567923d82128b806f",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19pro-hydro-120-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19pro-plus-hydro-xil-nand",
   "model": "s19pro-plus-hydro",
   "alias": "Antminer S19 Pro+ Hydro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19pro-plus-hydro-xil-nand-v1.3.4.tar.gz",
   "sha256": "7598b685c5db7dd10c7c46731cb9cbda4dead93f7457a708d569cb73f6778d08",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19pro-plus-hydro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19xp-aml-nand",
   "model": "s19xp",
   "alias": "Antminer S19 XP",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s19xp-aml-nand-v1.3.4.tar.gz",
   "sha256": "cbdc4e3ad9f7a5f1baec9ea1aa486b06db9b50930ee6c3a65a006fa72eb13d71",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19xp-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19xp-cv-nand",
   "model": "s19xp",
   "alias": "Antminer S19 XP",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-s19xp-cv-nand-v1.3.4.tar.gz",
   "sha256": "7ff5391d1b3d42c4830aa9b33a838c66646fa5322f67f4f37142802a75b2fc2e",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19xp-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19xp-xil-nand",
   "model": "s19xp",
   "alias": "Antminer S19 XP",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19xp-xil-nand-v1.3.4.tar.gz",
   "sha256": "86b0f300eef82e347dceedb0fd4916aa8ec55807a80b606be249fe6fbc8ebb2f",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19xp-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19xp-hydro-xil-nand",
   "model": "s19xp-hydro",
   "alias": "Antminer S19 XP Hydro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19xp-hydro-xil-nand-v1.3.4.tar.gz",
   "sha256": "0bcca6d466a2fc1db9c4d278910221d7111cab0ad9cee65d517184c53ce0c150",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19xp-hydro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19xp-plus-aml-nand",
   "model": "s19xp-plus",
   "alias": "Antminer S19 XP+",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s19xp-plus-aml-nand-v1.3.4.tar.gz",
   "sha256": "6bbc2a4822f603e3851401a6d4f1af14f42bf5aedb91eb9de44e51a673aa1a6b",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19xp-plus-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s19xp-plus-hydro-xil-nand",
   "model": "s19xp-plus-hydro",
   "alias": "Antminer S19 XP+ Hydro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s19xp-plus-hydro-xil-nand-v1.3.4.tar.gz",
   "sha256": "6d2c1838f724c39db6a643db10f782ab1681f61cb650de69a53cf73de3cb72bd",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s19xp-plus-hydro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21-aml-nand",
   "model": "s21",
   "alias": "Antminer S21",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s21-aml-nand-v1.3.4.tar.gz",
   "sha256": "5474fc4e3d97b0460cc95ca402752eb755199c38b1a61e3165e4d67550344b58",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21-hydro-xil-nand",
   "model": "s21-hydro",
   "alias": "Antminer S21 Hydro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s21-hydro-xil-nand-v1.3.4.tar.gz",
   "sha256": "78926aecc84dab3940d08c165450f13d8e022a7402602fe0653120babc3a9367",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21-hydro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21-imm-aml-nand",
   "model": "s21-imm",
   "alias": "Antminer S21 Imm",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s21-imm-aml-nand-v1.3.4.tar.gz",
   "sha256": "e9269a67d413c686c4a7d21af003000ba4d7fa22d4b36af8ced4d9dec511d078",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21-imm-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21e-hydro-aml-nand",
   "model": "s21e-hydro",
   "alias": "Antminer S21e Hydro",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s21e-hydro-aml-nand-v1.3.4.tar.gz",
   "sha256": "50ccbe2d9c37c2286367c48756c3c81b2a9bf15277134699b46ae6925bedc92b",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21e-hydro-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21e-hydro-xil-nand",
   "model": "s21e-hydro",
   "alias": "Antminer S21e Hydro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s21e-hydro-xil-nand-v1.3.4.tar.gz",
   "sha256": "0790bbd3b5d57ab22f56ecc000319f87e651ee38e6466ea08c91f647bb6b18fb",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21e-hydro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21e-xp-hydro-xil-nand",
   "model": "s21e-xp-hydro",
   "alias": "Antminer S21e XP Hydro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s21e-xp-hydro-xil-nand-v1.3.4.tar.gz",
   "sha256": "0cbcbf781b3dff559fc806a00a2347be37c79afa7b325d0eb9dfda965ff342a9",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21e-xp-hydro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21plus-aml-nand",
   "model": "s21plus",
   "alias": "Antminer S21+",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s21plus-aml-nand-v1.3.4.tar.gz",
   "sha256": "92afc21d30b0ab896fdb47d36f6fddb5377625415f8bcef98464704d01814c4a",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21plus-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21plus-hydro-cv-nand",
   "model": "s21plus-hydro",
   "alias": "Antminer S21+ Hydro",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-s21plus-hydro-cv-nand-v1.3.4.tar.gz",
   "sha256": "b39e17689e217959a1dfd8cdda84c06f00dba298a8e3c486bd71640f49eb5ef0",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21plus-hydro-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21plus-hydro-xil-nand",
   "model": "s21plus-hydro",
   "alias": "Antminer S21+ Hydro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s21plus-hydro-xil-nand-v1.3.4.tar.gz",
   "sha256": "3a06e4854af8e615d626fb8d2611558df37fbb39a762271c5cdd8072e60fe4b4",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21plus-hydro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21pro-aml-nand",
   "model": "s21pro",
   "alias": "Antminer S21 Pro",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s21pro-aml-nand-v1.3.4.tar.gz",
   "sha256": "53248a81f7640f38bfc526c9888a5636798c13ed6deac1367a1818230f14170f",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21pro-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21pro-plus-aml-nand",
   "model": "s21pro-plus",
   "alias": "Antminer S21 Pro+",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s21pro-plus-aml-nand-v1.3.4.tar.gz",
   "sha256": "3b12f77a8fd4956502cb60202df27904ae5c3b43c9a72f96001a813633529294",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21pro-plus-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21xp-aml-nand",
   "model": "s21xp",
   "alias": "Antminer S21 XP",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s21xp-aml-nand-v1.3.4.tar.gz",
   "sha256": "1d8712255bde70c74020ea8b94a4682ce9924d29bec46f846d30efa47628ad31",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21xp-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21xp-hydro-xil-nand",
   "model": "s21xp-hydro",
   "alias": "Antminer S21 XP Hydro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-s21xp-hydro-xil-nand-v1.3.4.tar.gz",
   "sha256": "2bcf785218433edf6bb72b17036a4a5f15d10a491d8ca71733aa3c1726e032e5",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21xp-hydro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "s21xp-imm-aml-nand",
   "model": "s21xp-imm",
   "alias": "Antminer S21 XP Imm",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-s21xp-imm-aml-nand-v1.3.4.tar.gz",
   "sha256": "18f564d925f8cf671a6395279b4d5ed46900ae024d32dac3644228282a7dc7c2",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-s21xp-imm-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "t19-xil-nand",
   "model": "t19",
   "alias": "Antminer T19",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-t19-xil-nand-v1.3.4.tar.gz",
   "sha256": "463a3254504ef75b87664eb4fdc62e11eafed67f25196640c4c299e90b320d23",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-t19-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "t19-hydro-xil-nand",
   "model": "t19-hydro",
   "alias": "Antminer T19 Hydro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-t19-hydro-xil-nand-v1.3.4.tar.gz",
   "sha256": "cf6006226775564fa6fd250dec5907e2b62465f83b909a89e66af234c1060366",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-t19-hydro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "t19pro-hydro-xil-nand",
   "model": "t19pro-hydro",
   "alias": "Antminer T19 Pro Hydro",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-t19pro-hydro-xil-nand-v1.3.4.tar.gz",
   "sha256": "86853489c7536e0443937b3e4a2e95bf5b3473f52c949e62487b7c1eee65c488",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-t19pro-hydro-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "t21-aml-nand",
   "model": "t21",
   "alias": "Antminer T21",
   "board": "aml",
   "board_name": "Amlogic",
   "file": "vnish-t21-aml-nand-v1.3.4.tar.gz",
   "sha256": "0d185bfe2b2c73a98e0b56d75f2883ec86340bfa54f680224f63f3da7f96db93",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-t21-aml-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "aml-usb-lock-2025-09",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "t21-cv-nand",
   "model": "t21",
   "alias": "Antminer T21",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-t21-cv-nand-v1.3.4.tar.gz",
   "sha256": "afc8b4c445b7c20f55e4d3299a8b5cf43623b1ed660fd3a2650dfd4fba72a268",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-t21-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "t21-xil-nand",
   "model": "t21",
   "alias": "Antminer T21",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-t21-xil-nand-v1.3.4.tar.gz",
   "sha256": "c57b662f2bd65ee1d445bee4d2bfef3cbe530f70cfcf55d7541438d9b1486fa5",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-t21-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "u3s19xph-cv-nand",
   "model": "u3s19xph",
   "alias": "Antminer U3S19XP+H",
   "board": "cv",
   "board_name": "CVITEK",
   "file": "vnish-u3s19xph-cv-nand-v1.3.4.tar.gz",
   "sha256": "1fbd8174dbce7ffd8ecba7ca4fa93bdcd92fc8b6c448a410dd94039794cbb0fe",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-u3s19xph-cv-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  },
  {
   "route": "u3s21exph-xil-nand",
   "model": "u3s21exph",
   "alias": "Antminer U3S21EXPH",
   "board": "xil",
   "board_name": "Xilinx",
   "file": "vnish-u3s21exph-xil-nand-v1.3.4.tar.gz",
   "sha256": "9b65807eb5c6cf0b3a0f5b9c8e4f189c1ab9affa408baa27f0ac192e7a8c8d28",
   "url": "https://roiasic.com/downloads/firmware/1.3.4/stable/vnish-u3s21exph-xil-nand-v1.3.4.tar.gz",
   "goals": {
    "first-install": {
     "method": "toolkit-nand",
     "lock_rules": [
      "bitmain-signature-2024",
      "ssh-error-2024"
     ],
     "steps": [
      {
       "n": 1,
       "text": "Download the install file for your exact model and control board from ROIASIC; verify SHA-256 against the value printed next to the download",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Install and open the toolkit, create a group with your miners' IP range, let it scan the network",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Select the miners, choose Install firmware, point it to the folder with the downloaded ROIASIC file (files may look invisible in the picker - this is normal)",
       "gate": "none"
      },
      {
       "n": 4,
       "text": "Start the installation and watch the Operations panel until status is Installed. Do not power-cycle the miner while flashing",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 5,
       "text": "Open the miner web UI, set your pools and wallet, pick a preset, confirm hashrate is stable",
       "gate": "none"
      }
     ]
    },
    "update": {
     "method": "web-update",
     "steps": [
      {
       "n": 1,
       "text": "Download the update file for your exact model and board; verify SHA-256",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "In the miner web UI open Update Center / firmware upgrade, select the .tar.gz",
       "gate": "none"
      },
      {
       "n": 3,
       "text": "Confirm the flash and wait for the miner to reboot. Do not cut power during the update",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      },
      {
       "n": 4,
       "text": "Verify version, presets and pools after reboot",
       "gate": "none"
      }
     ]
    },
    "rollback": {
     "method": "built-in",
     "steps": [
      {
       "n": 1,
       "text": "In the firmware web UI open System > Backup and Restore",
       "gate": "none"
      },
      {
       "n": 2,
       "text": "Press Return to stock firmware and confirm; the miner reboots into original Bitmain firmware",
       "gate": "requires_owner_confirmation",
       "irreversible": true
      }
     ]
    },
    "recovery": {
     "method": "support",
     "note": "Bricked or locked miner - route to support and Recovery & Stock Center"
    }
   }
  }
 ]
}