Mining stats with permission One public API, no key needed

Look up mining statistics for an address whose verified owner has chosen to publish it. Public requests need no key; private readings require the owner’s signed-in dashboard.

One request, no key
GET https://melanin.engineering/api/v1/miner/btc/<address>

The miner API

GET https://melanin.engineering/api/v1/miner/btc/<address>
Permitted mining statistics for one explicitly published Bitcoin address. /api/v1/miner/<address> is the same lookup without btc/.
One address per request
There is no way to list miners, and machine names are never returned.
Limits
Eligible responses are cached for 60 seconds; current publication permission is rechecked on every request. Anonymous requests are limited to 60 per 10 minutes per IP.
On the explorer
A verified owner chooses the exact address to publish. Energy and inference information require separate permission and are not returned here.

Response fields. address, projectId (btc), sourceObservedAt (ISO 8601 or null), collectedAt (ISO 8601 or null), and metrics: hashrate1m, hashrate5m, hashrate1h, hashrate1d, hashrate7d (H/s), shares, bestShare, bestEver and lastShareAt.

sourceObservedAt records a valid source update time; missing or future source times are unknown. collectedAt records collection, including the original time for cached replies.

Legacy observedAt remains for compatibility and can mean collection time on stored snapshots; do not use it to establish source freshness.

lastAcceptedWorkAt is null until accepted-only timing is established. Rates are estimates, and lastShareAt is source-reported timing, not proof of accepted work or payment.

200 — explicitly published address (sample values, placeholder address)

{"ok": true,
 "address": "bc1qexampleexampleexampleexampleexampleq3v9k",
 "projectId": "btc",
 "observedAt": "2026-08-24T09:00:00Z",
 "metrics": {"hashrate1m": 98000000000000, "hashrate5m": 97400000000000,
             "hashrate1h": 96100000000000, "hashrate1d": 95800000000000,
             "hashrate7d": 94200000000000, "shares": 1284511,
             "bestShare": 8123456789, "bestEver": 21474836470,
             "lastShareAt": "2026-08-24T08:59:41Z"}}

404 — private, unconsented, unknown or malformed address (same generic response)

{"ok": false, "error": "not_found"}

Private, unconsented, unknown and malformed addresses receive the same 404. Denied requests do not collect upstream statistics. Older clients must use the signed-in owner path for private readings.

Where to go next

Support

Questions about the API or an integration.

Security

Report a security issue to us privately.

Proof-of-work

How energy becomes value.

Keep your keys private. Check reward records against actual transaction outputs and wallet receipts.