Dev scaffold: this instance runs BTC testnet4 for pipeline testing, not eCash (ECX). Everything described below works today on testnet4; real ECX pool launches at Full Release on 2026-10-31.
solofork logo solofork

Why solofork?

A solo pool that hands you the coinbase. Register a message that lands in your winning block, tune difficulty to your rig, and never trust the pool with a payout — all authorized by a BIP-322 signature from your own address.

1. Sign your winning block

Every block this pool mines under your address can carry text you registered — a message that goes on-chain, indexed by every explorer, permanent. Two slots, both self-serve:

The messages are wired to your payout address. Nobody else can register under it because the registration is authorized by a BIP-322 signature from the address's private key. No account, no email, no moderation queue — the address is the identity.

Go to the Manage page →

2. Difficulty that fits your rig

Most pools ship one vardiff curve and hope it's roughly right for you. solofork lets you register the two knobs that actually matter:

Both can be scoped to the whole payout address or to a specific worker. Ten workers under one address? Ten different diffs, if you want. Same authorization — one BIP-322 signature covers everything, and per-worker scriptSig / OP_RETURN text works the same way.

See FAQ for how quickly diff changes take effect.

3. Solo, and non-custodial by construction

solofork is a solo pool — when you find a block, the coinbase pays your address directly. There is no pool wallet in the middle, no minimum payout threshold, no PPLNS accounting, no "please wait for the batch." The block reward lands in the same address you gave your miner as the stratum username.

2% of the coinbase is donated to the pool operator via a separate coinbase output. That's the only cut, and it's fully transparent on-chain in every block this pool finds.

4. One signature, one save

The Manage page uses a session-based flow: authorize once with a BIP-322 signature, edit every field on one screen, hit Save, done. The session lasts 10 minutes and burns on save — no lingering token, no "am I still logged in" state. Failed validation keeps the session alive so a typo doesn't cost you a re-sign.

Prefer scripting? The CLI at scripts/register-message.py uses a one-shot signed payload and doesn't touch the session flow — you keep the direct API surface.

What we don't do

Try it

Point a rig at stratum+tcp://stratum.solofork.com:3333 with your address as the username, then register on the Manage page. Your address will show up at /user/<address> once shares start arriving.

URL:       stratum+tcp://stratum.solofork.com:3333
Username:  <your bc1… ECX address>
Password:  x

Full connection docs at /connect. Frequently asked questions at /faq. If you want the whole picture of what the pool does and doesn't run: /about.