Most solo mining guides stop at “point your miner at a server.” That server is usually someone else’s node, and that is a weak point in your setup.
Running your own full node removes it.
You validate everything yourself, your miner talks only to your machine, and any block you find pays straight to your own wallet. No pool, no middleman, no third-party downtime.
This guide covers the two most common solo setups: Bitcoin and Monero.
Why run your own node?
- Trust. Your node validates every block and transaction. You do not rely on another operator to do it for you.
- Privacy. Your mining traffic stays on your own network. A pool server sees your IP, your hardware, and your uptime. Your node does not.
- Control. If your node is down, you know why and you can fix it. You are not dependent on a third party’s uptime.
- Direct rewards. A block found by your miner goes to an address you choose. No pool payout cycles, no pool rules.
The trade-off is setup effort and a little storage. For a serious solo miner that trade is almost always worth it.
Hardware requirements
| Coin | Storage (full) | Storage (pruned*) | RAM | Initial sync |
|---|---|---|---|---|
| Bitcoin | ~750 GB | ~7 GB | 2 GB minimum | Hours to days (740 GB download) |
| Monero | tens of GB | n/a | 1-2 GB | A few hours |
* Bitcoin pruning keeps only recent blocks. It is fine for solo mining.
General advice:
- Use an SSD. Block validation is disk-bound, and a spinning drive makes initial sync painful.
- Check your bandwidth. A new Bitcoin node downloads about 740 GB once, then uses 20+ GB/month plus upload traffic. On a metered connection, consider
-blocksonlyor a pruned node with reduced upload targets. - The node must be fully synced before you can mine. A node that is still downloading blocks will not give your miner a valid block template.
Bitcoin setup
1. Install Bitcoin Core
Download Bitcoin Core from bitcoin.org and install it. On a server, run the daemon:
bitcoind -daemon
bitcoin-cli getblockchaininfo
You will see Verifying blocks... for a while during initial sync. That is normal.
2. Enable RPC access for the miner
Create a bitcoin.conf file (Linux: ~/.bitcoin/bitcoin.conf) with a dedicated RPC user:
rpcuser=miner
rpcpassword=long-random-password
rpcbind=127.0.0.1
Keep rpcbind on localhost. Your miner should connect to the node on the same machine, or over a private network/VPN if it is not.
3. Create a payout address
Generate a fresh address for block rewards:
bitcoin-cli getnewaddress solo-mining
You do not have to keep your coins in Bitcoin Core. The coinbase output can pay any Bitcoin address you control, so many miners send rewards to a hardware wallet or another wallet instead.
4. Point the miner at the node
Configure your ASIC or SBC miner to use your node instead of a pool:
- Server (IP):
127.0.0.1 - Port:
8333 - User/Password: the
rpcuser/rpcpasswordfrom your config
Most Antminers, B-miners, and devices like the Bitaxe support this out of the box. Bitcoin Core implements the stratum protocol, so “stratum mode” in your miner’s web UI is what you want.
5. Verify the miner is working
On the node:
bitcoin-cli getmininginfo
Watch currentblocktx and check that your miner connects without errors. The moment is the hard part: with solo mining you may wait days or months for a block, as covered in the odds guide. Use the Bitcoin solo calculator to know what to expect.
Pruning (optional, recommended for small disks)
To cap storage around 7 GB, add to bitcoin.conf:
prune=550
Pruned mode disables txindex and wallet rescans, but solo mining does not need either. A pruned node is fully valid for finding blocks.
Monero setup
Monero is the friendliest solo coin to run at home because sync is fast and the chain is small.
-
Install
monerodand a Monero wallet (monero-wallet-clior the GUI). -
Start the daemon and let it sync (a few hours, depending on your connection):
monerod --detach monero-wallet-cli -
Create a fresh wallet address for mining rewards.
-
Point your miner (xmrig or monero-miner on CPU, or compatible GPU mining) at the local daemon:
- URL:
127.0.0.1:18081 - Wallet address: the fresh address from step 3
- URL:
xmrig has a dedicated solo mode for exactly this. When your miner finds a block, the coinbase pays your address directly.
Check expected returns with the Monero solo calculator before committing the machine to it.
Other coins
The same pattern applies to most PoW chains:
- Litecoin / Dogecoin: run Litecoin Core, use
getblocktemplatevia your miner’s stratum mode, pay your own LTC address. Dogecoin blocks from merged or direct mining follow the same idea. - Ravencoin: Ravencoin Core node, same getblocktemplate flow, small chain, easy home setup.
- Kaspa: possible via the Kaspa daemon, but the chain is large and the tooling is less documented for solo. Start with Bitcoin or Monero first.
Wherever you go, the rule is the same: the miner talks to your node, and the reward goes to your address.
Common mistakes
- Mining before full sync. The node must be at the tip. Check
getblockchaininfobefore expecting blocks. - Exposing RPC to the internet. A leaked
rpcuser/rpcpasswordis a free wallet-drain for attackers. Bind RPC to localhost or a private network. - Letting the disk fill up. A full disk stops the node, which stops your mining. Monitor space, especially on Bitcoin.
- One address forever. Rotate the payout address occasionally. It keeps privacy intact.
- No monitoring. A node that silently dies means a miner that silently earns nothing. A simple uptime check or health check on the RPC endpoint is enough.
The bottom line
Your own node is not a nice-to-have for solo mining. It is the difference between running a mining operation and renting someone else’s.
Start with Monero if you want a quick, light setup, or with Bitcoin if you are going all in and have the disk space. Either way, when your miner finally finds that block, it goes exactly where you said it should.