I'm trying to connect to pool.minexmr.com with port number 4444.

I'm using the npm package stratum here is the link to the npm package and using the example from the example/client.

But I'm receiving an error which I don't understand. The logic is:

connect-> authorize -> subscribe -> submit

I also tried:

connect-> subscribe-> authorize-> submit

But that didn't work as well and isn't logical to me.

The code and output is codepile.

The socket says the authorization is still pending that where the error comes from?

But how do I know when the socket is authorized if async/await and then not working.

As you can see in the second log from the socket Authorized is still false while my console.log says authorized and the socket says that I'm not authorized.

1 Answer 1


Bitcoin's stratum is not the same as Monero's stratum. The node module you are trying to use is a Bitcoin stratum module yet you're trying to use it with a Monero pool. That's the primary reason it's not working for you.

Monero style stratum payloads are shown in this answer, amongst others.

  • Thank you for your answer. Does all cryptonight/randomX coins have the same stratum payload? Where did you find the payload for Monero because I couldn't find anything. Perhaps I'm searching for the wrong query on Google.
    – J_P
    Commented Oct 20, 2020 at 6:35
  • All the Monero pools use the practically the same stratum payloads. I cant speak for "other" coins, you should ask in their communities, this is a Monero StackExchange site. The two easy ways to find out what payloads are being used is capture the network traffic between miner and pool (as mentioned in the linked answer) or looking at pool/miner source code.
    – jtgrassie
    Commented Oct 20, 2020 at 7:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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