XColdPro

Where your seed comes from: how XColdPro generates entropy

XColdPro generates seeds from the operating system's cryptographically secure RNG — with no proprietary generator and no hidden fallback. If secure entropy is unavailable, generation fails instead of quietly shrinking the key space. That is the failure the recent 594 BTC loss was made of.

July 31, 20262 min read

XColdPro seeds are generated from the operating system's cryptographically secure RNG. On Windows, that means BCryptGenRandom through the WebCrypto layer — the same class of system cryptography used to protect TLS sessions across the machine.

But what matters is not simply that it produces "good randomness."

What matters is how it fails.

Failing closed, not quietly

XColdPro ships no proprietary RNG, no custom entropy hardware, and no hidden fallback generator. If the operating system cannot provide secure entropy, generation fails. It does not silently downgrade to a smaller key space and continue as if everything is fine.

That distinction matters.

What the 594 BTC loss actually was

The recent 594 BTC loss came from exactly that kind of failure.

A build setting disabled the hardware RNG. The software checked whether the setting existed instead of whether it was actually enabled. Seed generation then fell back to a predictable software PRNG using chip serial and clock data.

What should have been roughly 128 bits of entropy became about 40.

Everything downstream still worked. The secure element worked. The PIN worked. The air gap worked.

They were protecting keys that were predictable from the moment they were created.

Entropy you control yourself

XColdPro goes further. You can add physical dice rolls during wallet creation and mix that entropy into the seed, giving you an independent source of randomness you control yourself.

Every dependency ships locally. Nothing critical is fetched from a CDN at runtime. What was reviewed is what actually runs.

Assuming we could still be wrong

Multisig also assumes we could still be wrong.

With chain-enforced 2-of-3 P2WSH, cosigners can live on separate devices and Bitcoin consensus enforces the spending policy rather than XColdPro.

Verify it without trusting us

And you do not have to take any of this on faith.

Export the watch-only descriptors. Load them into Sparrow. Verify independently that XColdPro derives exactly the addresses it claims, using software we did not write.

A serious bug can sit in open-source firmware for years while thousands of people look right past it. That should concern every wallet developer, including us.

The lesson is not that hardware wallets are bad. The lesson is simple:

If you cannot verify where your private key came from, you do not fully know what you are protecting.