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 codeCopy 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.
# 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.