Bring your own node · DATUM · SHA-256
Hashrate · last 24h
Username YOUR_BITCOIN_ADDRESS
Password anything
Your node builds the block. The pool only sets the split: everyone with work in the window, by work · fee 0.4% with your own node, 2.9% through PyBLØCK’s stratum · paid in the coinbase. The pool never holds a sat.
Next block · who gets paid
| Miner | Hashrate · 10 min | Share of window | Would receive | Last share |
|---|---|---|---|---|
| The window is empty right now. | ||||
Would receive = the split the pool dictates right now: everyone with work in the window, by work, minimum 1,000 sats. If a block is found by a miner whose firmware can only carry a small coinbase, the split is pro-rated among those who fit — never kept by the pool.
Blocks found on WAVICLES · SHA-256
| Block | When | Built by | Paid to miners | Pool output | Miners paid |
|---|---|---|---|---|---|
| Loading… | |||||
Pool output = exactly the fee (0.4% on work from your own node, 2.9% on work through PyBLØCK’s stratum, per identity). Everything else is paid to the window in that same coinbase, by share of work (minimum 1,000 sats per identity; below that your share goes to the other miners, never to the pool).
Node runners connected
| Gateway | Software | Shares | Work | Connected | Last share |
|---|---|---|---|---|---|
| No gateway connected right now. | |||||
—
Collecting history…
Connect · your DATUM gateway
"mining": {
"pool_address": "YOUR_BITCOIN_ADDRESS",
"coinbase_tag_secondary": "your-name"
},
"datum": {
"pool_host": "pool.pyblock.xyz",
"pool_port": 28925,
"pool_pubkey": "2c8852c169493033cf4fc6df8554978361e0f5250f6821b4d2e81118cbed8005915a6696e219f84adb15249b5beaec534a97768e1e3ba57abc7d2afe8b55e865",
"pool_pass_workers": true,
"pool_pass_full_users": true,
"pooled_mining_only": true
}
mining.pool_address = your Bitcoin address. Your share of every block is paid there, in the coinbase.mining.coinbase_tag_secondary = your name. It goes on-chain in the scriptsig: PyBLOCK-WAVICLES/your name.Needs a synced Bitcoin node (Knots or Core) and a DATUM gateway: OCEAN’s datum_gateway,
CONVOY, or the Umbrel / StartOS packages. The pubkey is also published live at
wavicles_api.php?chain=sha256 →
pool.datum.pubkey, so you never have to trust a number copied off a web page.
ASICs can point straight at stratum+tcp://pool.pyblock.xyz:23124, username
YOUR_BITCOIN_ADDRESS.worker, any password. Same window, same coinbase payout — but the block is
built by PyBLØCK’s node, not yours, and the fee is 2.9% instead of
0.4%. Bring your own node whenever you can.
| Symptom in the gateway log | Cause | Fix |
|---|---|---|
| decryption failed | pool_pubkey wrong or truncated | copy the full 128-hex key (click the config block), restart the gateway |
| Handshake OK but 0 shares on the pool | miners point at the pool instead of your gateway | miners go to gateway-IP:stratum-port, never to :28925 |
| “pool-only” coinbase in a block | the template left no room for the payout outputs | blockreservedweight=100000 in your node’s bitcoin.conf (Knots / Core 29+) |
| connects, then drops every few minutes with a new gateway key each time | the gateway restarts right after the handshake: its node returns no work (RPC misconfigured or not synced) | read the gateway log after “DATUM Pool MOTD”; on your node run bitcoin-cli getblocktemplate '{"rules":["segwit"]}' |
| your identity shows work but payout 0 / “not payable” | the miner username on your gateway is a worker name, not an address | miners log in with a Bitcoin address (bc1q… / 1… / 3…); a worker after a dot is fine: bc1q….rig1 |
| few identities paid in a block | a coinbase budget too small for the payout list | pool-side, every gateway gets the 16 KB class (~400 payouts). Nothing to change on your side. |
Node tip: blockreservedweight=100000 in bitcoin.conf. Your miners’ firmware sets how many payouts a
coinbase can carry: modern firmware takes big coinbases and pays the whole window; a stock ~730-byte coinbase fits ~15,
and then the split is pro-rated among those who fit — never kept by the pool.
DATUM endpoint pool.pyblock.xyz:28925 · pool pubkey 2c8852c169493033cf4fc6df8554978361e0f5250f6821b4d2e81118cbed8005915a6696e219f84adb15249b5beaec534a97768e1e3ba57abc7d2afe8b55e865
Running your own node · FAQ
mining.pool_address it decides who gets paid if you ever mine without the pool, and the gateway will
not even start without a valid one. On each miner, as the Stratum username, it decides who gets credited in the
window. Set both.Three pieces, set up in this order. 1. A Bitcoin node (Knots or Core), fully synced. 2. A DATUM gateway on the same machine or LAN, pointed at your node over RPC and at WAVICLES over the internet. 3. Your miners, pointed at your gateway. Do not skip ahead: a gateway whose node is still syncing has no work to hand out.
In the gateway config as mining.pool_address (required — with an invalid one the gateway exits
in under a second), and on each miner as the Stratum username. The username is what the window credits.
No. It forwards the username as it was typed. The check happens here: a username that is not a payable Bitcoin address earns nothing. Re-check after changing a username: your row in the Node runners table should show shares.
We are talking to your gateway and nothing is hashing into it. Most often: no miner is pointed at the gateway yet, or the miners are pointed at :28925, which is where your gateway talks to us and never where miners go.
That is what pooled_mining_only decides. Left at true, as we publish it, your gateway drops
your miners rather than mine without a pool. Set to false, your node keeps building blocks on its own and any block it
finds pays 100% to mining.pool_address.
No, and this is the whole point of the pool. Every block found by anyone on WAVICLES pays everyone with work in the window, by share of work, in that same block’s coinbase. Nothing to withdraw.
Minimum: 1,000 sats accrued in the window; below that your share is spread across the miners who do clear it, never kept by the pool. Fee: 0.4% when your own node builds the block, 2.9% when you mine through PyBLØCK’s stratum.
Any current DATUM gateway: OCEAN’s datum_gateway, CONVOY, or the Umbrel / StartOS packages,
pointed at a synced Bitcoin node with blockreservedweight=100000.
How it works
OP_RETURN PYBLOCK-TON618 ‖ hash(snapshot). The snapshot (window, params, split) is public and cannot change after the block exists.PyBLOCK-WAVICLES/<node-runner> — the node that built the block.curl -s 'https://pool.pyblock.xyz:8443/wavicles_api.php?chain=sha256&mode=snapshot&hash=<HASH>' -o snaps/<HASH>.json python3 tools/verify_wavicles_block.py --height H --conf bitcoin.conf --snapshot-dir snaps
Verifier + pool source: gitlab.com/astrolexis-group1/wavicles-prime (MIT).