⛏️

Hashrate to Inference Converter

Turn your crypto-mining hashrate into an estimated local LLM inference capacity. See which models fit and how many tokens/sec you might generate.

Mining setup

Ethereum Classic, ETH historical. Memory-bound; flops per hash is low.

Typical range: 0.18-0.7 J/MH

Real inference rarely uses 100% of peak FP16.

Estimated peak FP16 compute

Inference power

Power cost / month

Best-fit model

Estimated tok/s by model

Throughput depends on quantization, context length, and batch size. Treat these as rough directional estimates.

Model VRAM needed Est. tok/s Fit
Llama 3.1 8B Q4
Fast local chat
6.5 GB
Llama 3.1 70B Q4
High-capability agent
42 GB
Qwen2.5 14B Q4
Balanced coding assistant
10 GB
DeepSeek-V3 / R1 Q4 (MoE)
Reasoning / coding heavy
75 GB
Mistral Small 22B Q4
Agentic reasoning
15 GB

How the estimate works

  • Hashrate → flops: we use the algorithm's approximate MH/s : GFLOPS ratio to back out compute.
  • Utilization: real inference uses 40-90% of peak FP16 depending on batch size and memory bandwidth.
  • VRAM fit: only models that fit in your available VRAM are marked green.
  • Power: inferred from efficiency and hashrate, then costed at your electricity rate.

Reality checks

  • • Mining and inference stress different parts of the card. A mined card may have degraded memory.
  • • Large models are memory-bandwidth bound; teraflops alone overstate speed.
  • • Batch processing and prompt prefill can swing real tok/s by 2-5×.
  • • Always verify VRAM headroom; quantization tables are approximate.

🤖 Use this tool in your agent

✓ Agent-ready code

Copy the snippet below into your agent, newsletter, or script. The tool page at hermesdispatch.dev/tools/hashrate-to-inference-converter/ is the canonical contract: inputs, outputs, and formulas.

python
# Hermes Dispatch Tool — Hashrate to AI Inference Converter
# Source: https://hermesdispatch.dev/tools/hashrate-to-inference-converter/
# Description: Estimate AI inference tokens per second from crypto mining hashrate and GPU specs.
# License: MIT (generated by hermesdispatch.dev)
#
# INSTALL:
#   1. Save this file as ~/.hermes/hermes-agent/tools/hashrate_to_inference_converter.py
#   2. Restart Hermes or run /reset in a session
#   3. The tool auto-registers if Hermes uses auto-discovery of tools/*.py
#
# MANUAL REGISTRY (if auto-discovery is off):
#   from tools.hashrate_to_inference_converter import register
#   register()

import json

DATA = {}

def _ok(result):
    return json.dumps({"success": True, "data": result}, indent=2)

def _err(message):
    return json.dumps({"success": False, "error": message}, indent=2)


TOOL_NAME = "hashrate_to_inference_converter"
TOOLSET = "crypto"

SCHEMA = {
  "type": "function",
  "function": {
    "name": "hashrate_to_inference_converter",
    "description": "Estimate AI inference tokens per second from crypto mining hashrate and GPU specs.",
    "parameters": {
      "type": "object",
      "properties": {
        "hashrate_mh": {
          "type": "number",
          "description": "GPU hashrate in MH/s."
        },
        "power_w": {
          "type": "number",
          "description": "GPU power draw in watts."
        },
        "inference_8b_tok_s": {
          "type": "number",
          "description": "Observed 8B model tokens/sec on this GPU."
        },
        "vram_gb": {
          "type": "number",
          "description": "GPU VRAM in GB."
        }
      },
      "required": [
        "hashrate_mh",
        "power_w",
        "inference_8b_tok_s",
        "vram_gb"
      ]
    }
  }
}

def _run(args):
    hashrate = float(args.get("hashrate_mh", 0))
    power = float(args.get("power_w", 0))
    tok_s = float(args.get("inference_8b_tok_s", 0))
    vram = float(args.get("vram_gb", 0))
    daily_kwh = power * 24 / 1000
    monthly_kwh = daily_kwh * 30
    monthly_inference_hours = 730
    monthly_tokens = tok_s * 3600 * monthly_inference_hours
    return _ok({
        "estimated_monthly_tokens": round(monthly_tokens, 0),
        "monthly_power_kwh": round(monthly_kwh, 1),
        "vram_capacity_gb": vram,
        "notes": "Assumes 24/7 inference at observed token rate. Actual throughput varies by model and batching."
    })

def HANDLER(args):
    try:
        return _run(args)
    except Exception as e:
        return _err(str(e))


def register():
    """Manual registry hook. Import and call this to register with Hermes."""
    try:
        from tools.registry import registry
        registry.register(
            name=TOOL_NAME,
            toolset=TOOLSET,
            schema=SCHEMA,
            handler=HANDLER,
        )
    except ImportError:
        print("Hermes registry not found; skipping manual registration.")

if __name__ == "__main__":
    # CLI smoke test
    print(HANDLER({}))

Want early access to the next locked tool? Subscribe to The Hermes Dispatch.

🚀 Get AI automation insights daily

15:00 MST. One-click unsubscribe.

Subscribe