Can anyone explain what the 'Sweep Unmixable' button does, when it would be used, and what fees are involved with using it?


TL;DR It allows you to 'get rid' of outputs in your wallet which have strange amounts like 0.000006839355, and are unmovable without combining them with another output. However, they are unmovable only if they are non-RCT or came before the 2nd hard-fork. Chances are, new users will never have to use this command.

First, let me explain why they're 'unmixable' in the first place.

Your balance is made up of outputs of various amounts which you've received in the past. Every time you send, some of those get combined together until you reach some amount, which is then sent to the destination, and some change returned to your wallet.

Think of outputs as bills: you received a bill of 40 and 100 in the past, and now you want to pay something worth 120. Your wallet 'burns' the 100+40 bills, creates new bills of 120 and 20, sends the 120 to your recipient and returns the 20 to yourself and you're left with the bill of 20, plus whatever else you already had in the wallet. In Monero, these 'bills' can now be created with any amount (pre-RCT, they had to be round numbers like 10, 1, 0.1, 0.01 ...).

Thing is, Monero combines multiple outputs in a ring-signature, effectively hiding the one actually getting spent among other outputs found in the ring signature. Now, with RCT, you can pick any output for the ring signature because all the amounts are hidden. Before, you had to choose other outputs of the exact same value. This required splitting any amount into multiple outputs with common denominations, but there were always some of them which were unique, like 0.000006839355. There's simply no other like it, so there are no other outputs among which it could hide, and it would have to get spent alone. It's a special case which doesn't benefit from applying ring signatures and thus the special treatment. Because of this, you'd only want to use it once to join it with other outputs. The sweep_unmixable command is there to get rid of those special outputs once and for all (if you actually have them in your wallet, that is).

  • Thank you for that explanation. But does that mean that the "sweep unmixable" command will make a transfer with a mixin count of 0? And does that have any negative effect on privacy of related addresses? – Numereyes May 3 '18 at 15:38
  • Yup, mixin 0 so you lose benefits of ring signatures. It does weaken privacy but you can think of most pre-RCT as rather weak privacy-wise anyways (still way better than BTC, tho), as multiple research papers showed. However, by spending them (or sending to yourself) they'll disappear into RCT domain, so after a few TXes, you'll be hiding in the woods again :) – JollyMort May 3 '18 at 16:47

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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