Skip to content

Bitcoin accepted at checkout  |  Ships from Montreal, QC, Canada  |  Expert support since 2016

Self-Host Solo Mining: Point Your Miner at Your Own Node’s Block Templates

Quick answer

How do you solo mine against your own node’s block templates? You run a small solo-pool server — Public Pool (one-click on umbrelOS / StartOS) or ckpool-solo (compiled from source) — on your own Bitcoin node, then point your miner at it. Your node builds the block templates, so if you solve a block the full reward pays straight to your address, and you chose the transactions in it. It’s the sovereignty-maximal way to mine.

Self-hosting solo beats a public solo pool on sovereignty: on solo.ckpool.org a third party still builds your templates, so you get the reward but not transaction control. On your own node you get both. It’s a lottery, though — size the odds honestly before you start, and keep a backup pool set.

The sovereignty ladder

Solo mining isn’t one thing — there are three rungs, each more sovereign than the last:

  1. Public solo pool (e.g. solo.ckpool.org). Easiest: point your miner at someone else’s solo endpoint. If you solve a block you get the full reward — but the operator builds the block template, so you don’t control which transactions it contains.
  2. Self-hosted Public Pool / ckpool-solo (this guide). Your own node builds the templates. You keep the full reward and full template / censorship sovereignty. This is the sweet spot for a home miner who runs a node.
  3. Add a self-hosted Stratum V2 proxy. Put the SRI translation proxy in front for encrypted, authenticated transport on top of your self-built templates — the full sovereign stack.

Before you start — a synced full node

Both Public Pool and ckpool-solo build block templates from your own Bitcoin node (over RPC + ZMQ), so step zero is a fully synced node. We won’t re-teach that here — if you don’t have one yet, start with a node appliance:

Step 1 — Install a self-hosted solo server

Path A — Public Pool (one-click)

Public Pool (open-source, MIT, by benjamin-wilson) ships as a one-click app on umbrelOS and StartOS. Install it from your node’s app store; it auto-wires to your local Bitcoin node and gives you a small web dashboard with your own stratum endpoint. This is the easiest self-host path and needs no command line.

Path B — ckpool-solo (from source)

ckpool-solo (by con kolivas) is the battle-tested C solo server that solo.ckpool.org itself runs. It’s Linux + compile-from-source, so it’s the advanced path — we cover it end-to-end in Create your own Bitcoin mining pool.

Step 2 — Point your miner at it

In your miner’s pool settings (AxeOS, Bitmain stock, VNish…), set the pool to the stratum endpoint your app’s own connection panel shows:

stratum+tcp://<your-node-LAN-IP>:<port-shown-in-the-app>
username = <your-own-BTC-payout-address>
password = x   (anything; solo pools ignore it)
  • Copy the exact host and port from the app panel — don’t hardcode a number from a guide; Public Pool and ckpool builds show you the right endpoint, and it can differ by app/version.
  • The username is your Bitcoin address. There’s no account — that address is simply where a solved block’s full reward is paid.

Step 3 — Verify, and set a backup pool

  • Watch your solo server’s dashboard: your miner should appear as connected and start submitting shares against your node’s templates.
  • Solo is a lottery, and your home node can restart — so set a backup pool on the miner as a safety net. See pool failover & backup-pool configuration for how to add one across AxeOS / BraiinsOS+ / stock.

Size the odds honestly first

Self-hosted solo gives you the whole block reward if you win — but “if” is doing a lot of work. Your expected time-to-block depends on your hashrate versus the current network difficulty, and for a single small miner that average can be very long. Run the numbers before you commit:

Solo Mining Probability Calculator →

If something won’t connect

The common Public Pool / solo setup snags are already documented:

Frequently asked questions

What’s the difference between a public solo pool and self-hosting my own?

On a public solo pool (like solo.ckpool.org) a third party builds your block templates, so you get the full reward if you solve a block but not control over which transactions go in it. Self-hosting Public Pool or ckpool-solo on your own node means your node builds your own templates — you keep both the full reward and full template/censorship sovereignty.

Do I need a full node to self-host solo mining?

Yes. Public Pool and ckpool-solo build block templates from your own Bitcoin node over RPC and ZMQ, so you need a synced full node. Node appliances such as umbrelOS, StartOS and myNode make this close to one-click — see our node-appliance guides rather than re-doing node setup here.

What do I set as my miner’s username?

Your own Bitcoin payout address. In solo mining there is no account — the address in the username field is where the full block reward is paid if you solve a block. Copy the exact stratum host and port from your app’s own connection panel; don’t assume a fixed number, since it can vary by app and version.

What are my odds of solving a block solo?

It is a lottery: your expected time-to-block scales with your hashrate against the current network difficulty, so a single small miner can wait a very long time on average. Size it honestly with our Solo Mining Probability Calculator before you start — solo mining is for sovereignty and the lottery upside, not steady income.

Is self-hosted solo mining non-custodial and reversible?

Yes on both counts. There is no custodian — a solved block pays straight to your address through your own node’s coinbase, with no minimum payout to clear. To stop, just point your miner back at a pool; nothing is locked in.

Self-hosted solo mining stands on open-source shoulders: ckpool-solo (con kolivas), Public Pool (benjamin-wilson, MIT), and the node-appliance projects (umbrelOS, StartOS, myNode) that make running your own node approachable. D-Central credits them all; this guide adds no fee, hashrate-share or odds figures — those you check live for your own setup.