Connect
There are two ways to mine here, and both pay the same way: your address is written directly into the coinbase of any block the pool finds, in proportion to your work in the payout window. The pool never holds your funds and there is no account to create.
This chain is mined with BLAKE2b, not SHA256d.
The Bitcoin Knots hardfork replaces the proof of work, and a gateway serves those headers over the Siacoin variant of Stratum v1. So the hardware is BLAKE2b hardware, the kind sold for Siacoin. A SHA256d bitcoin ASIC cannot mine this chain at all, whatever it is pointed at.
Run your own gateway
no gateway feeYou build your own block templates beside your own node and choose the transactions in them. This is what DATUM is for, and it needs a synced node of your own.
Point a miner at the public gateway
simplestOne stratum URL, with your address as the username. The operator runs the node and the gateway, and the pool charges a fee on the work that arrives through it.
Step 1
Your miner
BLAKE2b hardware
Step 2
A gateway
beside a Bitcoin Knots node
Step 3
This pool
ratum-prime
The middle hop always exists. The only question is whether the operator runs it for you or you run it yourself. Pointing a miner at the pool's own port does not work: the pool implements DATUM, not stratum.
Option 1 · Run your own gateway
The gateway is a small program that runs beside your own node. It requests a block template from the node, serves stratum to your hardware, and connects to the pool over the encrypted DATUM protocol. You choose the transactions in every block you mine, and there is no gateway fee because the gateway is yours.
Before you start
- A Bitcoin Knots node with the BLAKE2b change,
synced, with RPC reachable from the gateway. A stock Bitcoin Core node validates the
other chain and cannot be used. Until the node's template lists the
!blake2brule the gateway serves no work at all. - Matching versions. The header hash is byte-coupled across the node, the pool and the gateway, so the three must be upgraded together. Run ratum-gateway 0.1.23 or newer (earlier builds cap the coinbase at about 17 outputs and leave part of the pool's split for the operator to settle manually), or the CONVOY gateway's master branch from its BLAKE2b merge of 3 September 2026 on.
- An address on this chain to be paid at, and a port your hardware can reach.
1 · Get the gateway
Prebuilt binaries for x86-64 and aarch64 Linux and for Windows are attached to every release. This pool also accepts the CONVOY DATUM gateway, whose master branch mines BLAKE2b since 3 September 2026. Both read the same configuration file and each ignores the keys it does not know, so switching between them only means replacing the executable.
2 · Write gateway.json
The CONVOY gateway's own example, with this pool's datum block filled in. Three lines need editing, and the secondary tag is yours to choose.
bitcoind.rpcuserandrpcpasswordare your node's RPC credentials, andrpcurlis where it listens.bitcoind.rpccookiefile, the path to the node's.cookiefile, works on either gateway in place of the two credentials.mining.pool_addressis your address. It is what a miner is paid to when it sends no address of its own, so it must be valid on this chain.mining.coinbase_tag_secondaryis the label the pool shows beside your identity; the generated example's "DATUM User" is a placeholder here, and ratum-gateway leaves it empty by default. Do not reuse the public gateway's tag: the pool treats every share carrying it as work through the public gateway and charges that fee on it.coinbase_tag_primaryis replaced by the pool's own tag while pooled and applies only to a block mined solo.stratum.require_address_username: trueis a key ratum-gateway adds: with it the gateway refuses at authorization a username whose address part is not an address. It is left out above because the CONVOY gateway ignores it; there a bare worker name reaches the pool and is rejected asBadUsernameinstead.datum.pool_pubkeyis this pool's identity, and your gateway checks the pool's handshake signature against it. It is filled in above from the running pool; compare it with the value the operator publishes before trusting it. Left empty, the CONVOY gateway fetches whatever key the far end presents and checks nothing, so keep it filled.pooled_mining_onlyleaves your hardware idle rather than mining solo if the pool becomes unreachable.- The block is what
datum_gateway --example-confprints, with the same keys in the same order and the same placeholders, pluspool_host,pool_portandpool_pubkeyin thedatumblock and a placeholder in place of the default secondary tag;datum_gateway -?documents every key. ratum-gateway has no such flag and reads this same file, noting at startup thatlog_rotate_dailyhas no effect on it.api.listen_portserves the gateway's own status page on port 7152; set it to 0 to keep that off.
3 · Run it, then point your miners at it
ratum-gateway -c gateway.json
It connects to the pool, waits for the node's template, and serves stratum on port 23334. Point your hardware at stratum+tcp://your-host:23334, giving each miner the address it should be paid at as its username.
A gateway closes new stratum connections, without a message, while its own miners measure
above stratum.max_network_share_bps of the network hashrate: 10% by default, on mainnet
only. Miners already connected are unaffected. Raise the setting, or set it to 0, if your hardware
is that large a share of this chain.
Usernames and who gets paid
The pool credits work to the stratum username up to the first dot, and that part must be an address this chain's node accepts. Which username reaches the pool is decided by two settings in the configuration above, so this is also where you choose whether the miners behind your gateway are paid separately or together.
| Gateway setting | Username the pool receives | Paid to |
|---|---|---|
pool_pass_full_users: true the configuration above | the miner's own stratum username, unchanged | each miner's address, so miners behind one gateway are paid separately |
pool_pass_workers: truepool_pass_full_users: false | the gateway's pool_address, then a dot and
the miner's username | the gateway's address; the worker name still reaches the pool |
| both false | the gateway's pool_address alone | the gateway's address; no worker name reaches the pool |
Both settings default to true, and pool_pass_full_users takes precedence when
both are set, so an untouched configuration forwards raw usernames. A username that begins
with a dot is a worker name only: both gateways append it to pool_address.
If shares are rejected
The pool rebuilds every share from its job and coinbase before crediting it, and one it will not accept comes back with a reason your gateway logs. These are the ones worth acting on.
| Code | Reason | What it means |
|---|---|---|
| 14 | BadUsername | The username up to the first dot is not an address this chain's node accepts. A bare worker name is the usual cause. |
| 43 | NoSplit | The gateway mined a coinbase paying none of the outputs the pool specified. Upgrade it: work submitted this way is not credited. |
| 25 | StaleBlock | The share was for a parent that is no longer the tip. A few around every new block are normal. |
| 21 | HighHash | The share did not meet the difficulty it was assigned. Persistent HighHash indicates a miner working on a job it was not given. |
Option 2 · Point a miner at the public gateway
The operator is not running a public gateway at the moment, so this pool can only be mined through a gateway of your own, as described above.