MiningMadness API & Mining Monitoring
MiningMadness exposes a complete, open REST API that lets you monitor your workers, track earnings, query per-algorithm pool stats, and integrate with any third-party monitoring platform. No account or authentication needed for public endpoints – just your wallet address.
All API responses are plain JSON. Replace YOUR_WALLET with your mining
wallet address. Rate limit: 1 request / 10 seconds per endpoint.
Quick Navigation
Monitoring Tools
Community
Join the MiningMadness Community on Discord
Get real-time support, share monitoring scripts, discuss overclocking settings, and stay up to date with pool announcements. Our Discord is the fastest way to reach the team and other miners.
REST API Reference
The MiningMadness API is fully compatible with the
YiiMP pool API standard, which means any monitoring tool or script
designed for YiiMP-based pools works out of the box with
https://miningmadness.com.
Wallet Balance
Returns your current balance, unsold earnings, and the amount paid in the last 24 hours.
Request
GET https://miningmadness.com/api/wallet?address=YOUR_WALLET
Response
{
"currency": "BTC",
"unsold": 0.00050362,
"balance": 0.00000000,
"unpaid": 0.00050362,
"paid24h": 0.00000000,
"total": 0.00050362
}
| Field | Description |
|---|---|
currency | Payout coin symbol (e.g. BTC, LTC) |
unsold | Earnings not yet exchanged to your payout coin (in BTC) |
balance | Confirmed balance awaiting payout threshold (in payout coin) |
unpaid | Total amount not yet paid out (unsold + balance) |
paid24h | Amount paid in the last 24 hours |
total | unpaid + paid24h (current session total) |
Wallet + Worker Details
Extended wallet endpoint. Returns the same balance fields as /api/wallet
plus a full list of your active workers and their real-time hashrate, algorithm,
difficulty, accepted/rejected shares, and recent payouts.
Request
GET https://miningmadness.com/api/walletEx?address=YOUR_WALLET
Response
{
"currency": "BTC",
"unsold": 0.00050362,
"balance": 0.00000000,
"unpaid": 0.00050362,
"paid24h": 0.00000000,
"total": 0.00050362,
"miners": [
{
"version": "t-rex/0.26.8",
"password": "d=8192",
"ID": "rig1",
"algo": "kawpow",
"difficulty": 8192,
"subscribe": 1,
"accepted": 4829183.5,
"average": 4829183.5,
"rejected": 0
}
],
"payouts": [
{
"time": 1714500000,
"amount": "0.00100000",
"tx": "abc123…"
}
]
}
| Field (miners[]) | Description |
|---|---|
version | Miner software and version reported via stratum |
password | Stratum password used (difficulty parameter, etc.) |
ID | Worker name (stratum username suffix after the dot) |
algo | Algorithm currently mining |
difficulty | Current share difficulty assigned to this worker |
accepted | Accepted hashrate (H/s) over the last sampling window |
rejected | Rejected hashrate (H/s) – high values indicate hardware/OC issues |
Pool Status (by Algorithm)
Returns real-time statistics for every algorithm active on the pool: stratum port, fee, total hashrate, worker count, current profitability estimate, and 24-hour averages.
Request
GET https://miningmadness.com/api/status
Response
{
"kawpow": {
"name": "kawpow",
"port": 3628,
"coins": 3,
"fees": 0.9,
"hashrate": 45872345600,
"workers": 82,
"estimate_current": "0.00004821",
"estimate_last24h": "0.00004615",
"actual_last24h": "0.00004598",
"mbtc_mh_factor": 1,
"hashrate_last24h": 44512000000
},
"autolykos2": { … },
…
}
| Field | Description |
|---|---|
port | Stratum port for this algorithm |
fees | Pool fee percentage |
hashrate | Current total pool hashrate (H/s) |
workers | Number of active connected workers |
estimate_current | Current profitability in BTC per MH/day (mBTC/MH/day × mbtc_mh_factor) |
estimate_last24h | 24-hour average profitability estimate |
actual_last24h | Actual paid profitability over the last 24 hours |
mbtc_mh_factor | Unit conversion factor (e.g. 1000 for algorithms measured in GH/s) |
Currencies (per Coin)
Returns detailed statistics for every individual coin currently active on the pool, including block height, network difficulty, pool hashrate, blocks found in 24 h, payout method, and minimum payout.
Request
GET https://miningmadness.com/api/currencies
Response
{
"RVN": {
"algo": "kawpow",
"port": 3628,
"name": "Ravencoin",
"reward": 2500,
"height": 3450000,
"difficulty": 74821.5,
"workers": 41,
"shares": 1204,
"hashrate": 18234567800,
"network_hashrate": 9812345678900,
"estimate": "0.00004821",
"24h_blocks": 127,
"24h_btc": 0.00541295,
"lastblock": 3449998,
"timesincelast": 43,
"fees": 0.9,
"payout_method": "PPS+",
"min_payout": 10
},
…
}
| Field | Description |
|---|---|
height | Current blockchain height |
hashrate | Pool hashrate for this coin (H/s) |
network_hashrate | Full network hashrate (H/s) |
24h_blocks | Blocks found by the pool in the last 24 hours |
timesincelast | Seconds since the last block was found |
payout_method | Reward distribution method (PPS+, PROP, etc.) |
min_payout | Minimum balance required to trigger an automatic payout |
Compatible Monitoring Tools
Because MiningMadness uses the standard YiiMP API, a wide range of third-party tools can read your mining stats without any custom configuration. Below are the most popular options tested with our pool.
Awesome Miner Windows / Linux
Awesome Miner is a full-featured GPU & ASIC mining management platform with
built-in YiiMP pool integration. It reads /api/status and
/api/walletEx to display live hashrate graphs, worker health,
and earnings estimates directly in its dashboard.
How to add MiningMadness:
- Open Pools → Add Pool → choose YiiMP
- Enter the pool URL:
https://miningmadness.com - Enter your wallet address as the username
- Awesome Miner will auto-discover algorithms and ports via
/api/status
Minerstat Web / Windows / Linux / HiveOS
Minerstat is a professional mining OS and monitoring platform. Using the
Custom Pool feature you can point it at the
/api/walletEx endpoint to track worker hashrate, accepted
shares, and balance across all your rigs from a single dashboard.
API URL for Minerstat custom pool:
https://miningmadness.com/api/walletEx?address=YOUR_WALLET
HiveOS & RaveOS
HiveOS and RaveOS are mining-focused Linux distributions with remote fleet
management built in. Both support YiiMP-based pools natively: simply add
https://miningmadness.com as a custom pool with your wallet address.
Your per-worker hashrate, temperature, fan speed, and OC profile can all be
monitored centrally while the pool API provides earnings data.
Flight sheet pool URL:
stratum+tcp://miningmadness.com:PORT
Replace PORT with the port for your algorithm from
the Mining page or /api/status.
Custom Integration Examples
Because all endpoints return standard JSON you can integrate MiningMadness data into any monitoring stack (Grafana, Home Assistant, Discord bots, Telegram bots, spreadsheets, etc.) with a few lines of code.
cURL (shell / bash)
# Check your balance
curl -s "https://miningmadness.com/api/wallet?address=YOUR_WALLET"
# Get full worker list
curl -s "https://miningmadness.com/api/walletEx?address=YOUR_WALLET" | python3 -m json.tool
# Pool status for all algorithms
curl -s "https://miningmadness.com/api/status" | python3 -m json.tool
Python 3 – balance alert script
import urllib.request, json
POOL = "https://miningmadness.com"
WALLET = "YOUR_WALLET"
with urllib.request.urlopen(f"{POOL}/api/walletEx?address={WALLET}") as r:
data = json.loads(r.read())
print(f"Unpaid: {data['unpaid']} BTC")
for w in data.get("miners", []):
status = "✅" if w["accepted"] > 0 else "⚠️ OFFLINE"
print(f" {w['ID']} [{w['algo']}] {w['accepted']:.0f} H/s {status}")
Sending Alerts to Discord (webhook)
You can combine the API with a Discord webhook to receive custom notifications without relying on any third-party bot. Create a webhook in your Discord server (Channel Settings → Integrations → Webhooks) and use it in a cron job or home-server script:
import urllib.request, json
POOL = "https://miningmadness.com"
WALLET = "YOUR_WALLET"
WEBHOOK = "https://discord.com/api/webhooks/YOUR_WEBHOOK_ID/YOUR_TOKEN"
with urllib.request.urlopen(f"{POOL}/api/walletEx?address={WALLET}") as r:
data = json.loads(r.read())
offline = [w for w in data.get("miners", []) if w["accepted"] == 0]
if offline:
names = ", ".join(w["ID"] for w in offline)
msg = {"content": f"⚠️ **MiningMadness**: workers offline: {names}"}
req = urllib.request.Request(WEBHOOK, data=json.dumps(msg).encode(),
headers={"Content-Type": "application/json"})
urllib.request.urlopen(req)
Run this script every 5 minutes with cron (*/5 * * * * python3 /path/alert.py)
and you will get a Discord message whenever a worker goes offline.
Frequently Asked Questions
python-telegram-bot library), IFTTT webhooks, and more.
See the custom script examples above for a starting point, and share your integrations
with the community on our
Discord server.
Have a question not covered here? The MiningMadness community is happy to help.
Join our Discord










