List your mining pool
MiningBoard tracks mining pools across every coin we cover. Listing is free — there is no listing fee, no paid placement, and no ranking you can buy. If you publish your pool's stats in the format below, we scrape them every five minutes and your live hashrate, miner count and blocks show up on your coin's page automatically.
Submit your pool
Fill in what you have. Only the pool name and homepage are required — everything else helps us list you faster and more accurately.
Your submission has landed with our team. If you left an email address we will reply there; expect to hear back within a few working days.
Publishing a stats feed
Optional. Most pools in our directory have no endpoint at all — we list them from catalog data. Publishing one just makes your numbers first-party and live.
How it works
-
1
Publish an endpoint
Expose one public JSON URL per coin, in the shape documented below. No authentication, no API key, no IP allowlist.
-
2
Validate it here
Paste the URL into the checker on this page. You get a field-by-field report back immediately — fix anything it flags before you contact us.
-
3
Send it to us
Submit the form. We review it and wire your pool into the scrape pipeline. From then on your stats update on their own.
Two ways to be listed
An API is not a requirement. Most pools in our directory have no public stats endpoint at all — we list them from catalog data and attribute their hashrate from aggregate sources. Publishing an endpoint simply makes your numbers first-party, live, and accurate.
We read your numbers directly from you, every five minutes. Your pool shows live hashrate, miner count, blocks in the last 24h and last block found, plus a reliability score based on how consistently your endpoint responds.
Name, homepage, fee, payout scheme, supported coins and logo. Your pool appears in the directory and on the coin pages you mine, with hashrate attributed from aggregate sources rather than from you.
The endpoint spec
One public GET endpoint per coin, returning JSON. No authentication, no API key. Only three fields are required — everything else just makes your listing richer.
{
"coin": "ZEC",
"pool": {
"hashrate": 1.23e15,
"miners": 412,
"blocks_24h": 7,
"last_block_at": "2026-09-14T13:32:37Z",
"fee_percent": 1.5,
"payout_scheme": "PPS+",
"min_payout": 0.001
},
"network": {
"hashrate": 8.9e15,
"height": 2900123
}
}
Hashrate must be raw hashes per second — 1.23e15, not 1230 (TH/s) and not "1.23 PH/s". It must also be your pool's total, never a single account's. Those two mistakes account for nearly every endpoint we have to reject; the checker below catches both.
Field reference
| Field | Required | Notes |
|---|---|---|
| coin | Required | Coin ticker, uppercase — e.g. "ZEC". |
| pool.hashrate | Required | Your pool's total hashrate for this coin, in raw hashes per second. Not TH/s, not a formatted string, and not one account's hashrate. |
| pool.miners | Required | Distinct miners currently connected. |
| spec | Optional | Set to "miningboard-pool-v1" so we can version the contract without breaking you. |
| updated_at | Optional | ISO 8601 timestamp of when the values were computed. Strongly recommended — it is how we tell a live response from a cached one. |
| algorithm | Optional | Proof-of-work algorithm name, e.g. "Equihash". |
| pool.workers | Optional | Connected workers, if you distinguish them from miners. |
| pool.blocks_24h | Optional | Blocks your pool found in the trailing 24 hours. |
| pool.last_block_at | Optional | When your pool last found a block, ISO 8601. |
| pool.fee_percent | Optional | Fee as a percent — 1.5 means 1.5%. Shown on your pool page and used in comparisons. |
| pool.payout_scheme | Optional | PPS, PPS+, PPLNS, FPPS, SOLO, … |
| pool.min_payout | Optional | Minimum payout, denominated in the coin. |
| network.hashrate | Optional | Network hashrate in raw H/s. Omit the whole network block if you do not run a node — we have our own chain consensus and will use that instead. |
| network.height | Optional | Current block height. Required if you send a network block at all; without it we ignore the block. |
| network.difficulty | Optional | Current difficulty. |
| network.block_reward | Optional | Current block reward, in the coin. |
| network.block_time | Optional | Target block time in seconds. |
| stratum[] | Optional | Connection endpoints — url, and optionally region and tls. Rendered on your pool page so miners can copy them. |
Check your endpoint
Paste your stats URL below. We fetch it live and report on every field — what passed, what is missing, and what looks wrong. Nothing is stored and no submission is created; run it as often as you like while you build.
What makes a feed work
If you do publish an endpoint, these are the things that decide whether we can read it. Most pools already satisfy them.
The hashrate you publish must be your pool's total for that coin. Several large pools only expose an authenticated per-account figure — that number describes one miner, not the pool, so we exclude it from consensus. If your API needs a wallet address to answer, it is the wrong endpoint.
hashrate: 1.23e15, not 1230 (TH/s) and not "1.23 PH/s". Mixing units is the single most common failure we see. Our checker cross-references your number against our own network-hashrate consensus and will tell you if it is off by orders of magnitude.
We poll from rotating cloud addresses. Anything behind an API key, a signed request, a Cloudflare challenge, or an IP whitelist is unreachable for us.
Our fetcher does not run JavaScript. If your numbers only exist after a client-side app hydrates, there is nothing for us to read. Marketing figures baked into HTML ("over 40 EH/s") are not data and we will not scrape them.
We poll every five minutes. Caching your response for a minute or two is fine and welcome. A response frozen for hours reads as a dead pool and will drop your reliability score.
Keep the URL fixed. If you have to move it, send us the new one — a changed URL looks identical to an outage from our side.
After you submit
An approved endpoint gets polled by our infrastructure, so a person always checks it before we wire it up. Passing the validator on this page makes that review quick.
Once wired up, hashrate, miners, blocks and last-block-found refresh every five minutes with no further work from you.
We track consecutive failures. A pool that stops responding is marked offline and its stats stop updating, rather than quietly showing stale numbers. It comes back automatically once the endpoint recovers.
Nothing on this page is for sale, and a submission is never a purchase. We do run referral partnerships with some pools, but that is a separate conversation and it has no effect on whether or how you are listed.