Is it possible to program the AntMiner S9 or other ASIC miners?

For example, let's say I only want it to try nonces from 1 to 1 million (instead of all 4 billion possibilities) would it be possible to somehow modify the software on the machine to do this? (please don't ask me why I want to do this, I just want to know if something like this is possible)

If it's possible, what programming language would I use?

Finally, would doing this (significantly) reduce the hash rate of the miner?

2 Answers 2


Yes it is possible. To do so, you will need to modify the firmware and install your own firmware onto the S9. The source code for the firmware is available on Github. The firmware is really a lightweight operating system and includes software such as CGMiner preinstalled. Those preinstalled software are probably what you will need to modify, and those are likely written in C/C++.

Since what you want to modify effects the data that is hashed, it should not effect the hashrate at all.


In theory, this should be possible. I do not know the specific details of what is required but make the presumption that somewhere running on the embedded Linux there is a configuration file for a program that drives the thing.

I do not imagine that it would negatively affect the hash rate.

Not the answer you're looking for? Browse other questions tagged or ask your own question.