BackPow PoW Oracle
Proof of Work oracle: solo mining odds, cost of production, hashrate, mining hardware
Links
README
From the repo.
BackPow MCP Server
The official Model Context Protocol server for BackPow — The Proof of Work Oracle.
It gives an AI assistant live mining data for 126+ Proof of Work networks and 770+ hardware models: network difficulty and hashrate, Poisson solo-mining probabilities, Cost of Production, and hardware profitability.
Remote endpoint: https://mcp.backpow.com/mcp — Streamable HTTP, no API key,
no account.
Local package: @backpow/mcp-server — the same six tools over stdio.
Install
Claude Code
claude mcp add --transport http backpow https://mcp.backpow.com/mcp
Claude Desktop / claude.ai
Settings → Connectors → Add custom connector → https://mcp.backpow.com/mcp
VS Code
{
"servers": {
"backpow": { "type": "http", "url": "https://mcp.backpow.com/mcp" }
}
}
Cursor
Settings → MCP → Add, or in ~/.cursor/mcp.json:
{
"mcpServers": {
"backpow": { "url": "https://mcp.backpow.com/mcp" }
}
}
Local stdio
For clients that run a local process instead of calling a URL. It talks to the same public endpoints as the remote server, so it needs no key either:
{
"mcpServers": {
"backpow": { "command": "npx", "args": ["-y", "@backpow/mcp-server"] }
}
}
Tools
| Tool | Answers |
|---|---|
calculate_solo_mining_odds | "How long to solo mine a Bitcoin block at 100 TH/s?" — mean time, Poisson probability over 1/7/30/90/365 days, the luck spread, and what the electricity costs while you wait |
get_cost_of_production | "Is mining Monero profitable?" — CoP vs spot, gross margin, the reference machine and tariff, 30-day trend |
get_coin_oracle | "What is Kaspa's current difficulty?" — live network state with a confidence block |
list_pow_coins | Browse or filter the tracked networks by algorithm or profitability |
get_hardware_benchmarks | "What should I mine with an RTX 4090 at $0.10/kWh?" — coins ranked by net USD/day |
get_pow_news | Recent mining and network events, quoted as third-party content |
All six are read-only and annotated readOnlyHint, so hosts that support
auto-approval will not prompt on every call.
How results are shaped
Every successful result is an envelope:
{
"warnings": [ /* plain prose caveats that qualify how the figures should be read */ ],
"source": {
"as_of_utc": "2026-09-18T08:12:00Z",
"data_age_seconds": 30,
"served_from": "live",
"url": "https://backpow.com/Bitcoin",
"cite_as": "BackPow — The Proof of Work Oracle, \"BTC solo mining odds\", retrieved 2026-09-18 — https://backpow.com/Bitcoin",
"methodology": "…"
},
"data": { /* the figures */ }
}
Difficulty, hashrate and price move continuously, so a figure only means something alongside the moment it was measured. Every result therefore carries its measurement timestamp and a ready-made citation line.
Two deliberate behaviours worth knowing:
- Ambiguity is refused, not guessed. Several tickers are shared by multiple
tracked chains (DGB by 5, XVG by 5).
get_coin_oracle {"coin_id": "DGB"}returns an error listing the candidates rather than picking one, so an answer is never about a different network than the caller meant. - An unavailable measurement is refused, not substituted. When a network's
current state cannot be measured, the tool returns an error rather than a
placeholder such as
0 H/s, which a caller could not tell apart from a real reading.
Data and licence
Figures derive from BackPow's stratum collector nodes and market data, and are published under CC BY 4.0 — see backpow.com/llms.txt. Citation is requested, permission is not required.
This is a calculator and data source, not financial advice. No tool executes a transaction.
Development
Node 22 or newer is required: the Cloudflare Workers toolchain needs it. The published package itself runs on Node 20 and above.
npm install
npm run typecheck # tsc --noEmit
npm test # unit + integration, no network
npm run dev # wrangler dev on :8787
npm run conformance -- http://127.0.0.1:8787 # protocol probe against a running server
npm run deploy # Cloudflare Workers
scripts/conformance.mjs drives a live endpoint through the transport and
security behaviours that only show up over a real HTTP connection: status codes,
header negotiation, origin checks and protocol-version handling. Point it at a
local wrangler dev instance, or at the deployed endpoint.
Transport
Streamable HTTP on a single endpoint, POST /mcp. The server is stateless: it
mints no session ids, GET and DELETE answer 405, and notifications get
202 with no body. Protocol revisions 2025-11-25 through 2024-11-05 are
negotiated at initialize; server/discover reports the supported set.
/sse and /message, the paths of the deprecated HTTP+SSE transport, answer
410 pointing at /mcp.
Licence
MIT — see LICENSE.
Config for your environment
Use the endpoint URL below in your config. No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "https://mcp.backpow.com/mcp"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.