Jump to content

Bitcoin-Qt

From BitcoinWiki
Bitcoin-Qt interface
Bitcoin-Qt interface.

Bitcoin-Qt was the name used for the graphical Bitcoin client from version 0.5.0 until the software was rebranded as Bitcoin Core in version 0.9.0. It is not a separate current wallet: modern Bitcoin Core releases still use the executable name bitcoin-qt for their graphical interface.[1][2]

Naming history

Satoshi Nakamoto released the original Bitcoin software in 2009. The Qt-based graphical interface arrived with version 0.5.0 in November 2011, replacing the earlier wxWidgets interface; releases in this period were called Bitcoin-Qt.[1] Version 0.9.0 adopted the Bitcoin Core name to distinguish the software project from the Bitcoin network and currency.[2] The program name bitcoin-qt remains in release documentation, while bitcoind is the command-line daemon.

What it is today

Bitcoin Core is open-source software that includes a fully validating Bitcoin node and an optional wallet. A full node checks blocks and transactions against its own rules and can relay valid data to peers; initial synchronization therefore uses substantial storage, bandwidth and time. Pruning can reduce stored block data, but it does not turn Bitcoin Core into a lightweight client.[3][4]

Bitcoin Core is not an “official client” controlled by the Bitcoin Foundation. Anyone can propose, test or review changes. Repository maintainers merge patches after public review, and users independently choose which software and rules to run.[5]

Programs and architecture

Bitcoin Core is distributed as a set of related programs rather than only a desktop wallet. bitcoin-qt combines the node and wallet with a graphical interface; bitcoind runs the node and wallet as a daemon; and bitcoin-cli sends remote procedure calls to a running instance. The distribution also includes bitcoin-tx for transaction manipulation, bitcoin-wallet for wallet maintenance and other utilities.[6]

The graphical application does not replace the validation engine. It presents node status, peer and synchronization information, transaction history, sending and receiving functions, fee controls and wallet management while using the same underlying node and wallet interfaces. Operators who do not need a desktop interface commonly run bitcoind instead.

Validation, synchronization and pruning

A new node downloads block data and independently checks the proof of work, transaction structure and applicable consensus rules. Its chainstate database records the currently unspent transaction outputs needed to validate later transactions. This is why Bitcoin Core offers stronger independent verification than a wallet that relies on a third-party server, but also requires more time, bandwidth and disk space.[6]

Block pruning, introduced in Bitcoin Core 0.11, allows a fully validating node to delete older raw block and undo files after using them to build the block index and UTXO set. Pruning reduces storage but does not skip validation. It can restrict operations that require old block data, such as some rescans or historical transaction queries; later releases added wallet support in pruned mode.[7][8]

Wallets and transactions

The wallet tracks keys or signing policies and the transaction outputs it can spend. A displayed balance is therefore the sum of one or more unspent transaction outputs (UTXOs), not a single value stored at one address. When selected UTXOs exceed a payment plus its fee, the transaction normally creates a change output returning the remainder to a wallet-controlled script. Change is not a second fee or a payment lost to an unfamiliar address.[9]

Address generation and change handling are reasons wallet backups and key management matter. Modern wallets can derive many receiving and change scripts from recorded descriptors. Copying an active wallet database as though it were an ordinary document can be unsafe; the project documentation recommends the wallet backup function, which coordinates the database while producing a backup.[6]

Bitcoin Core added multiwallet support in version 0.15. Descriptor wallets were introduced experimentally in 0.21, became the default for newly created wallets in 23.0, and replaced legacy Berkeley DB wallets in version 30.0. Descriptor wallets explicitly describe the scripts and keys a wallet watches and use SQLite storage. These changes make many old Bitcoin-Qt backup, import and recovery instructions version-specific rather than generally applicable.[10][11][12][13]

Download and security

Current software should be obtained from the Bitcoin Core project, not from pages or mirrors offering “Bitcoin-Qt.” The official download page publishes SHA-256 checksums and signatures and explains how to verify them.[14] Users remain responsible for protecting and backing up wallet material and for securing the computer against malware. Old Bitcoin-Qt instructions may describe obsolete releases, file formats or recovery steps and should not be followed without checking current Bitcoin Core documentation.

References

  1. 1.0 1.1 Bitcoin Core version 0.5.0 released, Bitcoin.org, 21 November 2011.
  2. 2.0 2.1 Bitcoin Core version 0.9.0 released, Bitcoin.org, 19 March 2014.
  3. About Bitcoin Core, Bitcoin Core, retrieved 28 August 2026.
  4. Bitcoin Core wallet overview, Bitcoin.org, retrieved 28 August 2026.
  5. Contributing to Bitcoin Core, Bitcoin Core repository, retrieved 28 August 2026.
  6. 6.0 6.1 6.2 Bitcoin Core file system and installed files, Bitcoin Core repository, retrieved 28 August 2026.
  7. Bitcoin Core 0.11.0 release notes, Bitcoin Core.
  8. Bitcoin Core 0.12.0 release notes, Bitcoin Core.
  9. Transactions, Bitcoin Developer Guide.
  10. Bitcoin Core 0.15.0 release notes, Bitcoin Core.
  11. Bitcoin Core 0.21.0 release notes, Bitcoin Core.
  12. Bitcoin Core 23.0 release notes, Bitcoin Core.
  13. Bitcoin Core 30.0 release notes, Bitcoin Core.
  14. Download Bitcoin Core, Bitcoin Core, retrieved 28 August 2026.