{
  "software": "TestnetPool",
  "version": "1.0.0",
  "source": "https://github.com/Tech1k/testnetpool.com",
  "docs": "/api/docs",
  "endpoints": {
    "/api": "This index. JSON to a script, a docs page in a browser.",
    "/api/info": "Pool rules per coin + software version - verify against the source.",
    "/api/coins": "Per-coin summary (hub mode only).",
    "/healthz": "Liveness probe: 200 when every pool has a fresh template, 503 if any is stalled.",
    "/api/<coin>/stats": "Live snapshot: hashrate windows, miners, blocks, reject reasons, mempool, node health.",
    "/api/<coin>/chart?range=1h|24h|1w|1m[&address=ADDR]": "Hashrate time series (pool, or one miner with &address).",
    "/api/<coin>/miners": "Miner overview (addresses + balances; never IPs).",
    "/api/<coin>/miner/<address>": "One miner: workers, hashrate, balance, best share, live rigs.",
    "/api/<coin>/worker/<address>/<worker>": "One rig: hashrate, best share, live session.",
    "/api/<coin>/template": "Transactions in the current block template - every tx the next block will include.",
    "/api/<coin>/blocks": "Found blocks (all statuses incl. orphaned/stale).",
    "/api/<coin>/block/<height>": "One block's detail (round diff, luck, finder).",
    "/api/<coin>/payouts": "Recent payouts (txids).",
    "/api/<coin>/luck": "Per-block effort/luck + pool luck + orphan rate.",
    "/api/<coin>/leaderboard": "Best-share high scores (addresses; never IPs)."
  },
  "notes": "Read-only, CORS-open, no auth, per-IP rate-limited (HTTP 429 with Retry-After when exceeded). Miner IPs are never exposed; reported software is coarsened to product + major.minor."
}