Dual Pool Mining on Nerd*axe: Smarter Hashrate, More Control
The Nerd*axe series (including the Nerdaxe, NerdQaxe+, NerdQaxe++ and finally the NerdOctaxe) has just received one of its most powerful upgrades yet: true simultaneous dual-pool mining with configurable hashrate splitting. This feature was first introduced by Pmaxsd (shufps on GitHub) mid-November 2025 via a major pull request (#389) to the ESP-Miner-NerdQAxePlus repository, and finally included in the major firmware upgrade v1.0.35. allows your miner to work on two pools at the same time, allocating hashrate proportionally (for e.g., 70% to one pool, 30% to the other) without any downtime or wasted work.
This is a huge step up from the old “failover” style setups, where the miner only switched to a backup pool if the primary went down. The new feature gives you real flexibility for advanced mining strategies.
Below is a table that compares and contrasts the features offered by the old failover setup versus the new true dual pool setup.
| Feature | Old Failover Style | New True Dual Pool |
|---|---|---|
| Pools active | One at a time | Both pools simultaneously |
| Hashrate split | All of nothing | Configurable (e.g., 80%/20%) |
| Switching | Only on failure | Continuous, interleaved |
| Downtime | Possible during switch | None |
| Use case | Basic redundancy | Various (diversifying, testing, etc.) |
Although the two setups serve different purposes, putting them side by side highlights the advancement in versatility and user control offered by these devices.
The feature relies on three key innovations:
1. independent Stratum Connections
The firmware maintains two fully independent Stratum sessions running in parallel—one for each pool. Each connection manages its own jobs, difficulty adjustments, ping monitoring, and error recovery completely asynchronously.
Both pools continuously send mining.notify messages, update difficulty settings, and handle reconnections independently. This ensures maximum uptime: if one pool fails, the other continues mining without interruption.
2. Job-Level Hash Allocation (Bresenham-based)
Instead of splitting ASICs physically or using time-based switching, the firmware uses a deterministic dithering algorithm to distribute mining jobs between pools at the job level.
At each job interval (configurable per board: 500ms for NerdQaxe++, 1200ms for NerdQaxe+, etc.), the scheduler decides which pool provides the next job based on the configured balance ratio.
The algorithm uses error accumulation (similar to Bresenham’s line algorithm):
- At each job interval the accumulator is increased by the SECONDARY pool’s % share.
- It accumulates “pressure” for the secondary pool on each cycle
- When the accumulated value exceeds 100, a job from the secondary pool is selected
- The counter is then decremented by 100 and the cycle continues
Example:
With a 70% / 30% split:
| Job # | Accumulator | Pool Selected |
|---|---|---|
| 1 | 30 | PRIMARY |
| 2 | 60 | PRIMARY |
| 3 | 90 | PRIMARY |
| 4 | 120 → 20 | SECONDARY |
| 5 | 50 | PRIMARY |
| 6 | 80 | PRIMARY |
| 7 | 110 → 10 | SECONDARY |
This approach guarantees that the effective hashrate split converges precisely to the configured percentage over time, based on actual hashing work performed (number of jobs), not wall-clock time.
3. Smart ASIC Difficulty Handling
The ASIC chips (BM1366, BM1368, BM1370, etc.) are configured with the minimum share difficulty of the two pools.
Why?
The ASIC hardware only reports hashes that meet or exceed the configured difficulty target. If we set a difficulty that’s too high, we’d miss valid shares for the pool with lower difficulty.
Solution: The firmware continuously monitors both pools’ difficulty settings and configures the ASIC with min(pool0_diff, pool1_diff), clamped to the ASIC’s supported range.
- Solo + PPLNS hybrid: Put x% on a solo pool (public-pool.io, local DATUM) for a chance at a full block, and (100 – x)% on a payout pool (Braiins, Ocean) for steady small rewards.
- Pool testing: Compare profitability of different pools without interrupting mining.
- Risk diversification: If one pool has downtime or rejects shares, the other keeps earning.
- No hashrate loss: Unlike time-based interleaving, nonce distribution is perfectly accurate.
1. Update to the latest firmware (v1.0.35 or newer) via the web flasher.
2. Access the AxeOS web interface (miner’s IP address in your browser).
3. Go to Settings, then Stratum Settings.
4. In the drop down menu of Pool Mode, select Dual Pool.

5. Configure Pool 1 URL, port, username (bitcoin address), password.
6. Change to Pool 2 tab and configure it with the details of the second pool.

7. Adjust the hashrate balance slider (e.g., 50% / 50%).
8. Save and Restart, the miner reconnects immediately and starts distributing work.
On the main dashboard page, you’ll see both pools’ status, hashrate contributions, and accepted shares in the dashboard.

For this example, we configured 50% of the hashrate to go to public-pool.io (solo/lottery), and the 50% to go Ocean via locally run Datum instance (configured for pooled mining). In the screenshot above you can see the two pools on the bottom, the hashrate evenly split in the top left corner, and the shares accepted by each pool in the section to the right. As you might notice, public-pool accepted significantly more shares, and that is because public-pool has a much lower target difficulty (see Smart ASIC Difficulty Handling section above.)


You can verify that the miner is working on both pools by going to each pool’s dashboards and searching for your respective usernames (bitcoin addresses).
This feature was a multi-week, multi-commit overhaul led by developer Pmaxsd (shufps on GitHub). The code was refactored to:
- Split monolithic Stratum handling into modular components.
- Re-enable nonce distribution specifically for dual-pool use.
- Add thread-safe balance tracking and dynamic reconnection.
- Update the UI and API for seamless configuration.
It’s now fully stable and available in the main ESP-Miner-NerdQAxePlus branch.
The new dual-pool feature transforms the Nerd*axe series from a simple hobby miner into a truly flexible tool for Bitcoin enthusiasts. Whether you’re chasing lottery wins or want reliable micro-payouts, you can now do both on the same device, with no compromises.
Whether you’re running a Nerdaxe or NerdOctaxe, grab the latest firmware and give it a try. The future of home mining just got a lot more interesting!