# Kamado Pool Kamado is a solo Bitcoin mining pool built on a patched fork of CKPool-solo, with a Go middleware API and a real-time Svelte dashboard. When a miner connected to your Kamado instance solves a block, **the full block reward goes to the payout address you configured** — no pool fees, no splits, no share accounting. ## Setup 1. Install Bitcoin Core (mainnet) **or** Bitcoin Core (testnet4). Kamado supports either as a dependency; pick one in the Kamado config under *Bitcoin Core > Type*. 2. Start Kamado. Open the web UI from the Services page to watch live hashrate, miners, best shares, and solved blocks. There is no payout address field. CKPool-solo pays the full block reward directly to whichever Bitcoin address the miner connects with as its stratum username — see **Connecting miners** below. Kamado validates worker usernames against Bitcoin Core and **refuses to authenticate any worker whose username is not a valid address on the active network**, so misconfigured miners fail loudly instead of silently mining to the wrong place. ## Connecting miners Kamado's plaintext stratum server listens on TCP port **3333** inside the container (configurable). If you enable **Stratum TLS** in the config, an stunnel sidecar also terminates TLS on port **3334** (configurable) and forwards the decrypted traffic to the plaintext stratum locally. The TLS certificate is generated once on first start and persisted at `/root/.kamado/tls/stratum.crt` — the SHA-256 fingerprint is printed to the container logs so you can pin it on your miners. Because the cert is self-signed, miners must connect with certificate verification disabled (`stratum+ssl://`, plus whatever skip-verify / insecure flag your firmware exposes). **StartOS 0.3.x does not forward raw TCP ports on the LAN interface**, so you have two options to reach stratum — plaintext or TLS — from miners on your local network: - **Router port-forward**: Forward an external port on your router directly to your StartOS server's LAN IP on port 3333 and point miners at that. - **simpleproxy on a second host**: Run `simpleproxy -L 3333 -R :3333` on any always-on LAN host and point miners at that host. Once forwarding is in place, miners connect to `stratum+tcp://:3333` with the username set to **the Bitcoin address that should receive the block reward** (optionally followed by `.workername` for labelling in the dashboard). The password field is ignored. ## Troubleshooting - **No miners appear after connecting**: confirm the forward actually reaches the StartOS container — `telnet 3333` should connect. Check the Kamado logs in the Services page. - **Bitcoin Core RPC errors**: make sure Bitcoin Core is fully synced and the RPC dependency was auto-configured (Kamado enables `rpc.enable` during setup). - **Best share resets to 0 after a block is found**: upstream CKPool zeroes the "current round" best diff on solve. Kamado ships a patch that also exposes the all-time best, so the dashboard has both columns. ## Upstream CKPool-solo by Con Kolivas: Kamado source: