Mining pools are where your hashrate translates to revenue. Foreman provides centralized management of pool configurations, allowing you to monitor pool performance, switch pools efficiently, and protect against unauthorized changes. This guide will show you how to configure, monitor, and secure your pool strategy.
Why Centralized Pool Management?
Without Foreman: Log into each miner individually, risk typos, no fleet visibility
With Foreman: Configure once, deploy to entire fleet, monitor performance, prevent unauthorized changes
Pool Configuration Basics
Pool URL Format: stratum+tcp://poolserver.com:3333 or poolserver.com:3333
Common Ports:
- 3333: Standard for Bitcoin
- 25: Alternative (bypasses some firewalls)
- 443: SSL/TLS encrypted
Worker Name Format: username.workername or wallet_address.workername
- Best practice: Use descriptive names like
myoperation.building-a-rack-05 - Include location:
mypool_user.TX-R01
Pool Priority:
- Pool 1 (Primary): Main mining pool
- Pool 2 (Secondary): Backup if primary fails
- Pool 3 (Tertiary): Additional backup
Miners automatically switch when the primary fails.
Adding a Pool
- Navigate to Settings > Pools
- Click Add Key
- Configure:
- Pool Name: "Foundry USA Primary" (internal identifier)
- Pool URL:
stratum+tcp://us.ss.btc.com:1800 - Username/Wallet: Your pool account or Bitcoin address
- Worker Name: Single name or template (e.g.,
{location}-{minerid}) - Password: Pool password (often just
x)
- Save
Failover Recommendations:
- Primary: Best rates, lowest latency
- Secondary: Different provider (avoid single point of failure)
- Tertiary: Different geographic region
Assigning Pools to Miners
Individual Assignment:
- Navigate to Miner Page
- Select miner(s)
- Click "Actions" > "Change Pools"
- Select Pool 1, 2, 3 from configured pools
- Apply Changes (30-60 seconds per miner)
Bulk Assignment:
- Select multiple miners (checkboxes or "Select All")
- Click "Bulk Actions" > "Change Pools"
- Configure pools and priority
- Apply Changes
Best Practices:
- Test on 5-10 miners first
- Stage rollouts (100 miners at a time for large fleets)
- Monitor during deployment
- Schedule during low-value periods
Monitoring Pool Performance
Key Metrics:
Share Acceptance Rate:
- Healthy: 98-100%
- Warning: <95%
Rejected/Stale Shares:
- Acceptable: <2%
- High rejection suggests network or pool issues
Connection Status:
- Miners connected to each pool
- Average latency
- Failover event frequency
Warning Signs:
- High rejection rate (>2%): Check network latency, consider closer pool
- Frequent disconnections: Review firewall/ISP issues
- Failover activation: Investigate primary pool outage
Trusted Pool Configurations (Security)
What: Prevents unauthorized pool changes—critical for preventing hashrate theft
Use Cases:
- Hosting/colocation facilities with multiple customers
- Operations with multiple team members
- Protection against malicious insiders
Setting Up Trusted Pools
Step 1: Choose Enforcement Level
- Parent dashboard: All miners organization-wide
- Site dashboard: Specific physical location
- Client dashboard: Individual customer
Step 2: Navigate to Settings > Mining Pools
Step 3: Click "Add Config"
Step 4: Choose Match Type
Regular Expression (flexible):
- Allows pattern matching
- Example:
btc.foundryusapool.com:(3333|443|25)allows any of three ports - Example:
.*\.luxor\.tech:700allows Luxor subdomain variations
Exact (precise):
- Lists specific allowed values
- More restrictive, easier to configure
Step 5: Configure Patterns
Stratum Examples:
- Specific pool, any port:
btc.foundryusapool.com:<any port> - Specific pool, specific ports:
btc.foundryusapool.com:(3333|443|25) - Pool family:
.*\.luxor\.tech:700
Worker Examples:
- Specific prefix:
clienta.<anything> - Specific format:
bill\.magicx.* - Exact name:
myoperation.texas-facility
Example Configuration:
Customer A: Stratum: btc.global.luxor.tech:700 Worker: clienta.<anything> Customer B: Stratum: btc.foundryusapool.com:<any port> Worker: bill.magicx<anything> Customer C: Stratum: ss.antpool.com:<any port> Worker: ted.<anything>
Automate Detection
Create triggers to handle violations:
Alert-Only:
- Condition: Invalid Pools Configured
- Action: Send email notification
Auto-Correct:
- Condition: Invalid Pools Configured
- Action: Change pools to approved configuration
Best Practices
Security
- Limit "Change Pools" permission to management only
- Use Trusted Pool Configurations
- Monitor audit logs regularly
- Watch for: unexpected pool changes, worker name modifications, unauthorized new pools
Failover Strategy
- Use different providers for primary and secondary
- Consider different geographic regions for tertiary
- Avoids correlated failures (DDoS, provider issues)
Worker Naming Conventions
username.location-rack-position→mypool.texas-bldga-r01-p03username.facility-identifier→mypool.facility1-rack05-miner12username.model-sequence→mypool.s19pro-001
Keep consistent and documented.
Regular Audits
Monthly:
- Verify all miners on intended pools
- Review share acceptance rates
- Check for unauthorized configurations
Quarterly:
- Test alternative pools
- Review fee structures
- Update failover configurations
Troubleshooting
Miners not connecting:
- Verify pool URL/port (no typos)
- Check firewall allows outbound connections
- Confirm pool isn't blocking your IP
High share rejection:
- Check network latency (
ping poolserver.com) - Try alternative pool location
- Contact pool support
Worker not appearing on pool dashboard:
- Verify worker name format matches pool requirements
- Check username/wallet address
- Wait 5-10 minutes for worker to appear
"Invalid Pools Configured" error:
- Verify stratum matches pattern exactly
- Check worker name follows approved format
- Review regex syntax
- Test pattern with smaller scope first
Cannot change pools:
- Verify you have "Change Pools" permission
- Check if Trusted Pool restricts changes
- Request approval from Mining Pool Manager
Setup Checklist
Initial:
☐ Add primary pool
☐ Add secondary backup (different provider)
☐ Configure worker naming convention
☐ Test on 5-10 miners
☐ Roll out to fleet
☐ Set up Trusted Pools (multi-user environments)
☐ Create invalid pool detection triggers
Ongoing:
☐ Monitor share acceptance (target >98%)
☐ Check connection status daily
☐ Review performance monthly
☐ Audit configurations quarterly
Comments
0 comments
Please sign in to leave a comment.