Welcome To The Foreman Knowledge Base

Module 3: Managing Mining Pools

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

  1. Navigate to Settings > Pools
  2. Click Add Key
  3. 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)
  4. 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:

  1. Navigate to Miner Page
  2. Select miner(s)
  3. Click "Actions" > "Change Pools"
  4. Select Pool 1, 2, 3 from configured pools
  5. Apply Changes (30-60 seconds per miner)

Bulk Assignment:

  1. Select multiple miners (checkboxes or "Select All")
  2. Click "Bulk Actions" > "Change Pools"
  3. Configure pools and priority
  4. 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:700 allows 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-positionmypool.texas-bldga-r01-p03
  • username.facility-identifiermypool.facility1-rack05-miner12
  • username.model-sequencemypool.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

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request

Comments

0 comments

Please sign in to leave a comment.