hotbits
True random bytes from the decay of a radioactive source: a Geiger counter on a Pi, with bits taken from the timing between decay events.
Nothing here generates a number. A radioactive source decays, a Geiger counter reports each event, and a bit is taken from comparing one gap between events with the next: if the first is shorter the bit is one, if the second is shorter it is zero, and equal gaps are thrown away. The bias cancels by symmetry rather than by correction, which is why the raw stream is worth measuring at all.
Reading the byte pool.
The parts
| Part | What it is | Answers today | Lands at | Status |
|---|---|---|---|---|
| hotbits API | Keys and byte budgets in front of the TRNG. /v1/bytes needs a bearer token; /v1/seeds needs no key and cannot drain the pool. The open /random/* endpoints answer 410 and say why: the pool refills at a few dozen bytes a minute and was reachable by anyone. | hotbits.tinymachines.ai/v1/seeds | /hotbits/api | documented here, not moved |
| Geiger TRNG | The instrument itself, and what it has measured: the byte pool, the randomness batteries, long-term and diurnal series, incidents and sensors. | hotbits.tinymachines.ai/openapi.json | /hotbits | here |
The reference
The API reference is read from the instrument’s schema each time the page loads, and every documented route is asked whether it still answers.