This section has been updated to Bitcoin Core @ v23.0

Bitcoin Core includes an optional wallet component. The wallet allows users to make and receive transactions using their own node, so that they can validate incoming payment against their own node.

The wallet component has the following general aims:

  1. Have best-in-class security

    • Be extremely well tested

    • Be reviewed by competent developers

  2. Have good privacy by default

  3. Be smart about coin selection with respect to:

    • Transaction fees

    • Privacy

  4. Implement state-of-the-art features:

    • Taproot

    • Wallet descriptors

    • Miniscript

  5. Be backwards compatible with old (Bitcoin Core) wallet files where possible

Wallets can be one of two types, "legacy" or "descriptor".

Bitcoin Core moved to descriptor wallets as they are unambiguous as to which public keys and scripts should be used.

They also simplify backups and make im/ex-porting wallet keys into other software less error-prone.

Wallet overview

Blockchain Commons provides some examples of Setting up a wallet using the `bitcoin-cli tool.

Table of contents