Which programming language is used for Bitcoin’s original reference implementation?

The story behind the answer

Bitcoin’s original reference implementation was written in C++. Satoshi Nakamoto released the first version of the Bitcoin software in 2009, and the project later developed into Bitcoin Core.

C++ provided the implementation with low-level control, compiled performance, and access to networking and cryptographic libraries. Bitcoin Core remains primarily a C++ codebase, although other languages are used for tools, interfaces, testing, and supporting components.

The language is not part of Bitcoin’s consensus rules. Consensus depends on the behavior required by the protocol, such as block validation, transaction rules, and proof-of-work; compatible implementations can be written in other languages.

A common misunderstanding is that the programming language determines Bitcoin’s decentralization. In practice, decentralization comes from independently operated nodes and miners following and checking shared protocol rules.

Source: Wikipedia · fact-checked Sept. 2026

Add question to a list

Choose a list to keep this question in: