How to Solo Mine Bitcoin at Home (Step-by-Step)

Solo mining Bitcoin at home means you compete for block rewards directly - no pool, no middleman. If you find a block, the full 3.125 BTC reward goes to your wallet. The odds are long, but the setup is simpler than most people think. This guide walks through exactly how I do it at home, from hardware to node to the first valid share.

Before you start: Check the solo mining odds calculator with your actual hashrate. Know what you are getting into. At 1.2 TH/s, a block find is a lottery ticket. At 90 TH/s, it is still a long shot but a meaningfully shorter one. Go in with open eyes.

What solo mining actually means

In pool mining, your miner works alongside thousands of others. The pool finds blocks regularly and splits the reward proportionally based on contributed hashrate. You get small, consistent payouts. In solo mining, your miner works alone. You only get paid if you personally find a block. Most home miners running solo will never find one - the math is honest about that. But the hardware still runs, still hashes, and occasionally someone wins.

The key technical difference: in pool mining, your miner connects to the pool's stratum server and receives work from the pool. In solo mining, your miner connects to your own Bitcoin node (or a public solo pool) and competes directly against the network.

What you need

The core ingredients for a home solo setup:

  1. A SHA-256 home miner (Bitaxe, Canaan Nano 3S, Avalon Q - anything with a stratum output)
  2. A Bitcoin full node running on your local network
  3. A solo pool layer sitting between your node and your miner (handles the stratum protocol)
  4. A Bitcoin wallet address where block rewards would land

The most beginner-friendly way to run a full node at home is Umbrel OS. It runs on a mini PC or Raspberry Pi, gives you a web dashboard, and has a one-click app store where you can install both the Bitcoin node and a solo pool in minutes.

Step-by-step setup

Step 1

Set up your Bitcoin full node

Download Umbrel OS from umbrel.com and flash it to an SSD or SD card. Boot it on a mini PC (an Intel NUC or similar with at least 1TB storage works well) and connect it to your router via ethernet. The initial blockchain sync takes several days - start this early.

Once synced, your node is verifying every Bitcoin transaction independently. You no longer need to trust anyone else's copy of the blockchain.

Step 2

Install a solo pool app on your node

From the Umbrel app store, install Public Pool. This is an open-source solo pool that runs entirely on your local network. It speaks the stratum protocol that your miner understands, and it routes valid block solutions directly to your Bitcoin node.

Once Public Pool is running, it will display a local stratum address - something like stratum+tcp://192.168.1.xxx:3333. That is what you will put into your miner.

Step 3

Configure your miner

Open your miner's web interface (usually at its local IP address - check your router's device list to find it). Navigate to the pool/stratum settings and enter:

Pool URL: stratum+tcp://[your-node-IP]:3333
Username: your Bitcoin wallet address (this is where rewards go)
Password: anything - typically just x

Save and restart the miner. Within a minute or two it should connect and start submitting shares to your local pool.

Step 4

Verify it is working

In the Public Pool web interface, you should see your miner appear as a connected worker with an active hashrate reading. The pool dashboard shows shares submitted, estimated hashrate, and - if you are very lucky - any blocks found.

In your miner's web interface, the pool connection status should show as connected with no errors. If it shows disconnected, double-check the IP address and port, and make sure your firewall is not blocking port 3333.

Using a public solo pool instead of running your own node

Running a full node is the purest approach, but it requires hardware, storage, and a multi-day initial sync. If you want to start solo mining faster, public solo pools like solo.ckpool.org or solo.faithmining.net let you point your miner directly at them with no local node required. The trade-off is you are trusting their node rather than your own - but for the lottery-ticket nature of home solo mining, this is a perfectly reasonable starting point.

Understanding your dashboard numbers

Once your setup is running, you will see a few key numbers in the pool interface. Hashrate is how fast your miner is working - this should match the rated spec within about 10%. Shares accepted is how many valid partial solutions your miner has submitted - this confirms the connection is working. Best difficulty is the hardest share your miner has ever found - this is a fun number to watch grow over time, even if it never reaches the network difficulty needed for a full block.

The network difficulty required to find a block is currently around 138 trillion. Your miner's best share difficulty is almost certainly in the millions or low billions. That gap is the honest math of solo mining.

What happens if you find a block

Your pool software broadcasts the solved block to the Bitcoin network. If it is valid and accepted, the coinbase transaction in that block pays 3.125 BTC to the wallet address you entered as your mining username. The funds will appear in your wallet after the standard confirmation period. No pool takes a cut. The full reward is yours.

This has happened to home miners running equipment far smaller than an Avalon Q. It is not likely. But it is possible - and the setup described above is exactly how you position yourself to benefit when luck runs in your favor.

Want to know your actual odds? Run your hashrate through the solo mining calculator on the homepage. It pulls live network difficulty and shows you your realistic chance per day, week, and year - displayed as a "1 in X" ratio so the math is intuitive rather than abstract.