About

JouleBook exists because of a gap that is obvious once you have felt it and invisible until then.

Mining operations are well served by tools that keep machines running. They are not served at all by tools that tell you which machines are worth running. Pool dashboards report one number for a whole fleet. Fleet managers report hashrate and temperature. Neither answers the question an operator actually has at the end of a month, which is: what did this machine earn, what did it cost, and should it still be powered on?

Most people close that gap in a spreadsheet. That works, it takes a day a month, and it is quietly wrong in ways nobody can audit.

What we believe about the numbers

Money is not a float. Every satoshi in this product is an integer and every fiat amount is an arbitrary-precision decimal. Not because it is elegant, but because floating-point arithmetic on money loses value in ways that compound silently and are almost impossible to find later.

A value recorded at a point in time is a fact. A payout is worth what it was worth when it arrived. Revaluing history at today's price produces a number that is wrong for tax, wrong for margin, and wrong for every decision it would inform.

An estimate should say it is an estimate. Where telemetry is missing, JouleBook uses nameplate figures and labels the result — on screen and in every export. The alternative is a number that looks like a measurement and is not.

A tool that touches money should refuse rather than guess. There are several places where JouleBook declines to produce a figure: an unpriced payout, a fee it cannot state honestly, a period with unacknowledged gaps. Each refusal is deliberate.

What it will never do

It will never write to a mining machine. No reboot, no pool switch, no curtailment. That is a design constraint rather than a roadmap item, and it means a bug in this product cannot cost you hashrate.

How attribution works is the page that explains the method in full. Get in touch if something here is wrong.