Solo Mining Pools Compared: CKPool, Public Pool, OCEAN and Your Own Node
Short answer: the two best-known public Bitcoin solo pools are solo.ckpool.org, which takes 2% of a block your miner finds, and public-pool.io, which states no fees. Neither needs an account: your address is the username and a found block pays it. You can also run open-source stratum software against your own node. OCEAN is a shared TIDES pool, not solo.
This page compares Bitcoin solo-mining options on how they work, not on what they might pay, because a solo pool cannot change your odds of finding a block. There is no single best solo mining pool. The differences are:
- fees
- whether you run a node
- the software behind it
- how much setup you want
Pool details below were checked on each pool’s own site or source repository on October 5, 2026. Pool terms change, so confirm them before you connect. Bitminers does not guarantee mining profitability.
What does a solo mining pool actually do?
In solo mining, your miner tries to find a whole block on its own. If it succeeds, the full block reward, subsidy plus transaction fees, goes to your address. If it never succeeds, you receive nothing. There are no shares paid out, no balance and no partial credit.
So why is a “pool” involved at all? An ASIC miner speaks the stratum protocol, while a Bitcoin node hands out block templates through its getblocktemplate interface. Something has to sit between them to:
- build work from the template
- put your address in the coinbase transaction
- submit a winning block
A solo pool is that stratum server, run by someone else. CKPool’s own page says it is “NOT a pool despite its name” and describes itself as a service that lets miners mine solo blocks without the overhead of running a full Bitcoin node. For how regular shared pools differ, see our guide to how mining pools work.
How do the solo mining options compare?
| Option | How payouts work | Fee | Your own node? | Open source? | Typical setup |
|---|---|---|---|---|---|
| solo.ckpool.org | A block your miner finds pays your address; otherwise nothing | 2%, taken from a found block | No | Runs ckpool, GPLv3 | stratum.ckpool.org:3333, address as username |
| public-pool.io (solo ports) | A block your miner finds pays your address; otherwise nothing | States no fees | No | Public Pool software, GPL-3.0 | public-pool.io:3333, address.worker as username |
| Self-hosted Public Pool | Your node builds the block; a found block pays your address | No pool operator | Yes | GPL-3.0 | Docker, Node.js or a home-node app |
| Self-hosted ckpool (BTCSOLO mode) | The solver’s address receives 100% of the reward, minus any donation you set | No pool operator | Yes | GPLv3 | Linux, started with the -B flag |
| DATUM Gateway in solo mode | Your node builds templates and the gateway submits solved blocks directly | No pool operator | Yes | MIT | Gateway on your network, miners point to it |
| OCEAN (not solo) | TIDES: each pool block is split across recent shares | 2%, or 1% with DATUM | Optional (DATUM) | DATUM Gateway is MIT; it is a pool service | mine.ocean.xyz:3334, address as username |
How does CKPool solo work?
The solo.ckpool.org service runs ckpool, Con Kolivas’s open-source pool software, in solo mode. It needs no registration: set the username to your Bitcoin address, with or without a worker name, and use any password. Its fee is 2% of a block your miner finds. The page also says hashrates below 100 GH/s are not recommended for Bitcoin because it is unrealistic they will ever find a block. Regional servers, the Stratum V2 port and how to read its JSON statistics are covered in our CKPool solo mining guide.
How does Public Pool work?
Public Pool is open-source stratum software (TypeScript, GPL-3.0), and public-pool.io is the public instance running it. The web.public-pool.io dashboard states “NO FEES” and says affiliate links and donations pay for hosting. It offers two payout modes on separate ports: solo on 3333, where a block your miner finds goes to your address, and PPLNS on 13333, where miners split pool blocks by recent work. Only the solo ports are solo mining. Usernames take the form address.workername. Setup on a Bitaxe, the TLS and Stratum V2 ports and the dashboard are in our Public Pool solo mining guide.
How do I solo mine with my own Bitcoin node?
The only way to remove a third party completely is to run the stratum server yourself against your own fully synced node. Three open-source routes exist:
- ckpool in BTCSOLO mode. The ckpool README says the -B flag starts it in a mode designed for solo mining: every connected username must be a valid Bitcoin address, and 100% of the block reward goes to the user who solves the block, minus any donation set. The project ships an install script for a node plus ckpool.
- Public Pool, self-hosted. The repository runs it with Node.js, PM2 or Docker and needs RPC access to your Bitcoin node. It is also packaged as an app for some home-node platforms.
- DATUM Gateway. OCEAN’s open-source gateway (MIT license) gets block templates from your own node, hands work to your miners and can submit solved blocks to the network directly, without joining a pool. Its README recommends Bitcoin Knots and also supports Bitcoin Core.
The trade-off is upkeep. A full node needs disk space, bandwidth and a reliable connection, and your template is only as current as your node. A hosted solo pool takes care of that in exchange for its fee, if any.
Why is OCEAN not a solo pool?
OCEAN often appears in solo-mining discussions because it is non-custodial and can use your own templates through DATUM. It is still a shared pool. Its TIDES system (Transparent Index of Distinct Extended Shares) keeps a log of recent shares eight times the block difficulty in size. When the pool finds a block, the reward, fees included, is divided by each miner’s percentage of shares in that window and paid from the block’s generation transaction where possible.
That gives the opposite result to solo mining. On OCEAN, a small miner receives a small slice of many pool blocks. In solo mining, a small miner receives either nothing or a whole block. OCEAN publishes a 2% fee, or 1% for miners who build their own templates with DATUM. Our OCEAN mining pool guide covers payout thresholds and Lightning payouts, and FPPS vs PPS vs PPLNS compares shared-pool payout schemes.
What are the odds with small hardware?
Every hash has the same chance of solving a block, whichever pool you use. Your chance depends only on your hashrate compared with the whole network’s, and for desk-sized miners that share is tiny. Most small miners will never find a block. To put a number on your own setup, enter your hashrate and the current network hashrate into our solo mining calculator, and read solo Bitcoin mining and lottery miners before you buy.
These small SHA-256 miners are common on solo pools. Figures are listed catalog ratings, and prices are the Bitminers price at the time of writing (October 5, 2026).
| Miner | Hashrate | Power | Noise | Price |
|---|---|---|---|---|
| Bitaxe Gamma 601 | 1.2 TH/s | 17 W | 35 dB | $77.17 |
| NerdQAxe++ | 4.8 TH/s | 76 W | 40 dB | $279.00 |
| Canaan Avalon Nano 3S | 6 TH/s | 140 W | 40 dB | $216.11 |
All three are well above CKPool’s 100 GH/s line, yet their odds of a block in any given year remain small. More units are in our home and solo miners category.
How do I choose a solo option?
- Fee: CKPool takes 2% of a found block; public-pool.io states none; self-hosting has no pool operator.
- Node: if you do not want to run a Bitcoin node, use a hosted service.
- Payout mode: on public-pool.io, make sure your miner uses a solo port, because the PPLNS ports share blocks.
- Address: use an address from your own wallet in every pool slot, including the fallback pool. A wrong address means a found block pays someone else.
- Statistics: both hosted services show stats by address without a login, so anyone with your address can look them up.
Frequently asked questions
Which solo mining pool has the lowest fee?
Public-pool.io is the cheapest hosted route because it charges nothing, CKPool keeps 2% of any block you solve, and self-hosting leaves no operator to pay at all.
What hashrate is too low for solo mining?
CKPool advises against Bitcoin mining under 100 GH/s, since a machine that slow is not realistically going to solve a block.
Does the choice of solo pool change my chance of finding a block?
No, only your share of the network hashrate decides that, so the pool affects how much of a win you keep rather than how often you win.
Do I need my own Bitcoin node to solo mine?
Only for the self-hosted routes, because solo.ckpool.org and public-pool.io handle the node side for you.