LOST COINS in Binance Transaction, Please Help!

Guys,

I don’t know what the hell just happened, but I sent 55,700 sys to Binance for a cash out, and somehow the same transaction sent the rest of my change to a completely unknown address! I think I might’ve lost 45,228 syscoins! But I have no idea how the hell this happened, or if this a wallet bug or Binance issue. Anything you can think of?

here’s the info from my wallet:

Status: 4039 confirmations
Date: 10/3/20 16:31
To: sys1qn7l9k2lfuar8s0ek2pulaeglzqatlcu5cps09l
Debit: -45 228.07175978 SYS
To: binance sys1q3520p4jke3p7z94a4yu5yukl4yj7f3drl6n94u
Debit: -55 700.00000000 SYS
Transaction fee: -0.00102150 SYS
Net amount: -100 928.07278128 SYS
Transaction ID: 4260a7a575531f173e94754442afb6e2b8ea1c0fda21f791626a2bd5ad82da40
Transaction total size: 10215 bytes
Transaction virtual size: 10215 bytes
Output index: 0

Where the hell did sys1qn7l9k2lfuar8s0ek2pulaeglzqatlcu5cps09l come from? I didn’t (knowingly) send syscoin there!?

Also, looking back at my wallet, a similar thing also seemed to have happened last year, except the funds were immediately returned. here 2,000 syscoin were sent to binance, and 92,880 went to sys1qyahnl6t3jc24vn5ld7w6kvpc4kwv7ksg2j2k8z (an address apparently not in my wallet), and then from there it went back to my wallet in about two minutes by another transaction which has zero transaction fees.

I don’t understand this intermediate address and how the hell my wallet apparently made change into it, and then how it came back.

From Last Year:

Status: 530009 confirmations
Date: 10/2/19 00:01
To: sys1qyahnl6t3jc24vn5ld7w6kvpc4kwv7ksg2j2k8z
Debit: -92 880.71615558 SYS
To: binance sys1q3520p4jke3p7z94a4yu5yukl4yj7f3drl6n94u
Debit: -2000.00000000 SYS
Transaction fee: -0.00004380 SYS
Net amount: -94 880.71619938 SYS
Transaction ID: 49e71935809c601c0993e97d7f6cf3c6a4e75f98dfb199c7d1d989637571d661
Transaction total size: 219 bytes
Transaction virtual size: 219 bytes
Output index: 1

IS there some issue with the wallet?

Thanks,

Any insight is much appreciated.

What you’ve described is how a cryptocurrency transaction works, when you send coins from one address, the “change” is sent to another address also controlled by your wallet.

I see that, but in this case my wallet doesn’t seem to be in control of the change address?! Or is there some inter-chain activity here, where it maybe sending the change to the 3.0 or 4.0 Syscoin blockchain?

I notice that the address are of a different form, Can you help my wallet locate its own private key for a legacy blockchain?

Please help! Thanks :pray:

On the [Send] tab in QT you need to click the [Inputs…] button and specify which inputs you want to send from, you should see all the addresses that your wallet has there.

I found the coins on an old backup wallet.
I guess the wallets don’t seem to backup everything?!

Anyway, I’m relieved that I didn’t loose all those coins.

Thank you :blush:

Hi Sebastien,

if you would please just clarify the nomenclature for the various generations of Syscoin addresses and their interoperability, that would be great.

For example sys1qn7…ps09l Vs. SSrk7g…5CBVD etc …

And could there be a bug in the wallet software, which sends the change to a legacy address that’s not actually controlled by the wallet?

Thank you!
SyscoinHODLer

SSrk7g…5CBVD is the legacy address of your masternode. You had to create it with the special legacy option.

sys1qn7…ps09l is a Bech32 address, the default format now that the wallet uses to create new addresses.

Whenever you send coins from 1 address to another, the change goes to a change address taken from your wallets address pool.
I.e.: You did send 55k coins to Binance from an address that had 100k coins, the remaining 45k coins are send to an change address from your wallets address pool. As long as you are not setting a custom change address, the wallet is choosing one that you haven’t used before as a security measure. Depending how quick your transaction gets propagated, it can take a moment for the change to show up in your wallet. Same can happen if you send coins to yourself (in wallet transfer).
It is a visual thing that a pending transaction already shows the coins as sent; as soon a the transaction is accepted by the network, the change shows up too.
If you are fully synced and on a fast connection with good peers, you have to watch it closely to realize it.
Nothing special to syscoin.

2 Likes

Hello there c_e_d,

I understand that my wallet is supposed to use a change address when sending transactions, however in this case my wallet somehow selected a change address which was not in my wallet address pool.

And that’s the issue I had. Fortunately, there must’ve been a slightly different wallet.dat file in one of my backups, and the funds appeared after I loaded one of those.

So the question is: Could there be a bug in the QT-wallet where it’s selecting change addresses from a legacy address pool, which is no longer held in the wallet?

By the way, what’s the command for dumping a human readable text file of the addresses and private keys held by the wallet?

Thank you,
SyscoinHODLer

in debug console: dumpwallet “filename”
This dumps all keys (masterkey, private and public keys, hdkeypath) into a text file.
BE VERY CAREFUL WITH THIS!
ANYONE WITH ACCESS TO THAT TEXT FILE CAN STEAL YOUR COINS!

A wallet gets generated with 2 address pools, one for nomal receiving addresses and one for change addresses. Both with a size of 1000 keys.
The key pools are generated from the masterkey, but in a stochastic way. This means if you generate the key pools twice from the same masterkey, the keys in the pools will not be identical.
Additional: After you have used a certain amount of keys, the wallet will general additional ones to fill the related pool of unused addresses up again. So after some time of use, even two wallets that started with the same set of first generated keys will have different additional keys generated.
All keys are generated from the masterkey. There is a command line option to generate a bigger keypool. With a big enough increase for the keypool size you have a chance to catch those keys one copy of your wallet has generated and the other copy hasn’t (or you can simply import those from the other wallet). I have heard of cases where it took a really large pool increase to catch the missing keys with coins.
Lesson is: Don’t work with more than one version of a wallet. If you need more than one wallet, create the additional ones new. Actively working with several copies of the same original wallet is begging for trouble.

Hello c_e_d,

That took me a while to think about.

Thank you for your clarification.

I guess from now on, every computer with a syscoin wallet will need to be periodically synced, so that they each have the same wallet with the same keys.

Also, to ensure this doesn’t happen, I can use a custom change address known to exist on each of the several computers that I use for syscoin. That way no matter which computer I use, the wallet address database will remain the same.

Please let me know if you see a problem in my procedure.

Thank you!
SyscoinHODLer