I've been running bitcoin core 0.15 as regtest, and had X bitcoin in my balance all are from legacy output addresses, As I upgraded to 0.16 core version check in debug the legacy addresses are still validated as mine. but no balance. I wonder will this happen as I will upgrade my wallet at the mainnet as well ?
I wish to be able and support creation of legacy address and SegWit on the same wallet and as of comments on How to generate SegWit address I see I will need to run bitcoin core each time with a new param "-addresstype=legacy" to enable it, so is there a better way ?

[edit 1] - I should/need to run with same "-datadir" arg ?
[edit 2] - I run it under same -datadir.
[edit 3] - I’ve opened issue https://github.com/bitcoin/bitcoin/issues/12872

  • That sounds like a bug. Are you sure? There is extensive testing before release. No balance should ever disappear when upgrading; all your old legacy addresses remain valid; the default addresstype just affects the type of newly created ones. Apr 3, 2018 at 18:51
  • This is regtest. I had bitcoin core 0.15.1 running regtest with balance of 5000 bitcoins and after upgrading to 0.16 I have 0 balance while on console window validateaddress of legacy address from the 0.15.1 version regtest returns "ismine": true. Apr 3, 2018 at 18:56
  • If you go back to 0.15.1, is the balance still there? Are you sure it's fully synchronized, running in the same directory, ... If you believe the balance actually disappeared in 0.16, please file a bug: github.com/bitcoin/bitcoin/issues Apr 3, 2018 at 19:01
  • I want back to 0.15.1, I can see in transaction tab only the newly mined from the 0.16, when I generate payment address it's legacy. when I validate the SegWit address it's valid mine but no issegwit key. So I believe that all got to do with the fact that all this testing done on regtest env. Apr 3, 2018 at 19:11
  • Yes of course you should run with the same -datadir. Otherwise you're working in a completely independent environment with its own wallet. Apr 3, 2018 at 19:17

1 Answer 1


Quoting Suhas Daftuar's response to the issue you opened:

In 0.16, we changed the consensus parameters for regtest so that segwit was always active. This was mentioned briefly in the release notes https://github.com/bitcoin/bitcoin/blob/v0.16.0/doc/release-notes.md#testing-changes, along with a workaround to replicate the old behavior.

I am surprised that you're not seeing the assertion failure mentioned in the release notes, but I suspect this is the cause of what you're seeing.

So this is expected, but only affects regtest.

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.