RUN A NODE. MINE BTCW.

Download & start mining.

Get the BitcoinPoW desktop and Android wallets, plus the NVIDIA CUDA miner, from the bitcoin-pow repositories.

View projects on GitHub ↗
Choose a matching node and miner. The CUDA builds below target the NEWFORK signing algorithm. Core 31.x changes consensus at block 144,444. Check the release notes for compatibility before starting a worker; these are not the older OpenCL miner downloads.

Before you start

Node & wallet

Use a synchronized BTCW node and a loaded wallet with private keys. Mining needs an eligible P2PK or legacy P2PKH output with at least six confirmations. Unlock encrypted wallets before enabling mining.

GPU & operating system

The CUDA worker requires Linux and an NVIDIA GPU with a compatible driver. CUDA does not support AMD GPUs. Node wallet packages for Windows and macOS do not imply CUDA worker support on those platforms.

Same machine, same user

Run the node and worker under the same operating-system account. They exchange work through /shared_mem. Use one node/worker pair for that shared-memory object.

The worker handles mining key material. Use trusted builds, protect access to the mining account, and back up your wallet before upgrading.

How to mine · Core 31.x

These examples use bitcoin-cli from your node installation. Replace WALLET_NAME with your loaded wallet name and use your usual node configuration.

  1. Start your node and let it synchronize

    Open the Qt wallet or start the daemon. Enable its RPC server for CLI access. Keep BTCW data separate from Bitcoin data.

    bitcoin-cli getblockchaininfo
    bitcoin-cli listwallets
  2. Prepare an eligible mining coin

    Create a legacy receiving address, send BTCW to it, and wait for six confirmations. Replace LEGACY_ADDRESS below with the returned address. SegWit and Taproot outputs are not selected for this mining stage.

    bitcoin-cli -rpcwallet=WALLET_NAME getnewaddress "mining" legacy
    bitcoin-cli -rpcwallet=WALLET_NAME listunspent 6 9999999 '["LEGACY_ADDRESS"]'
  3. Enable mining in the wallet

    Unlock an encrypted wallet through the wallet UI, then enable continuous mining before starting the CUDA worker. The 30-second timeout lets the node refresh work between attempts.

    bitcoin-cli -rpcwallet=WALLET_NAME setstaking true 30
    bitcoin-cli -rpcwallet=WALLET_NAME getstakinginfo

    In Qt’s Window → Console, use setstaking true 30 and getstakinginfo directly.

  4. Start the matching CUDA worker

    Once mining is enabled in the wallet, start the worker. For the published RTX 4070 SUPER Linux binary, run these commands in your download folder. Use the 4080 SUPER filename for that build. Check GPU memory requirements in its release notes.

    chmod +x btcw_cuda_miner_4070_super
    ./btcw_cuda_miner_4070_super
  5. Stop or resume

    bitcoin-cli -rpcwallet=WALLET_NAME setstaking false

    Stop the CUDA worker with Ctrl+C. Mining must be enabled again after restarting the node.

Full mining guide & wallet troubleshooting ↗

Build the CUDA miner from source

The repository’s default README describes an RTX 4060 build with roughly 4 GiB of free GPU memory. Install the NVIDIA driver, CUDA Toolkit with nvcc, and a C++ build toolchain first. Other GPU profiles can have substantially different memory requirements.

git clone https://github.com/bitcoin-pow/cuda_btcw_miner.git
cd cuda_btcw_miner
nvidia-smi
nvcc --version
chmod +x build_cuda.sh
./build_cuda.sh
./release/btcw_cuda_miner_batch128

The default architecture is sm_89. Set CUDA_ARCH for your GPU when building. The source-build GPU index is zero-based; start with the default invocation above. Confirm that the startup self-test passes.

If mining does not start