Some pools support payouts to directly go to an exchange by appending a paymentId to the miner's username (which is the wallet address):


I'm wondering how this is implemented in a mining pool. Do you just invoke the transfer or transfer_split RPC and fill the optional paymentId field with the value of PAYMENT_ID? If this is true wouldn't this make it necessary to payout miners with paymentIds in isolation instead of issuing batch transfers?

1 Answer 1


This syntax is implemented in a mining pool's code. The transfer or transfer_split RPCs would not parse that kind of address.

A monero transaction can have one payment ID (this is a bit more complicated as this is not a consensus rule, merely a semantics agreement wallet side), so if you need to use N payment IDs, you will have to have at least N transactions. You can include destinations with no particular payment IDs along with one with a required payment ID, since having a payment ID where none is required does not mess things up.

  • Sorry, what address are you referring to in the first part of your answer? I've understood the second part of your answer that yes those two RPC should be used and that it is possible bundle multiple non-paymentId destinations with a single paymentId destination. The pool will still incur higher transaction fees when processing lots of transfers to different paymentId destinations. Aug 29, 2017 at 20:55
  • By "that kind of address", I meant the kind of "fake" address you stated a miner can use on some pools: ADDRESS.PAYMENT_ID.WORKER
    – user36303
    Aug 29, 2017 at 22:45
  • Thanks for the clarification. I would have never attempted to use such a fake address with an RPC :) Aug 30, 2017 at 5:34

Your Answer

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

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