> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/bitcoin/bitcoin/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Get Bitcoin Core up and running with basic commands

This guide will help you download, install, and run Bitcoin Core quickly.

## Download Bitcoin Core

<Steps>
  <Step title="Get the binary">
    For an immediately usable, binary version of Bitcoin Core, visit [bitcoincore.org/en/download](https://bitcoincore.org/en/download/).

    <Tip>
      Pre-built binaries are available for Windows, macOS, and Linux. For most users, downloading the binary is faster than building from source.
    </Tip>
  </Step>

  <Step title="Verify the download">
    Always verify your Bitcoin Core downloads to ensure authenticity and security.

    <Warning>
      This is security-critical software. Verification helps ensure you're running authentic Bitcoin Core software.
    </Warning>
  </Step>

  <Step title="Extract and install">
    Extract the downloaded archive to a directory of your choice.
  </Step>
</Steps>

## Run Bitcoin Core

<Tabs>
  <Tab title="Unix/Linux">
    Unpack the files into a directory and run:

    <CodeGroup>
      ```bash GUI (bitcoin-qt) theme={null}
      bin/bitcoin-qt
      ```

      ```bash Headless daemon (bitcoind) theme={null}
      bin/bitcoind
      ```

      ```bash Wrapper command theme={null}
      bin/bitcoin help
      ```
    </CodeGroup>

    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:

    ```bash theme={null}
    bitcoin help
    ```
  </Tab>

  <Tab title="Windows">
    Unpack the files into a directory, and then run:

    ```
    bitcoin-qt.exe
    ```

    For headless operation, run:

    ```
    bitcoind.exe
    ```
  </Tab>

  <Tab title="macOS">
    1. Drag Bitcoin Core to your applications folder
    2. Launch Bitcoin Core from your Applications

    For command-line access:

    ```bash theme={null}
    /Applications/Bitcoin-Qt.app/Contents/MacOS/Bitcoin-Qt
    ```
  </Tab>
</Tabs>

## First-time sync

<Warning>
  The initial blockchain synchronization requires **several hundred gigabytes** of disk space and can take hours to days depending on your hardware and connection speed.
</Warning>

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

<CodeGroup>
  ```bash Get blockchain info theme={null}
  bitcoin-cli getblockchaininfo
  ```

  ```bash Get network info theme={null}
  bitcoin-cli getnetworkinfo
  ```

  ```bash Get block count theme={null}
  bitcoin-cli getblockcount
  ```

  ```bash Create a wallet theme={null}
  bitcoin-cli createwallet mywallet
  ```

  ```bash Get wallet balance theme={null}
  bitcoin-cli -rpcwallet=mywallet getbalance
  ```
</CodeGroup>

### Using the bitcoin wrapper command

The `bitcoin rpc` command is a newer alternative to `bitcoin-cli -named`:

```bash theme={null}
bitcoin rpc getblockcount
bitcoin rpc createwallet wallet_name=mywallet load_on_startup=true
```

### Using curl with JSON-RPC

<CodeGroup>
  ```bash Get block count theme={null}
  curl --user alice --data-binary '{"jsonrpc": "2.0", "id": "0", "method": "getblockcount", "params": []}' \
    -H 'content-type: application/json' \
    http://localhost:8332/
  ```

  ```bash Get wallet balance theme={null}
  curl --user alice --data-binary '{"jsonrpc": "2.0", "id": "0", "method": "getbalance", "params": []}' \
    -H 'content-type: application/json' \
    http://localhost:8332/wallet/mywallet
  ```
</CodeGroup>

<Note>
  The default RPC port is 8332 for mainnet, 18332 for testnet, and 18443 for regtest.
</Note>

## 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:**

```ini theme={null}
# 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
```

<Tip>
  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.
</Tip>

## 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

<CardGroup cols={2}>
  <Card title="Installation guide" icon="download" href="/installation">
    Detailed installation instructions for all platforms
  </Card>

  <Card title="Configuration reference" icon="gear">
    Learn about bitcoin.conf options and advanced configuration
  </Card>

  <Card title="RPC reference" icon="code">
    Explore the complete JSON-RPC API documentation
  </Card>

  <Card title="Security best practices" icon="shield">
    Learn how to secure your Bitcoin Core installation
  </Card>
</CardGroup>
