# Run a Bitcoin Cash solo mining pool

> Plan a CashStratum solo pool on Linux: supported BCH nodes, CashAddr payouts, installer choices, miner connections and deployment checks.

Reviewed 2026-10-26.

[HTML guide](https://cashstratum.com/docs/installation) · [Authoritative source](https://github.com/cashstratum/cashstratum/blob/main/docs/installation.md)

## Start with a synced BCH node

CashStratum is the stratum server between your miners and a Bitcoin Cash full node. It builds mining work, checks shares and submits candidate blocks. The node supplies block templates and validates the chain. Installing CashStratum does not install or sync the node for you.

The managed solo installer uses **Bitcoin Cash Node (BCHN)** on Linux with systemd. BCHD and Flowee the Hub are also supported through manual configuration. Their compatibility tests cover documented RPC behavior; the end-to-end mining gate runs on BCHN. Use the upstream installation guide for the different polling and RPC settings.

## Choose and review a release

Start from a published [CashStratum release](https://cashstratum.com/releases). Review the release notes, configuration and installation script before running it. The repository's [installation guide](https://github.com/cashstratum/cashstratum/blob/main/docs/installation.md) lists the build dependencies for Ubuntu, Debian and Fedora.

You will need a synced node, authenticated private RPC access, a valid BCH CashAddr on the same network, an unprivileged service account, and a decision about which miners may connect. Keep the node RPC, Go API and public stratum listener as separate access boundaries.

## Install the solo engine

There are two supported setup paths. The managed script, `scripts/install-cashstratum-solo.sh`, accepts a reviewed checkout through `--source-dir` or an explicit public release through `--ref`. It validates the BCHN node, network, payout address and block template before installing. Use `--no-start` to inspect the resulting configuration and systemd unit before activation.

The interactive `install-cashstratum.sh` builds the current checkout and prompts for your installation directory, node credentials and operator address. Follow the complete upstream commands for your chosen path; never substitute an example payout address for your own.

Per-address solo mode uses the engine's `-B` argument. A miner authenticates with its payout address, optionally followed by a worker suffix. The operator address is a fallback for non-address usernames. The managed installer starts `poolfee` at zero; [payout behavior](https://github.com/cashstratum/cashstratum/blob/main/README-SOLOMINING.md) and [fee configuration](https://github.com/cashstratum/cashstratum/blob/main/POOL_FEE.md) document the available choices.

## Connect and check a miner

The solo installer configures Stratum V1 on port 3333. Point the miner at your own reachable stratum endpoint and use the intended BCH payout address. Check that the engine accepts shares, identifies the worker correctly, receives fresh node templates and constructs the intended coinbase outputs. Accepted shares measure contributed work; they are not a promise that a block will be found.

The installers do not enable Stratum V2. Review the protocol and mode documentation before adopting a different setup. Existing operators should also read the migration section: rerunning an installer is not a complete historical-log migration.

## Add your miner experience

The optional [Go operator API](https://cashstratum.com/docs/operator-api) reads pool logs and status files. Connect it to your application backend to build miner pages, share activity, best-share displays and block history. Keep its bearer token on your server. You can compare the result with the [independent pool directory](https://cashstratum.com/pools), and inspect [mainnet block evidence](https://cashstratum.com/proofs) before deploying your own pool.
