Skip to main content
This guide will help you download, install, and run Bitcoin Core quickly.

Download Bitcoin Core

1

Get the binary

For an immediately usable, binary version of Bitcoin Core, visit bitcoincore.org/en/download.
Pre-built binaries are available for Windows, macOS, and Linux. For most users, downloading the binary is faster than building from source.
2

Verify the download

Always verify your Bitcoin Core downloads to ensure authenticity and security.
This is security-critical software. Verification helps ensure you’re running authentic Bitcoin Core software.
3

Extract and install

Extract the downloaded archive to a directory of your choice.

Run Bitcoin Core

Unpack the files into a directory and run:
bin/bitcoin-qt
The bitcoin command supports subcommands:
  • bitcoin gui - Start the graphical interface
  • bitcoin node - Start the node daemon
  • bitcoin rpc - Execute RPC commands
List available subcommands with:
bitcoin help

First-time sync

The initial blockchain synchronization requires several hundred gigabytes of disk space and can take hours to days depending on your hardware and connection speed.
When you first run Bitcoin Core:
  1. The node will connect to the Bitcoin peer-to-peer network
  2. It will download and validate all blocks from the genesis block
  3. You can monitor progress in the GUI or via RPC commands

Basic RPC commands

Once Bitcoin Core is running, you can interact with it using RPC commands.

Using bitcoin-cli

bitcoin-cli getblockchaininfo

Using the bitcoin wrapper command

The bitcoin rpc command is a newer alternative to bitcoin-cli -named:
bitcoin rpc getblockcount
bitcoin rpc createwallet wallet_name=mywallet load_on_startup=true

Using curl with JSON-RPC

curl --user alice --data-binary '{"jsonrpc": "2.0", "id": "0", "method": "getblockcount", "params": []}' \
  -H 'content-type: application/json' \
  http://localhost:8332/
The default RPC port is 8332 for mainnet, 18332 for testnet, and 18443 for regtest.

Configuration

Basic configuration file

Create a bitcoin.conf file to customize Bitcoin Core behavior: Default locations:
  • Linux: ~/.bitcoin/bitcoin.conf
  • macOS: ~/Library/Application Support/Bitcoin/bitcoin.conf
  • Windows: %LOCALAPPDATA%\Bitcoin\bitcoin.conf
Example configuration:
# Enable RPC server (disabled by default in bitcoin-qt)
server=1

# RPC credentials (or use .cookie authentication)
rpcuser=yourusername
rpcpassword=yourpassword

# Prune old blocks to save disk space (in MiB, 0=disable)
prune=50000

# Limit bandwidth usage
maxuploadtarget=5000
By default, Bitcoin Core uses .cookie file authentication which automatically generates credentials on startup. You only need to set rpcuser and rpcpassword if you need static credentials.

Enabling RPC in the GUI

The GUI bitcoin-qt has the JSON-RPC server disabled by default. To enable it:
  1. Add server=1 to your bitcoin.conf file, or
  2. Start bitcoin-qt with the -server flag: bitcoin-qt -server
With RPC enabled, you can execute RPC methods in the Debug Console (accessible from the GUI menu).

Next steps

Installation guide

Detailed installation instructions for all platforms

Configuration reference

Learn about bitcoin.conf options and advanced configuration

RPC reference

Explore the complete JSON-RPC API documentation

Security best practices

Learn how to secure your Bitcoin Core installation