Command-Line Guide

Install and run Bitcoin-PoCX from the terminal — full node, solo mining, or pool mining. Prefer a one-liner? Use the guided setup. Prefer no terminal at all? See the Phoenix (GUI) guide.

Show commands for:
Networks

Mainnet is live and used throughout this guide. To use testnet instead: add -testnet to every bitcoind/bitcoin-cli command (RPC port 18332 not 8332, P2P 18333 not 8333), point the miner's cookie_path at the testnet/.cookie subfolder, use the testnet pool/explorer, and the guided installer's --testnet flag.

On Windows

Run the Windows commands in PowerShell (built into Windows 10/11), not Command Prompt. Add the Core install folder (its daemon\ subfolder) and your pocx folder to your PATH so the commands below resolve.

Manual Install

This installs Bitcoin Core PoCX (the node) and the PoCX Framework (pocx_plotter + pocx_miner, needed only for mining). Node operators can skip the framework.

Data directory

OSDefault data directory
Linux~/.bitcoin-pocx/
Windows%LOCALAPPDATA%\Bitcoin-PocX\
macOS~/Library/Application Support/Bitcoin-PocX/

Dependencies

# Debian/Ubuntu
sudo apt update && sudo apt install -y curl tar

# Fedora
sudo dnf install -y curl tar

# Arch
sudo pacman -S --noconfirm curl tar
# Nothing to install.
# Nothing to install.

Install Bitcoin Core PoCX

curl -s https://api.github.com/repos/PoC-Consortium/bitcoin/releases/latest \
  | grep -o 'https://[^"]*x86_64-linux-gnu.tar.gz' | head -1 | xargs curl -LO

tar -xzf bitcoin-*.tar.gz
sudo install -m 0755 -t /usr/local/bin bitcoin-*/bin/*
# Easiest: download and run the win64 setup installer.
$rel = Invoke-RestMethod https://api.github.com/repos/PoC-Consortium/bitcoin/releases/latest
$asset = $rel.assets | Where-Object { $_.name -like "*win64-setup.exe" } | Select-Object -First 1
$file = $asset.name
Invoke-WebRequest $asset.browser_download_url -OutFile $file
Start-Process ".\$file"   # follow the installer

Prefer a portable copy? Grab the …-win64.zip instead and run from its bin\ folder.

# Apple Silicon shown; for Intel use x86_64-apple-darwin
curl -s https://api.github.com/repos/PoC-Consortium/bitcoin/releases/latest \
  | grep -o 'https://[^"]*arm64-apple-darwin.tar.gz' | head -1 | xargs curl -LO

tar -xzf bitcoin-*.tar.gz
xattr -dr com.apple.quarantine bitcoin-*/bin/*
sudo mkdir -p /usr/local/bin
sudo install -m 0755 bitcoin-*/bin/* /usr/local/bin/

Install the PoCX Framework (miners only)

curl -s https://api.github.com/repos/PoC-Consortium/pocx/releases/latest \
  | grep -o 'https://[^"]*x86_64-unknown-linux-musl.tar.gz' | head -1 | xargs curl -LO

tar -xzf pocx-*.tar.gz
sudo install -m 0755 -t /usr/local/bin pocx_plotter pocx_plotter_v2 pocx_miner
$rel = Invoke-RestMethod https://api.github.com/repos/PoC-Consortium/pocx/releases/latest
$asset = $rel.assets | Where-Object { $_.name -like "*x86_64-pc-windows-msvc.zip" } | Select-Object -First 1
Invoke-WebRequest $asset.browser_download_url -OutFile $asset.name
Expand-Archive -Path $asset.name -DestinationPath "$env:USERPROFILE\pocx" -Force
Set-Location "$env:USERPROFILE\pocx"
# Apple Silicon shown; for Intel use x86_64-apple-darwin
curl -s https://api.github.com/repos/PoC-Consortium/pocx/releases/latest \
  | grep -o 'https://[^"]*aarch64-apple-darwin.tar.gz' | head -1 | xargs curl -LO

tar -xzf pocx-*.tar.gz
xattr -dr com.apple.quarantine pocx_plotter pocx_plotter_v2 pocx_miner
sudo install -m 0755 pocx_plotter pocx_plotter_v2 pocx_miner /usr/local/bin/

Verify

bitcoind -?

You should see Bitcoin PoCX daemon version v30.x.x. With install done, pick your role below.

Node Operator

Run a full node to validate transactions and support decentralization. Bitcoin Core's defaults are all you need — no config file required. bitcoind serves RPC with cookie auth, and bitcoin-cli reads the cookie automatically.

Run

bitcoind -daemon
# Windows builds don't support -daemon; run in a dedicated window:
Start-Process bitcoind.exe -WindowStyle Hidden
bitcoind -daemon

Run as a service (Linux, optional)

sudo tee /etc/systemd/system/bitcoind.service > /dev/null << EOF
[Unit]
Description=Bitcoin PoCX Node
After=network-online.target
Wants=network-online.target

[Service]
Type=forking
User=$USER
ExecStart=/usr/local/bin/bitcoind -daemon -datadir=$HOME/.bitcoin-pocx
ExecStop=/usr/local/bin/bitcoin-cli -datadir=$HOME/.bitcoin-pocx stop
Restart=on-failure
RestartSec=30

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now bitcoind

Most node operators run Linux. For macOS, Bitcoin Core PoCX ships an example launchd plist in its contrib/init; Windows has no native node service, so run it at login or wrap it with a tool like NSSM.

Verify

bitcoin-cli getblockchaininfo    # sync status (blocks vs headers)
bitcoin-cli getblockcount        # current height
bitcoin-cli getconnectioncount   # number of peers
bitcoin-cli getpeerinfo          # peer detail

In the getblockchaininfo output, sync is complete when blocks equals headers and initialblockdownload is false.

Solo Miner

Mine directly to your own wallet using your full node. You keep 100% of every block you find; rewards depend on your capacity vs. the network.

Run the node & create a wallet

No config needed — start the node, then create a mining wallet. load_on_startup=true persists it so Core auto-loads it on every restart.

bitcoind -daemon
sleep 30
bitcoin-cli -named createwallet wallet_name="mining" load_on_startup=true
bitcoin-cli getnewaddress "mining_rewards"
Start-Process bitcoind.exe -WindowStyle Hidden
sleep 30
bitcoin-cli -named createwallet wallet_name="mining" load_on_startup=true
bitcoin-cli getnewaddress "mining_rewards"
bitcoind -daemon
sleep 30
bitcoin-cli -named createwallet wallet_name="mining" load_on_startup=true
bitcoin-cli getnewaddress "mining_rewards"

Save the address — you need it for plotting.

Back up your wallet now

The wallet holds the private keys to your rewards. No backup = coins lost forever, with no recovery. Back it up before plotting.

bitcoin-cli backupwallet mining-wallet-backup.dat

Store the backup on an encrypted drive in a separate location. Never share it or put it in unencrypted cloud storage.

Create plots

Plots are pre-computed hashes on disk — more capacity, more rewards.

pocx_plotter -i YOUR_MINING_ADDRESS -p <your-plot-dir> -w 100

-w = capacity in 1 GiB warps. Plotting takes hours to days. For GPU plotting, the v2 plotter, compression levels, and other advanced options, see the PoCX Plotter Guide.

Configure & start the miner

The framework ships a fully-commented miner_config.yaml in the extracted archive — copy it and edit, or start from this minimal solo config. Either way, the miner authenticates by reading Bitcoin Core's cookie file, so point cookie_path at your data directory's .cookie:

chains:
  - name: 'Bitcoin-PoCX'
    rpc_host: '127.0.0.1'
    rpc_port: 8332
    rpc_auth:
      type: cookie
      cookie_path: '/home/you/.bitcoin-pocx/.cookie'   # absolute path — see table
    block_time_seconds: 120
    submission_mode: wallet

plot_dirs:
  - '/path/to/plots'
OSMainnet cookie path
Linux/home/you/.bitcoin-pocx/.cookie
WindowsC:\Users\You\AppData\Local\Bitcoin-PocX\.cookie
macOS/Users/you/Library/Application Support/Bitcoin-PocX/.cookie

Use the absolute path — the miner doesn't expand ~. For testnet, add testnet/ before .cookie. Note: the cookie rotates each time the node starts, so if you restart bitcoind, restart the miner too.

pocx_miner --config miner.yaml

Check your balance with bitcoin-cli getbalance, or watch your address on the block explorer.

Pool Miner

Mine through a pool for steadier, proportional rewards. You need a node only briefly — to create the wallet and register a forging assignment — after which it can be stopped.

Start the node & create a wallet

No config needed — the miner submits to the pool, not the local node. You only need the node running long enough to create a wallet and register the assignment.

bitcoind -daemon
sleep 30
bitcoin-cli -named createwallet wallet_name="mining" load_on_startup=true
bitcoin-cli getnewaddress "mining_rewards"
bitcoin-cli backupwallet mining-wallet-backup.dat
Start-Process bitcoind.exe -WindowStyle Hidden
sleep 30
bitcoin-cli -named createwallet wallet_name="mining" load_on_startup=true
bitcoin-cli getnewaddress "mining_rewards"
bitcoin-cli backupwallet mining-wallet-backup.dat
bitcoind -daemon
sleep 30
bitcoin-cli -named createwallet wallet_name="mining" load_on_startup=true
bitcoin-cli getnewaddress "mining_rewards"
bitcoin-cli backupwallet mining-wallet-backup.dat
No backup = coins lost forever

Back up the wallet before plotting. There is no recovery without it.

Create plots

pocx_plotter -i YOUR_MINING_ADDRESS -p <your-plot-dir> -w 100

Same options as solo; for GPU plotting and advanced settings see the PoCX Plotter Guide.

Create a forging assignment

An assignment authorizes a pool to mine on your behalf. Pick a mainnet pool and use its forging address:

PoolURLForging addressFee
Nogrod PoCX Poolpool.bitcoin-pocx.orgpocx1qp00ljf5sy0kdk4h8x5n4erzdshkzj4cdmvjpsv1%
Rico's BTCX Poolbtcx-pool.cryptoguru.orgpocx1qrp00l665mrl94cuhlwngyvua0q3xsvayg8e6zn1%
# Use your chosen pool's forging address (Nogrod shown):
bitcoin-cli create_assignment "YOUR_MINING_ADDRESS" "pocx1qp00ljf5sy0kdk4h8x5n4erzdshkzj4cdmvjpsv"

# Verify
bitcoin-cli get_assignment "YOUR_MINING_ADDRESS"
Activation delay

Assignments activate after 30 blocks (~1 hour). The pool won't accept your submissions until then.

Configure & start the miner

chains:
  - name: 'Pool'
    rpc_transport: https
    rpc_host: 'pool.bitcoin-pocx.org'   # the host of the pool you assigned to
    rpc_port: 443
    block_time_seconds: 120
    submission_mode: pool

plot_dirs:
  - '/path/to/plots'
pocx_miner --config miner.yaml

Stop the node (optional)

Once the assignment is confirmed, the local node is no longer needed:

bitcoin-cli stop

Switching pools

To change pools or go solo, revoke first:

bitcoin-cli revoke_assignment "YOUR_MINING_ADDRESS"
~25 hours total

Revocation activates after 720 blocks (~24 h); the new assignment then needs another 30 blocks (~1 h). Renewing the same pool doesn't require revoking.

Getting help

Legal