I made a transaction from Android wallet to Exchange A of 10Gi. The transaction is in pending. I tried a few times to reattach, but the transaction is still in pending.

I made a second transaction from the Android wallet to Exchange B of 10Gi. Because of the Android wallet, there was no error of key-reuse (double spending). The transaction is in pending. I tried a few times to reattach as well, but the transaction is also still in pending.

A few days later someone stole 2Gi from my account. These 2Gi were originally from another transaction I received, that summed with 8Gi I had before in the wallet. Now, these 2Gi are gone. I still have 8Gi in the wallet .

I also learned to not use the Android wallet. So now I'm using the light wallet on a PC.

If I try to send my 8Gi to another address, the light wallet gives me the key-reuse error. Now I have to reattach the pending transaction that I have. The only pending transactions that I can reattach are the two mentioned before, 10Gi to Exchange A, 10Gi to Exchange B. Obviously I don't have anymore 10Gi in my account anymore so the transaction can't go through.

What can I do now? I am stuck because:

  • I can't use the light wallet as it gives me key-reuse (double spending) error
  • I can't use the Android wallet because it will expose my seed even more
  • This is an unfortunate situation. The only way to get those 8Gi is to do another address reuse. But at the same time this will increase the chance of a theft even more.
    – cmpn
    Dec 4, 2017 at 17:30
  • 1
    If you had another 2Gi (and one of the receive addresses for your exchange is still valid) you could send it to the address that originally had the 2Gi and then try to reattach your original transaction (running the risk that someone steals it from you again before your reattach confirms). But probably the risk is lower to reuse the address that currently holds the 8Gi (running the risk that someone steals it as well) by sending it to a new address you control.
    – mihi
    Dec 4, 2017 at 22:12
  • @mihi You mean "But probably the risk is lower THAT to reuse the address that currently holds the 8Gi" ?
    – overkill22
    Dec 5, 2017 at 6:27
  • I wanted to say that probably the risk of performing yet another reuse and possibly losing 8Gi is lower than the risk of possibly losing 10Gi.
    – mihi
    Dec 5, 2017 at 22:19
  • 1
    @Alessio The use case that arises from your question deserves attention. Nevertheless it is necessary to know how it was that "A few days later someone stole 2Gi from my account".
    – blockmined
    Jan 15, 2018 at 15:59

3 Answers 3


Though you have to take the risk of getting your 8Gi funds stolen for exposing more of your private key, the alternative way to create a new transaction without the "key reuse" error is to use the CLI wallet.

Somehow the default MWM is wrong so make sure you set it as 14 when you use it.

  • How would using that wallet help? That is completely unclear based on your answer.
    – Helmar
    Jan 9, 2018 at 12:47
  • I can't use the light wallet as it gives me key-reuse (double spending) error In ordert to avoid this, he needs to use another wallet. I can't use the Android wallet because it will expose my seed even more the Android wallet does not let reuse key anymore thus the CLI wallet. Since the question seems to understand the key reuse issue, the only way to make the 8Gi funds secure is to take the risk of exposing more part of private key and make another transfer to an unused address as fast as possible. General speaking, using the CLI wallet is not recommended but it's a must in this case
    – tawago
    Jan 17, 2018 at 6:27
  • The answer he needs is how to get out of the situation. I don't understand why you are doubting the CLI wallet won't help this case. @Helmar
    – tawago
    Jan 17, 2018 at 6:33
  • 1
    Actually I don't doubt that it would. I'm saying your answer doesn't explain why it would. Any good Stack Exchange answer is expected to stand on it's own and explain why the offered solution is a valid one. Cf this
    – Helmar
    Jan 17, 2018 at 11:24

You need figure out which address your remaining 8g are in. Are the 2g and 8g in the same address before? If so, why you only lost 2g, not 10g? Are you sure your 2g is lost? You need to check if your wallet is synced or not. Maybe the 2g did not show up because your wallet is not synced.

Don’t reuse address. If your 8g or 10g still in your wallet, you can just make another transaction to a new address, you will cancel the previous two transactions to the exchanges.

The single most important first step to send transaction is to check if the server you get connected is synced. The servers are not always synced. To check the synced status, you can compare the two milestone numbers (in the nodeinfo under Tools) in your wallet to the most recent milestone number in the #botbox of the Slack. If all the three numbers are same, your wallet or your server is synced. If they are not same you need either wait for them to be same or change a server.

After you have done the above first step correctly, you can make the transaction. I would say 80% of times your transactions will get confirmed in 30 minutes.

If your trasanction does not get confirmed in 30 minutes, you can do the Promoting (previously called Reattaching). You will see it if clicking the bundle next to the transaction in the History in your wallet. You can do the Promoting once every 30 minutes. But make sure you do the first step to make sure your wallet is synced first every time. You also can use reattach.online to promote or reattach your transaction.

If you do the above steps correctly 99% of your transaction should get confirmed within one Promoting and most will be confirmed without Promoting.

Also don’t send a second transaction before your first transaction gets confirmed. If you do so, one of the transactions will never get confirmed no matter how many promotings or reattachings you do.

  • 1
    not helpful as the address where the 8GI are on has already been spent Jan 5, 2018 at 16:37

The reuse of an address means you reuse an address after you make an outgoing transaction from that address. You can send coins into an address multiple times as long as you never send out coins from that address. Once you make an outgoing transaction from an address you should never use it (for instance to receive coins) again.

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.