I just downloaded the version 0.16 and tried to generate a new address via GUI while syncing mainnet blocks. I have never activated multi-signature but it gave me an address starting with "3". As far as I know, segwit addresses currently start with "bc1q". Can someone tell me what's going on?


Not all addresses beginning with a 3 are multisig, and Bitcoin Core does not make you multisig addresses. Addresses beginning with a 3 are P2SH addresses. The segwit addresses Bitcoin Core generates by default are segwit scripts nested in a P2SH address in order to allow for backwards compatibility. If you want to use the native segwit addresses (bech32 addresses that begin with bc1), you can start Bitcoin Core with -addresstype=bech32 or go to the receive tab to get a new address and check the "Use bech32" checkbox.

  • That's the answer. Thanks! Yes, default is P2SH-segwit for now. I think there should be a warning or a prompt for it while upgrading. Some users may not know use of P2SH addresses will result in higher fees. Mar 2 '18 at 23:08
  • Edit: this transaction has only P2SH inputs but its fee rate is low (36.357 sat/B) : blockchain.info/tx/… do you know why? Do we really need bech32 addresses for low fees? Mar 2 '18 at 23:16
  • P2SH nested segwit inputs still have lower fees than legacy. They have higher fees than native segwit. The fee info shown on block explorers are not always correct, especially since fees should really be in fee/weight unit not fee/byte.
    – Andrew Chow
    Mar 2 '18 at 23:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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