Solo Mining
Solo mining is the practice of mining cryptocurrency independently without joining a pool, earning the full block reward if a block is found.
Key Takeaways
- Solo mining means mining Bitcoin independently without joining a mining pool: the miner runs a full node, constructs their own block templates, and receives the entire block reward (currently 3.125 BTC plus fees) if they find a valid block.
- The tradeoff is extreme variance: with network hashrate exceeding 1 ZH/s, a single modern ASIC would statistically need decades or centuries to find a block, making solo mining a high-reward lottery rather than a reliable income source.
- Solo mining contributes to network decentralization by allowing miners to select their own transactions and construct independent block templates, avoiding the centralization risks inherent in large pool operators.
What Is Solo Mining?
Solo mining is the practice of mining Bitcoin independently, without pooling hashrate with other miners. A solo miner runs their own full node, assembles candidate blocks from unconfirmed transactions in the mempool, and attempts to find a valid proof of work entirely on their own. If successful, the miner claims the full block reward: the block subsidy plus all transaction fees in the block, with no pool fees deducted.
In Bitcoin's earliest years, solo mining was the only option. Satoshi Nakamoto mined the genesis block and thousands of subsequent blocks using a standard CPU. As network difficulty grew, solo mining became increasingly impractical for individual participants, leading to the creation of the first mining pools in 2010. Today, solo mining with commodity hardware is essentially a lottery: the probability of finding a block is astronomically low, but the payout when it happens is the full reward with zero fees.
How It Works
Solo mining follows the same fundamental process as pool mining, but with the miner performing every step independently:
- The miner runs a Bitcoin Core full node (or compatible implementation) that maintains a complete copy of the blockchain and validates all transactions
- The node selects transactions from the mempool and constructs a block template, including a coinbase transaction that pays the reward directly to the miner's address
- The miner's ASIC hardware iterates through nonce values, hashing the block header with double SHA-256 and checking whether the result falls below the difficulty target
- If a valid hash is found, the node broadcasts the completed block to the Bitcoin network for validation by other nodes
- Once accepted, the miner receives the full block reward, subject to the 100-block coinbase maturity period before it can be spent
Block Template Construction
A key distinction of solo mining is that the miner has complete control over block template construction. In pool mining, the pool operator typically selects which transactions to include (though Stratum V2 is changing this). A solo miner makes all template decisions independently:
- Which transactions to include from the mempool (and which to exclude)
- How to order transactions to maximize fee revenue
- What data to include in the coinbase field (up to 100 bytes of arbitrary data)
Bitcoin Core provides the getblocktemplate RPC call that generates a candidate block for mining software to work on:
# Request a block template from Bitcoin Core
bitcoin-cli getblocktemplate '{"rules": ["segwit"]}'
# Returns JSON with:
# - transactions to include (with fee and weight data)
# - previous block hash
# - current difficulty target (bits)
# - coinbase value (subsidy + fees)
# - height for the new blockThe Probability Math
A solo miner's chance of finding any given block is simply their share of the total network hashrate. The expected number of blocks per unit time follows this formula:
Expected blocks per day = (miner hashrate / network hashrate) * 144
Example with a single Antminer S21 Pro (627 TH/s):
Network hashrate: ~1,000 EH/s = 1,000,000,000 TH/s
Probability per block = 627 / 1,000,000,000 = 0.000000627
Expected blocks per day = 0.000000627 * 144 = 0.0000903
Expected days between blocks = 1 / 0.0000903 = ~11,074 days (~30 years)This means a single top-of-the-line ASIC would statistically wait about 30 years between blocks. Even a small mining farm with 100 such machines (62.7 PH/s total) would expect one block roughly every 110 days. The math illustrates why solo mining is only viable for operations with substantial hashrate or for those willing to accept lottery-like odds.
Solo Mining Software
Several software options exist for solo miners:
- Bitcoin Core with
getblocktemplate: the most direct approach, where the miner's full node generates block templates and mining software (such as CGMiner or BFGMiner) connects locally to hash them - Solo CKPool: a lightweight solo mining proxy created by Con Kolivas that connects to a Bitcoin Core node and presents a Stratum-compatible interface for ASIC miners. It handles template generation and share tracking without pool fees
- Self-hosted Stratum server: miners can run their own Stratum V1 or V2 server pointed at their full node, giving ASICs a familiar protocol interface while maintaining full template control
Notable Solo Mining Events
Despite the overwhelming odds, solo miners occasionally find blocks, making headlines in the Bitcoin community. These events demonstrate that solo mining, while improbable, remains possible:
| Date | Block Height | Details |
|---|---|---|
| January 2022 | 718,124 | Solo miner using Solo CKPool found a block with an estimated hashrate of about 126 TH/s, earning 6.25 BTC plus fees |
| June 2024 | 849,286 | Solo miner found a block shortly after the April 2024 halving, earning 3.169 BTC (3.125 BTC subsidy plus 0.044 BTC in fees) via Solo CKPool |
| July 2024 | 853,742 | Another solo miner won a block through Solo CKPool, reinforcing that small-scale miners can still occasionally beat the odds |
Solo CKPool, maintained by developer Con Kolivas, has been the most common platform for these wins. The service operates as a publicly accessible solo mining proxy: miners connect their ASICs, and if they find a block, they receive the full reward minus a small 2% fee. As of 2025, Solo CKPool had facilitated over 300 solo-mined blocks since its launch.
Why It Matters
Solo mining plays an important role in Bitcoin's decentralization, even though it accounts for a tiny fraction of total network hashrate. When miners operate independently, they make their own decisions about transaction selection, which provides a check against censorship by large pool operators. For deeper context on centralization dynamics, see the research on mining centralization and pool risks.
The Stratum V2 protocol partially addresses the centralization concern by letting pool miners construct their own block templates, but solo mining remains the purest form of independent participation in proof of work consensus.
For the broader Bitcoin ecosystem, including Layer 2 solutions like Spark, the health of the mining layer is foundational. A diverse set of miners constructing independent block templates strengthens the censorship resistance that all higher layers inherit from the base chain.
Solo Mining vs. Pool Mining
The choice between solo mining and pool mining comes down to variance tolerance and scale:
| Factor | Solo Mining | Pool Mining |
|---|---|---|
| Reward per block | Full reward (3.125 BTC + fees) | Proportional share minus pool fee |
| Income variance | Extreme: months to decades between payouts | Low: regular payouts (hourly to daily) |
| Fees | None (or minimal proxy fee) | 0 to 4% of rewards |
| Template control | Full control over transaction selection | Pool operator controls (unless using Stratum V2) |
| Infrastructure | Must run full node and mining software | Only needs ASIC and internet connection |
| Minimum viable hashrate | No minimum, but impractical below ~10 PH/s | Any amount of hashrate can contribute |
| Custodial risk | None: rewards go directly to miner's address | Pool holds rewards until payout threshold |
Use Cases
Solo mining appeals to specific types of participants in the Bitcoin ecosystem:
- Large mining operations: companies with tens or hundreds of petahashes of capacity may find the expected time between blocks acceptable (days to weeks), while avoiding pool fees and retaining full template control
- Privacy-focused miners: solo mining avoids sharing any operational data with pool operators, including hashrate, IP addresses, and payout addresses
- Decentralization advocates: miners who prioritize network health by constructing independent block templates and resisting potential censorship pressure from pool operators
- Lottery miners: individuals who run one or a few ASICs with the understanding that finding a block is extremely unlikely but would deliver a substantial windfall
- Educational and experimental purposes: developers and researchers running solo mining on testnet or signet to understand the mining process firsthand
Risks and Considerations
Extreme Income Variance
The most significant risk of solo mining is the possibility of earning nothing for extended periods. Unlike pool mining, where payouts arrive regularly, a solo miner may run hardware for years without finding a single block. Electricity and hardware costs continue regardless of whether blocks are found, meaning a solo miner can operate at a sustained loss indefinitely. For most small-scale operations, the expected revenue over any reasonable time horizon is likely to be zero.
Infrastructure Requirements
Solo mining requires running a fully synced Bitcoin node with sufficient storage (currently over 600 GB for a non-pruned node), reliable internet connectivity, and mining software configured to generate and submit block templates. A pool handles all of this on behalf of its miners. Any downtime on the solo miner's node means the ASIC sits idle, wasting electricity without hashing.
Block Propagation Disadvantage
Large pools maintain optimized network connections and use compact block relay to propagate found blocks quickly. A solo miner on a residential connection may experience slower propagation, slightly increasing the risk of their block being orphaned in a race condition with another miner who found a valid block at nearly the same time.
No Protection Against Luck Variance
Pool mining smooths variance through the law of large numbers: the pool finds many blocks and distributes rewards proportionally. Solo mining offers no such protection. The difficulty adjustment ensures that finding a block is always statistically proportional to hashrate over long periods, but for any individual miner, long streaks of bad luck are not just possible: they are probable.
Opportunity Cost
The same hardware connected to a pool would generate predictable daily income. Running it solo means forgoing that steady revenue stream in exchange for a small chance at the full block reward. For most miners, the expected value is identical (minus pool fees), but the risk profile is dramatically different. Unless the miner can absorb potentially years of operating costs without any income, pool mining is the financially prudent choice.
This glossary entry is for informational purposes only and does not constitute financial or investment advice. Always do your own research before using any protocol or technology.