I've been building a Bitcoin pool from scratch and it's on mainnet now. It's not a fork of anything... the core and the protocol handling are my own. Before I say anything else about it, the honest part, because this board will ask for it anyway:
If you point hashrate at any solo or lottery pool, the probability that a single hash solves a block is about 1 / (D · 2^32). Expected time to a block is D · 2^32 / H. At today's difficulty, for anything short of an industrial farm, that number is longer than you'll be alive. No pool changes that. Anyone who implies otherwise is selling you something.
So I stopped building around the thing I can't control (your odds) and built around the thing I can: what happens to your work between the moment you submit a share and the moment a block is or isn't found.
The design goal fits in one line... your work gets counted, mined on a template that would actually pay you, and not silently lost... and you shouldn't have to take my word for any of it.
Non-custodial. There's no step where I hold your coins and forward them later. Payouts live in the coinbase of the block you're hashing on. If a block is found, the reward is assigned on-chain by that block itself; I have no separate spendable claim on it and there's no "trust me, I'll pay you Friday" in the loop. And because the coinbase is built before you win, you can check it before you win: there's a preflight that reconstructs the exact coinbase transaction you'd be mining toward... output script, amounts, all of it, byte for byte. The non-custodial claim isn't a promise, it's a diff you can run against the real block if one ever lands.
Proof of custody. This turns on a distinction most dashboards blur: "your share was accepted" and "the work you did was on a block that would actually pay you" are not the same claim. A pool can honestly credit your shares while quietly handing you a template whose coinbase pays the operator. So every job I hand out is signed, and there's a running record, a
glass ledger, for lack of a better name, tying your accepted shares to the exact template you were mining, one whose coinbase pays your address and which you already checked with the preflight. The point is to make the second claim verifiable, not just the first.
The build. Mining core in C, control and telemetry plane in TypeScript. It speaks Stratum V1 and V2 natively, V2 isn't bolted on through a translation shim, it's a first-class path with both standard and extended channels. Getting extended-channel share accounting to line up with V1 semantics (job difficulty at share time in particular) is where a lot of naive SV2 work quietly loses or double-counts shares, and it took real effort to get right. I've interop-tested it against independent third-party SV2 stacks, not just my own client.
What I'm
not claiming:
- The source isn't public yet. I know how that reads on this board. My answer is that none of the claims that matter to you need my code: the coinbase, the payout address, and the on-chain outcome are all verifiable without it. The repo (github.com/sweethashio/NexusPool) is MIT and carries the readme, spec and versioning, the core itself isn't in it. Check the chain, not my repo.
- There's a single authority key. This is not decentralized and I'm not pretending it is. It's one operator sealing custody of your hash. The honesty is in making that custody checkable, not in eliminating it.
- The odds are still the odds. Non-custodial and verifiable doesn't mean profitable. For almost everyone this is a lottery ticket that happens to be auditable.
I'm posting here because this board has the people most likely to find the hole before I do. The things I actually want torn apart:
- Where does the custody claim leak? Give me a sequence where the dashboard credits your shares but the template you were mining pays me.
- Can the preflight coinbase be swapped between what you check and what goes on-chain? If yes, the whole thing is theater.
- Where can a signed job or a counted share be dropped or re-attributed without it showing in the ledger?
It's live on mainnet today, mostly carrying my own hardware.
I can't change your luck. I can prove I didn't lose your work.https://nexuspool.ioTear it apart.