Heads-Up for Blockle Pool Setups: Don’t Use Native SegWit (blk1…) Addresses Directly
Blockle wallets today default to giving you a native SegWit Bech32 address (e.g.
blk1q3g8gd7y9k09ew0fxe59ht0ayye73cqjn7ahvxe
). Unfortunately, many pool back-ends (block-notify scripts, payment processors, Stratum implementations) still only recognize “wrapped” P2SH-SegWit addresses.
⸻
The problem
• Native SegWit (blk1…) may be seen as “invalid address” by your pool software
• Payouts silently fail or RPC calls error out
• Web UI address validation rejects your wallet
The quick fix
1. Generate a P2SH-SegWit address in your Blockle wallet
blockle-cli getnewaddress "" "p2sh-segwit"
That will give you an address starting with “3…” (or whatever your P2SH prefix is).
2. Use that P2SH-SegWit address in your pool config
In your serverconfig.php or config.json, set:
$config['payout_address'] = '3YourP2SHSegWitAddressHere';
instead of the blk1… address.
3. Test it via RPC before restarting your pool:
blockle-cli validateaddress 3YourP2SHSegWitAddressHere
Ensure it returns "isvalid": true.
4. Restart your pool services so they pick up the new address.
⸻
Why this matters
• P2SH-SegWit gives you the lower fees of SegWit (transactions still spend to a SegWit output)
• Keeps compatibility with existing pool daemons and notify scripts
• No need to patch dozens of Node.js, PHP or C scripts to support Bech32 yet
Once your pool is running smoothly with the P2SH-SegWit address, you can plan a full SegWit-capable upgrade later. But in the meantime, this simple switch will avoid the “invalid address” and payout errors that trip up most Blockle pool operators.