Proof

Proof: true solo & 0% fee

Don't take our word for it. Here is an operator-run regtest demonstration of the configured payout behaviour, run on the same pool software SoloLuck uses, showing how a solved block pays out: the full reward goes to your own address — 0% fee, one spendable payout output, no pool fee output.

The experiment

We ran the live, patched ckpool in true-solo mode (-B, donation = 0) against a private Bitcoin regtest network, connected a miner using its own address as the username, and decoded the coinbase the pool builds for the next block — which is exactly what goes into a solved block (mining only fills in the winning nonce). On regtest the subsidy is 50 BTC, so the split is easy to read:

coinbase outputs, decoded from the pool's own work:
 vout[0]  50.00000000 BTC → the miner's own address  (100%)
 vout[1]   0.00000000 BTC → OP_RETURN (segwit commitment)

All 50 BTC to the miner in the one spendable payout output — nothing to the pool (vout[1] is the zero-value segwit witness commitment every modern block carries; SoloLuck receives no spendable fee output). 0% fee — no custody, no splitting, no hidden cut.

What this proves

  • True per-miner solo. The whole block reward is paid in the coinbase straight to your address (your stratum username) — the pool never holds your coins.
  • 0% fee — finders keepers. There is no pool fee output — the whole reward is one spendable payout output straight to your address, created in a block you solve. We run SoloLuck as community infrastructure — the operator mines here too and takes no cut. Any solved block is visible to anyone on a block explorer.
  • Honest scope. This is an operator-run demonstration: it shows the expected coinbase construction, but it cannot prove on its own which binary and configuration run on the live server. The pool patches are published under the GPLv3 so the code can be read and rebuilt; the website is not, and published source still does not prove which binary runs. A found mainnet block will be the public, on-chain confirmation.

Reproduce it yourself

Run any Bitcoin regtest node plus the public ckpool source with "donation": 0 and the -B flag, point a miner at it with a regtest address as the username, and decode the coinbase from the stratum work with bitcoin-cli decoderawtransaction. You will see the whole reward in one spendable output to the miner (plus the zero-value witness commitment); mainnet behaves the same way.

Honest caveat

This proves the payout construction is correct — it is not a found Bitcoin block. SoloLuck has found 0 of those so far (solo mining is high-variance). When a Bitcoin block is solved, this same construction — one spendable payout output, 100% to you — will appear on-chain. See /verify for the rest, and /status for the live block count.

⭐ It is no longer only a demonstration. SoloLuck has solved 32 blocks on DigiByte mainnet — 24,318,178, 24,316,221, 24,315,923, 24,314,386, 24,314,274, 24,313,585 — and each paid the full block reward in one spendable coinbase output with no fee output, tagged /sololuck.io/. The first six were found by machines the pool operator runs, so they show what the software does with a reward, not that an outside miner has been paid. A different chain at a far lower difficulty than Bitcoin, and the copy will not pretend otherwise — but it is the same pool software and the same payout construction, now on-chain instead of on regtest. Check it, don't take it from us: open those heights on any DigiByte explorer and read the coinbase, or see /blocks for each one checked by hand.

  • 24,318,178000000000000000426d985dd9fb31a79f6ffda6ad7237e21a675d9986307070d
  • 24,316,221000000000000000840a978bb5a954d0f0b8794b9bbcd55a9e0182de5dad1151b
  • 24,315,92300000000000000008f0fb13efbe6aa29d2d90b3cd1cbec5bd38fc6ccfaaa1e4d
  • 24,314,3860000000000000007053913722a76a8172ae1224f274336b2f3a3bdddbf661a44
  • 24,314,274000000000000000018ccde2a0335c4ba73e7ae2b2c47406853bcde10f711cab6
  • 24,313,585000000000000000546b11b9d973c90e18f6079c8c2d82f9bcd29b6dd123f7f0c

What the DigiByte pool was tested against

Before that pool was opened it had to pass a set of acceptance gates — 17 of 17 pass today. ⭐ Two of them matter more than the rest: they remove the setting being tested and confirm the money really does go elsewhere. A test that has never been seen to fail is a test nobody has checked. Run 2026-09-05 on a private chain, re-run 2026-09-06 against the live pool.

  • PASSLIVE POOL: the template ckpool is really serving is SHA256d
  • PASSLIVE POOL: 100% of the reward pays the miner's own address
  • PASSLIVE POOL: a nickname username is refused, not paid to the pool
  • PASSLIVE POOL: each port settles on its own difficulty floor
  • PASSLIVE POOL: reachable from outside this house
  • PASSThe payout wallet can actually be spent
  • PASSThe pool's own template request returns SHA256d work
  • PASSVersion-rolling cannot corrupt the algorithm
  • PASSDigiByte addresses pass through the pool unchanged
  • PASSA block was actually won, not merely accepted
  • PASSThe whole reward paid the miner, in one output
  • PASSPaid because it worked, not because it fell back
  • PASSYour own address type (bech32) pays correctly — decoded from the served bytes
  • PASSA nickname username is REFUSED, not quietly paid to the pool
  • PASSOur signature is in the coinbase
  • PASSPROVEN ABLE TO FAIL: remove the solo flag and the money moves
  • PASSPROVEN ABLE TO FAIL: remove one config line and the work is worthless

These gates cover the DigiByte pool. The Bitcoin pool's payout construction is the regtest demonstration above; the Bitcoin Cash pool is covered on its own page.

Quick answers

What does the proof page demonstrate?

It shows the pool payout construction on regtest: one spendable coinbase output to the miner address and no pool fee output.

Has SoloLuck found a mainnet block yet?

Not on Bitcoin — SoloLuck has found 0 Bitcoin blocks so far. On DigiByte mainnet it has. Its first six DigiByte blocks were found by machines the pool operator runs: each coinbase has one spendable output and no fee output, which shows what the software does with a reward, not that an outside miner has been paid. The blocks are listed on /blocks so you can read the coinbase yourself.

Does SoloLuck custody miner payouts?

No. SoloLuck is non-custodial; a found block pays directly to the Bitcoin address used as the mining username.