Mining Pools & Proxies

MiningCoreOpen-Source Pool Software for Windows

Free open-source mining pool software with Stratum, vardiff, payments and live stats. Setup steps, safety notes and alternatives.

Free Open source Windows: Yes v0.24 Updated 31 Jan 2023
10 min read Last update 31 Jan 2023 github.com/oliverw/miningcore

MiningCore is free, open-source software for people who want to run their own cryptocurrency mining pool, from a small group of miners to a hosting operator managing several coins. It is available as a Windows build or installer, and the project also lists macOS, Linux and Docker as platforms. Before you start, note that the latest version is 0.24 and the most recent code update was made on January 31, 2023, more than two years ago, so check the repository's recent activity before you deploy it.

MiningCore for Windows suits operators who are comfortable with server configuration, database setup and log files. It is not a consumer miner you launch with a few clicks. The sections below explain what the software does, what you need before installing it, how to set it up carefully, and how it compares with other pool and proxy tools in the same category.

02

What Is a Mining Pool and Where Does Pool Software Fit?

A mining pool lets many participants combine their computing power and share the work of finding blocks. Each miner submits shares, which are partial proofs that the miner has done a portion of the required work. When the pool finds a block, the reward is divided among contributors according to the pool's rules.

Pool software is the server side of this arrangement. It accepts connections from miners, tracks their shares, verifies submitted work, adjusts difficulty and handles payouts. Miners usually run only a mining program that connects to the pool's address. The operator runs the pool software and is responsible for its uptime, security and accounting. MiningCore is designed for that operator role, which is why its features focus on connection handling, statistics and payments.

03

Who Is MiningCore For?

MiningCore is most useful for people who plan to run a pool rather than simply join one. Typical users include community groups that want a pool for a single coin, hosting providers that manage several networks, and developers who need a test pool to study how a network behaves under load.

Individual miners who only want to contribute hashing power to an existing pool will not need this software. It requires a database, configuration work and ongoing monitoring of logs and connections. Someone who simply wants to mine with their own machine is better served by a miner program that connects to an established pool. Before choosing MiningCore, decide whether you are ready to manage a service that other people depend on.

04

Real-World Scenarios for a Self-Hosted Pool

Consider a small community that wants to offer a pool for a Monero-based algorithm. The operator sets up one pool in MiningCore, connects it to the coin's node, and enables the stats API so members can see their shares. Adaptive difficulty keeps low-powered laptops from being overwhelmed by settings meant for large rigs.

A second scenario involves a hosting operator who runs pools for Ergo and several other currencies on one Windows server. Each currency gets its own pool within a cluster, with separate logs. When a node falls behind, the operator can review that pool's log without digging through unrelated traffic.

A third scenario is a developer testing a new network. A local MiningCore pool, backed by a test database, lets the developer watch shares, blocks and payments in real time through WebSocket events before exposing anything to the public internet.

05

Key features

Multi-Coin Pool Clusters

MiningCore can run a cluster of pools, with each pool dedicated to an individual currency. One installation can serve several networks side by side instead of requiring a separate server for every coin. Each pool keeps its own settings, so you can adjust one network without touching the others.

Low-Latency Stratum Server

The Stratum implementation is multi-threaded and built on asynchronous I/O, which keeps response times very low. Miners submitting work get quick replies even when many workers connect at once. The design is aimed at handling heavy connection loads efficiently on a single server.

Adaptive Share Difficulty

Vardiff adjusts the difficulty of shares for each worker based on how quickly that worker submits them. Slower devices receive easier targets, while faster hardware receives harder ones. The result is a steady flow of shares from every miner rather than a flood of traffic from powerful machines.

Native Proof-of-Work Validation

Hash checks are performed with native code, which speeds up verification of submitted work. Faster validation lets the pool process more shares per second on the same hardware. This matters most for busy pools with many connected workers, where verification becomes a bottleneck.

Session Management and Flood Protection

The software can detect floods of connections and purge zombie workers, meaning sessions that stay open without doing useful work. This keeps the worker list clean and reduces the impact of DDoS-style traffic on the pool. Operators get a more predictable server under hostile or broken load.

Payment Processing and Banning

Payout handling is built in, so the pool can calculate and send rewards to miners according to its configuration. A banning system lets operators block workers or addresses that behave abnormally. Both tools help an operator run a pool with rules rather than manual intervention for every case.

Live Stats API and Event Streaming

A live stats API listens on port 4000, and the server streams notable events such as blocks found, blocks unlocked and payments over WebSocket. Dashboards and monitoring bots can react to these events in real time instead of repeatedly polling the server for changes.

Proof-of-Work and Proof-of-Stake Support

The software works with both proof-of-work and proof-of-stake networks. Which type applies depends on the currency each pool runs. Operators can therefore plan a mixed setup, with some pools for mining-based coins and others for staking-based networks, inside one program.

Detailed Per-Pool Logging

Each pool writes detailed logs to the console and to the filesystem. When a worker fails to connect, a payment looks wrong or a node stops responding, the log files show where the problem started. Keeping per-pool logs separate makes troubleshooting much faster on a multi-coin server.
06

Supported coins

MiningCore has been used with networks including Bitcoin (BTC), Ethereum (ETH), Litecoin (LTC), Monero (XMR), Dogecoin (DOGE), Zcash (ZEC), Dash, Ergo (ERG) and Vertcoin. The algorithms associated with the software are RandomX and Equihash, and it supports both proof-of-work and proof-of-stake networks. The hardware named for this program is CPU. Check that your target coin and its node are compatible with the release you install before you build a pool around it.

07

How to install MiningCore on Windows

  1. 1

    Download the Program

    Download only from the official website or the GitHub Releases page for the oliverw/miningcore project. Choose the Windows build or installer for the current release. You do not need the .NET 6 SDK to run the ready-made build; that SDK is only required if you compile the program from source.

  2. 2

    Verify the File

    If the release provides a SHA-256 checksum or a signature, compare it with your downloaded file before running anything. A mismatch means the file is not the one published, and you should download it again from the official source. Keep the verified file in a folder you control.

  3. 3

    Install PostgreSQL

    MiningCore requires PostgreSQL 10 or higher. Install a supported version, then create an empty database and a dedicated user for the pool. Use a strong password and store it in a password manager, not in a text file on the desktop.

  4. 4

    Install and Configure the Pool

    Run the Windows installer or extract the build into a dedicated folder. Edit the configuration to define each pool, including its currency, the address of the coin's node, and the database connection. Start with one pool so you can confirm the setup before adding more.

  5. Start and Test

    Launch MiningCore and watch the console and log files for errors while the pool starts. Check the live stats API on port 4000 from the same machine. Connect a test miner to the Stratum address you configured and confirm that its shares appear before you invite anyone else.

08

System requirements

  • Windows, using the ready-made build or installer for the current release
  • PostgreSQL 10 or higher, installed locally or on a reachable server
  • CPU hardware, the hardware associated with the program
09

How to use MiningCore

Running MiningCore for Windows is a server task rather than a single click. Plan for a test setup before opening the pool to real miners, and treat the first week as a period of observation.

  1. Prepare the database. Install PostgreSQL 10 or higher, then create an empty database and a dedicated user with a strong password.
  2. Install the program. Run the Windows installer or unpack the Windows build into a folder you control.
  3. Define one pool. In the configuration, set the currency, the address of the node for that coin, and the database connection details.
  4. Review difficulty and banning settings. Check the vardiff and banning options before connecting workers, so a test miner is not caught by a rule you forgot about.
  5. Start the pool and read the logs. Watch the console and per-pool log files while the first worker connects, and fix any errors before going further.
  6. Check the stats. Open the live stats API on port 4000 from the server itself to confirm that the pool reports your test worker.
  7. Add more pools only after the first one runs cleanly. Each additional currency gets its own pool, with its own settings and logs.

Keep a short written record of every change you make to the configuration. When a setting causes trouble later, that record makes it much easier to roll back.

10

Pros & cons

Pros
  • Free and open source, with the source code available on GitHub
  • Supports clusters of pools, with each pool running an individual currency
  • Adaptive share difficulty helps match settings to different miners
  • Native code for proof-of-work validation supports high performance
  • Built-in session management and flood protection for busy servers
  • Live stats API and WebSocket events for monitoring and dashboards
  • Detailed per-pool logging to the console and filesystem
Cons
  • The latest code update dates from January 2023, more than two years ago
  • Requires PostgreSQL 10 or higher, which adds setup and maintenance work
  • Designed for pool operators, not for individual miners who want a simple tool
  • Configuration and server administration require technical experience
11

Is MiningCore safe?

Download only from the official website or the GitHub repository for oliverw/miningcore, and avoid mirror sites that offer the same file. Check the SHA-256 checksum or signature when the release provides one, and scan the file with your antivirus before running it. The latest code update dates from January 2023, more than two years ago, so review the repository's open issues and check the latest version, 0.24, on the official website before you deploy it. A pool handles payouts and node connections, so limit access to the database and to the stats API on port 4000, and open them to the internet only after securing them. Never enter a seed phrase on a third-party website or in a chat.

  • Official source only. Download from github.com/oliverw/miningcore. Ignore ads and lookalike domains.
  • Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
  • Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
12

Alternatives

MiningCore differs from node-cryptonote-pool and cryptonote-universal-pool mainly in its storage choice. Those tools use Redis, and cryptonote-universal-pool also supports MySQL, while MiningCore requires PostgreSQL. Node-cryptonote-pool ships with a front-end, which is a different approach to the operator's interface. P2Pool takes a different route entirely: it is a decentralized pool for Monero, so it does not work as a centrally managed pool server. ErgoStratumProxy and XMRig Proxy are Stratum proxies that sit between miners and a pool. MiningCore is a full pool server, handling share tracking, payments, banning and a live stats API in one program.

13

Specifications

Price
Free
Type
Open source
License
—
Latest version
0.24
Last update
31 Jan 2023
Windows support
Yes (Windows build or installer)
Source code
github.com/oliverw/miningcore
14

Frequently asked questions

Yes. MiningCore is free and open source, and its source code is published on GitHub. There is no license fee to run your own pool. Your real costs come from the server, bandwidth and database you host it on, plus the coin nodes your pools connect to.

It can be, if you get it from the official GitHub repository and verify the file. Check the SHA-256 checksum or signature when one is provided, and scan the download with your antivirus. Because the latest code update is from January 2023, review the project's activity before running it on a live server.

Begin by installing PostgreSQL 10 or higher and creating a database for the pool. Next, configure a single pool for one coin, start the program and read the logs. Connect a test worker and confirm its shares appear before you open the pool to anyone else.

The software has been used with networks including Bitcoin, Ethereum, Litecoin, Monero, Dogecoin, Zcash, Dash, Ergo and Vertcoin. Its associated algorithms are RandomX and Equihash. Confirm that your chosen coin works with the release you install before building a pool around it.

No, not for the ready-made Windows build or installer. The .NET 6 SDK is needed only if you compile MiningCore from its source code. If you plan to build it yourself, install the SDK first and then follow the project's build instructions.

Yes. The project lists Windows, macOS, Linux and Docker as supported platforms. Choose the one that fits your hosting plans, since a Windows server suits operators who prefer that environment and Docker suits teams that manage containers.

The right alternative depends on your coin and algorithm. For Monero-style pools, node-cryptonote-pool and cryptonote-universal-pool are related options, while ErgoStratumProxy and XMRig Proxy work as proxies rather than full pool servers. The comparison section above outlines the main differences.

15

Verdict

MiningCore for Windows suits operators who want a free, open-source pool server with multi-coin clusters, adaptive difficulty, live stats and detailed logs. It is less suited to people who want a one-click miner or a managed service. Its last code update dates from January 2023, so weigh that carefully before going live. If you are comfortable with PostgreSQL and configuration files, test it on a non-production server first and only then consider a public pool.

Download now