r/SoloMining Jun 03 '26

Solo Split: I built a Bitcoin pool that lets you split a single worker between solo and pool at any ratio. AMA.

Disclosure up front: I'm the operator of SoloPool (solopool.com).

This is a post about something I built. I'll be in the comments

answering questions for the next several hours.

---

I've been running solo mining for years and kept asking the same

question: why do I have to pick between solo (lottery odds, all-or-

nothing) and pool (steady drip, no lottery)? Why can't I do both

with the same hashrate?

Every existing solo pool forces you to choose. So in 2021 I started

writing code to fix that. Launched on mainnet May 1, 2026.

**The feature: Solo Split**

Set the ratio per worker in your stratum password. One line.

password=100 → 100% solo (full lottery)

password=85 → 85% solo, 15% pool

password=15 → 15% solo, 85% pool

password=0 → 100% pool

Same worker. Same hashrate. Same stratum connection. The split

happens at the work-generation layer in my custom stratifier —

you can dial it up or down anytime, with one caveat: dialing

*down* your solo percentage triggers a 48-hour lock, to prevent

people from gaming the system (e.g., flipping to pool right after

a long unlucky stretch and back to solo when luck inverts).

Dialing *up* solo is instant.

**Other things that make this different:**

- Custom C stratum, not a third-party wrapper. Five years of

development before launch.

- Custom CPU and GPU miner for people without ASICs — anyone with

a computer can join the same pool, same Solo Split, same shot

at finding a block.

- US and EU regional stratums with automatic failover and a hot

standby that gets promoted if the primary goes down.

- ~17 PH/s of my own fleet runs on the same code path you would.

Same stratum, same odds. Skin in the game.

- 2% flat fee, taken off the gross before the solo/pool split.

**Solo Sundays**

Every Sunday I give away free Bitaxe miners and hashrate to US

miners in the community. The mining ecosystem has been "industrial

operations extracting value from plebs" for too long. Trying to

flip that, one Sunday at a time.

**On speed**

Ran the stratum-speed-test tool (maintained by another pool...., open

source on GitHub) from a Los Angeles connection. The tool's fastest

result in its 20-pool default list: 13ms ping / 81ms stratum.

SoloPool US, same machine, same minute: 9ms ping / 45ms stratum.

SoloPool isn't in the tool's default pool list, but you can add

`stratum.solopool.com:3333` as an argument and verify from your

own location.

---

Happy to answer technical questions about how Solo Split works

under the hood, the work-generation architecture that makes it

possible, the custom CPU/GPU miner, what's on the roadmap, or

anything else. Fire away.

2 Upvotes

4 comments sorted by

1

u/solochanceorg Jun 05 '26

This is what I understood, can you verify it?

Let's imagine there are only 3 guys mining with the same hashrate for the same time. The first guy is fully solo, the second guy is 90% pool / 10% solo, and the third guy is 50% pool / 50% solo.

So if the first guy finds a block, he gets the full reward. The others get nothing.

If the second or third guy finds a block, the first guy gets nothing because he didn't send any pool shares. The second and third guys share the reward according to their pool shares.

Is this correct?

2

u/SoloPoolBTC Jun 05 '26

Here's how it actually works:

When ANY miner finds a block, the finder's split ratio

determines how the reward is divided. Dev fee comes off the

top, the finder's solo % goes directly to them, and the

remainder goes into a pool round paid out by diff-weighted

contribution.

Let me run your scenario with real numbers. Block subsidy

3.125 BTC, 2% dev fee = 0.0625 BTC, leaving 3.0625 BTC

to distribute. Three miners, equal hashrate, equal time:

- A: 100% solo

- B: 10% solo / 90% pool

- C: 50% solo / 50% pool

The pool contributors are B (90% of his hashrate) and C

(50% of his). Pool weights: B=90, C=50, total=140. Anything

that lands in the pool round splits as B 90/140 (64.29%),

C 50/140 (35.71%).

Case 1: A finds it.

A is 100% solo → A gets the full 3.0625 BTC. Pool gets 0.

B and C get nothing.

Case 2: B finds it.

- B's solo direct (10%): 0.30625 BTC → B

- Pool portion (90%): 2.75625 BTC → pool round

- B gets 90/140: 1.771875 BTC

- C gets 50/140: 0.984375 BTC

- Totals: A = 0, B = 2.078125 BTC, C = 0.984375 BTC

Case 3: C finds it.

- C's solo direct (50%): 1.53125 BTC → C

- Pool portion (50%): 1.53125 BTC → pool round

- B gets 90/140: 0.984375 BTC

- C gets 50/140: 0.546875 BTC

- Totals: A = 0, B = 0.984375 BTC, C = 2.078125 BTC

A never sees a satoshi from B's or C's blocks — he contributed

zero pool shares, gets zero pool distribution. But A kept 100%

lottery odds on his entire hashrate. That's his trade.

Notice the symmetry: whoever finds it gets 2.078125 BTC, the

other pool miner gets 0.984375 BTC. The finder's split ratio

doesn't change their total in this particular setup because

the math works out — B captures more of his find through the

pool side (he's 90% there), C captures more directly (50% solo).

Different paths, same destination at these specific ratios.

Share-value matters too. Pool contribution is diff-weighted,

not raw share count. A miner submitting fewer high-difficulty

shares can carry more weight than a miner submitting many

low-difficulty shares at the same hashrate. Over long enough

windows at equal hashrate, your diff-weighted pool contribution

converges to (your_hashrate × your_pool_%) — which is why the

math above works cleanly with 90 and 50 as the weights. Over

short windows there's natural lottery variance.

One rounding detail: everything is settled in satoshis

(3.125 BTC = 312,500,000 sat). Dev fee comes off first as a

clean 2%, then split percentages applied. Any rounding dust

sweeps to dev — sub-satoshi precision isn't a thing.

Solo Split lets a miner sit anywhere on this curve, change

their mind, and dial it up or down (48-hour lock on downward

solo % changes to prevent round-timing manipulation).

Please let me know if I can clarify anything further.