
A solo mining setup connects compatible mining hardware to your own node and Stratum gateway. Bitcoin Core does not include a miner-facing Stratum server, so Bitcoin miners need a separate gateway. If the network accepts your block, its coinbase transaction pays the address configured by that software.
Solo mining produces candidate blocks without a shared-payout scheme. You receive no partial payment for ordinary shares. A payout occurs only when your hardware finds a valid block that the network accepts.
A mining pool combines work from many miners and distributes smaller payments under its payout rules. Solo mining keeps the variance with one miner. Higher network difficulty reduces the chance that one device will find a block.
Running your own stack removes an external pool operator from the payout path. It does not remove electricity, storage, bandwidth, cooling, or maintenance costs.
Solo mining can produce a full block payout, but it cannot guarantee that your hardware will ever find an accepted block.
Prepare the complete path from blockchain data to the reward address. Node, gateway, miner, and wallet must support the same coin and network.
You need four components:
Initial synchronization can take several days on slower systems. Disk performance, processor speed, bandwidth, and peer quality affect the duration.
Pruning can reduce retained blockchain data after validation. It does not remove the need to validate the chain during initial synchronization.
A gateway needs current work from the chain tip. Do not begin production mining while the node still reports initial synchronization.
Follow this sequence:
Compare the reported height with another independent node or a reliable explorer. Also check the node’s verification progress and peer connections.
Accepted shares only prove that the gateway received lower-difficulty work. They do not prove that its block template follows the current chain tip.
Keep free disk space for database growth and temporary operations. Prevent the host from sleeping while the node or gateway runs.
Bitcoin Core exposes block-building data through the getblocktemplate RPC method. A separate gateway converts that data into jobs for Stratum-compatible miners.
Keep the node RPC listener on localhost or a private interface. Give the gateway its own restricted credentials. Never expose an unrestricted RPC listener to the public internet.
The mining port comes from the gateway configuration, not the hashing algorithm:
| Connection | Used by | Port rule |
|---|---|---|
| Node RPC | Stratum gateway | Use the configured RPC port on a private interface |
| Stratum | ASIC or mining software | Use the listener defined by the gateway |
| Peer-to-peer | Other blockchain nodes | Do not use it as the miner’s pool port |
Port 3333 works as an example only when the gateway listens there. Another installation may use a different port for the same algorithm.
Allow the Stratum listener through the host firewall for miners on the local network. Remote miners should connect through a VPN or another authenticated encrypted tunnel. Do not publish the node RPC port.
Place the payout address in the gateway’s coinbase or reward configuration. A username entered on the miner changes the payout only when the gateway explicitly supports that behavior.
An ASIC connects to the Stratum gateway, not the blockchain peer-to-peer port. Open the miner interface and review every primary and fallback pool slot.
Configure the connection in this order:
stratum+tcp://192.168.1.50:3333.A value such as x often acts as a placeholder, but it is not universal. Difficulty parameters also depend on the gateway and miner firmware.
Confirm that accepted shares appear in the gateway log. Then reboot the miner and check that it retains the intended primary and fallback entries.
The gateway uses the configured reward destination when it constructs the coinbase transaction. A wrong destination can make an accepted reward inaccessible to you.
Before mining, complete these checks:
Never copy a seed phrase or private key into the gateway. It needs a receiving address, not authority to spend from the wallet.
Use an exchange deposit address only if the exchange explicitly accepts coinbase rewards. Confirm that the exact address remains assigned to your account.
Finding a block cannot correct a reward address already embedded in its coinbase transaction.
A public solo endpoint removes node synchronization and gateway maintenance. It also places another operator in the block-template and coinbase path.
| Option | Operator fee | Trust boundary | Maintenance |
|---|---|---|---|
| Your own node and gateway | No external operator fee | Your software and configuration | Node, gateway, storage, and network |
| Public solo endpoint | Whatever the service publishes | Endpoint operator and its infrastructure | Miner and wallet configuration |
Check a public endpoint’s current fee, supported network, username format, and Stratum address before connecting. Old comparison tables can retain obsolete ports or terms.
An own-node setup provides direct control over templates and reward construction. A public endpoint provides simpler access but less independent verification.
A working dashboard should show fresh jobs, connected workers, accepted shares, hashrate, and rejected work. Compare gateway data with the miner’s local interface.
Monitor the node’s chain height, synchronization state, peer count, and latest block time. Monitor the gateway’s worker count, last-share time, reject rate, and best share.
A small miner may go a long time without meeting a high share difficulty. Treat a delayed share as a signal to investigate, not automatic proof of failure.
Set alerts for these conditions:
Account for assigned share difficulty before alerting on the last-share time. Otherwise, healthy low-hashrate devices can trigger false alarms.
Diagnose the layer that produced the symptom. Changing every component together removes useful evidence from logs.
| Symptom | Likely cause | What to check |
|---|---|---|
| Shares appear, but jobs remain stale | Node is behind the chain tip | Height, peers, synchronization state |
| Miner cannot connect | Wrong address, firewall, or routing | Listener, LAN connection, port rule |
| Shares are rejected | Wrong algorithm, parameters, or stale work | Gateway log, firmware, node clock |
| Address is rejected | Wrong network or unsupported format | Wallet network and gateway validator |
| Worker changes after reboot | Fallback pool or restored settings | Every pool slot and firmware settings |
| Local hashrate appears, but no shares arrive | Share difficulty may be too high | Assigned difficulty and last accepted share |
“Connection refused” usually means nothing listens at the selected address and port. A timeout instead points toward routing, filtering, or an unreachable host.
Authorization errors often indicate a wrong username format. Repeated stale-job messages point toward node synchronization or template refresh failures.
The miner sends a candidate result to the gateway. The gateway submits the block through the node, which validates and broadcasts it.
A submitted block is not automatically an accepted reward. It can fail validation or lose to another block at the same height. Confirm that the block entered the active chain.
Bitcoin coinbase outputs become spendable after 100 new blocks. Other networks can use different maturity rules.
For Bitcoin-style SHA-256 difficulty, estimate the mean time in seconds with:
T = Difficulty × 2^32 ÷ Hashrate
Use hashrate in hashes per second. With a hypothetical difficulty of 100 trillion and 100 TH/s, the mean is about 4.29 billion seconds. That is roughly 136 years.
The result is an average, not a countdown. Under a Poisson model, the chance of at least one block during time t is:
P = 1 − e^(−t/T)
After one mean interval, that probability is about 63%. Mining longer does not store progress toward the next block.
Do not reuse the formula without checking how the target coin defines difficulty. Use its own documentation for algorithms with different difficulty scales.
Compare live Bitcoin pool data before deciding whether the variance of solo mining fits your hardware and risk tolerance.
Solo mining pays only after your hardware finds a valid block that the network accepts. A pool combines hashrate and distributes smaller payments under its published payout rules.
Bitcoin coinbase outputs mature after 100 new blocks. Other networks set their own maturity rules, so check the target chain’s consensus documentation.
Use the port configured by your Stratum gateway. The algorithm does not assign one universal port. Confirm the listener address, port, and protocol before connecting the miner.
Yes. A public solo endpoint can supply work over Stratum. You must trust its node, block template, coinbase construction, availability, and published terms.