Taking the example of spending your entire balance from one wallet to another (assuming the receiving address is a long stealth address, not a short basecoin address), you should at each step ensure that any immature or unconfirmed balance has progressed to the spendable state. If it fails to be spendable wait a few more minutes. All of these commands are able to be done in the Debug Console (although all except basecoin can be spent in the graphical interface, unless the target address is a basecoin (bv) address. 

To find the Debug Console use Settings, Advanced Options.


The simplest way is in the Debug Console:

  1. Always check the available balances of each type by using the command getbalances in the Debug Console.
  2. Spend the basecoin balance, allowing about one Veil for fees and change. Any change automatically goes to your stealth (CT) balance.
    sendbasecointostealth Address Amount
  3. Spend the stealth (CT) balance, allowing about one Veil for fees and change. Any small change automatically goes to your RingCT balance. (If you specified too much less than the full CT balance some amount might be returned to CT instead of to RingCT.)
    sendstealthtoringct Address Amount
  4. Spend from your RingCT balance about one Veil less than the RingCT total. This will likely reduce the number of UTXOs (unspent coins) required to be spent in the last step. 
    sendringcttoringct Address Amount
  5. Spend the remaining RingCT balance. (Repeat the above, with half the remainder if the remainder is still unspendable.) 
    sendringcttoringct Address Amount "" "" TotalBalance


If your target address is for an exchange, at present you will need to use a basecoin address and change your command from sendringcttoringct to sendringcttobasecoin.


Any words with capital letters are not to be typed, but you should type the actual information.

"Address" is the payee address, a long string of characters beginning with sv.

"Amount" is the amount you are telling the wallet to send.

Instead of the words "TotalBalance", type the actual total amount remaining to be sent.


Finally, you can minimise time waiting for confirmations of change simply by adding the 

 "" "" true

to the sendbasecoin.. and sendstealth... commands also, and if consolidating to RingCT you can sendstealthtoringct without waiting for more than one confirmation.


See also: