vault12.com
Vault12 Blog

One RNG, No Fallbacks: How Vault12 Guard Generates Seed Phrases — and Why the Coldcard Failure Can't Happen Here

After the Coldcard entropy incident, everyone is asking the right question for the first time: where does my wallet's randomness actually come from? Here is our answer, in full.

On July 30, 2026, Coinkite published a security advisory that confirmed the worst kind of bug a wallet can have: for five years, Coldcard devices had been generating seed phrases with far less randomness than advertised. In a single 25-minute window, one entity swept 594 BTC from roughly 500 addresses. By August 2, on-chain analysts had traced over 1,300 BTC — roughly $89 million — drained across more than 4,500 addresses.

The cause was not exotic cryptography. It was a one-line build error. During a 2021 firmware migration, a preprocessor guard checked whether a configuration flag existed rather than what its value was. The result: the hardware true random number generator was silently replaced by a software fallback PRNG called Yasmarang, seeded from mostly predictable chip data. As Block's engineering team documented, effective entropy collapsed to roughly 40 bits on Mk3 devices and about 72 bits on later models — instead of the 128 to 256 bits users believed they had.

Two details of the incident deserve your attention, because they define what a trustworthy RNG design looks like.

First, the weak output was indistinguishable from strong output. Coldcard's onboard statistical self-tests passed for five years. The seeds looked random. You cannot inspect randomness into existence — the only assurance that matters is provenance: knowing exactly which code path produced your bytes.

Second, hashing didn't help. Coldcard whitened its RNG output through SHA-256, but hashing a predictable stream just produces a predictable hash. If a generator has only 2⁴⁰ possible internal states, it can only ever produce 2⁴⁰ distinct seeds, no matter how many megabytes you feed through a hash function.

With those two lessons in hand, here is exactly how Vault12 Guard generates a seed phrase.

How Vault12 Guard generates your seed phrase

When you create a wallet in Vault12 Guard, generation runs as a pipeline with one source of randomness: the platform CSPRNG, exposed as WebCrypto's crypto.getRandomValues. On iOS this is wired to the kernel-seeded AES-CTR generator behind arc4random_buf; on Android it is Chromium's BoringSSL implementation drawing from the kernel's getrandom(). These are the most heavily scrutinized random number generators on Earth, exercised billions of times a day by every TLS handshake on every phone.

The pipeline works like this. A dedicated background worker fills a 1 MiB buffer with CSPRNG output, requested in chunks that respect the WebCrypto per-call quota. That buffer is hashed with SHA-256, and the digest is chained into the next round: each subsequent buffer embeds the previous round's hash, so the final digest depends on every byte of every round. Rounds are strictly serialized — a new round begins only after the previous one has fully completed — and generation runs for at least five rounds over about five seconds before the app will let you continue.

The final SHA-256 digest is then sliced to the exact BIP39 entropy width for your chosen phrase length — 16 bytes for 12 words up through the full 32-byte digest for 24 words — and encoded into a mnemonic by @scure/bip39, an independently audited, minimal, version-pinned without external dependencies library that validates its inputs and its wordlist on every call. The arithmetic is exact: 12 words carry 128 bits of entropy, 24 words carry 256, precisely the BIP39 nominal strengths

The property that actually matters

Look back at the great wallet RNG failures of the last fifteen years and a single pattern repeats. Randstorm (2011–2015): a type-check bug silently fell back from window.crypto to Math.random, exposing over a million BTC. Trust Wallet's browser extension (2022): a Mersenne Twister with a 32-bit seed generating mnemonics. Milk Sad (2017–2023): a wall-clock-seeded PRNG in Libbitcoin's bx. Cake Wallet: Dart's Random() where Random.secure() was needed — a one-identifier difference. And now Coldcard: a hardware TRNG and a software fallback living in the same firmware, with a broken switch between them.

In every single case, the fatal ingredient was the same: a second, weaker generator present in the code that the application could silently select.

That ingredient does not exist in Vault12 Guard. There is exactly one RNG path. There is no fallback generator, no conditional RNG selection, no polyfill, and no Math.random anywhere in the seed-generation flow — a property we verify across the entire codebase. Our cryptographic libraries are exact-version-pinned with integrity hashes, and they are built to throw an error rather than degrade if the platform CSPRNG is unavailable.

Which leads to the second structural property: the pipeline fails closed. We recently commissioned a multi-agent adversarial security review of the entire generation flow — independent investigation tracks, with every finding re-tested by adversarial agents instructed to refute it. The review traced every failure mode it could construct: the worker failing to load, the CSPRNG throwing, the hashing API missing, users double-tapping buttons, canceling mid-generation. Every single path ends the same way — generation halts and the Continue button stays disabled. There is no code path from any failure to a seed phrase. The review's conclusion was blunt: no code path can deliver a weak, short, or non-random phrase. A Coldcard-style silent substitution has no foothold, because there is nothing to substitute.

Tranparency

Our multi-round, multi-megabyte generation ceremony is defense-in-depth and legitimate whitening — but we do not pretend it adds strength beyond the source. If the platform CSPRNG were itself compromised, no amount of hashing would repair it. That is the Coldcard lesson, and we refuse to rely on hashing volume as a security claim.

That means our design carries exactly one residual trust assumption: that the operating system's CSPRNG is honest. It is a far better bet than trusting vendor firmware reviewed by a handful of people — WebCrypto's getRandomValues has no documented, exploited real-world failure in any mainstream browser or system WebView, ever, a track record no other primitive in this story can claim. Coldcard users who mixed in 50+ dice rolls were the ones who walked away untouched; independent-source mixing is that same principle, built in.

Entropy is also not a new obsession for us. Back in 2017 we published True Entropy, open-source research (and a free iOS app) that turns a phone camera's thermal sensor noise — fundamentally quantum-level physics — into true random numbers at 18 Mb per minute, cleaned through a von Neumann extractor and validated against NIST's SP800-90B entropy test suite. We have been thinking about where randomness comes from since before it was a $89 million question.

https://linkedin.com/in/wasima
https://x.com/wasima
Vault12 Blog

One RNG, No Fallbacks: How Vault12 Guard Generates Seed Phrases — and Why the Coldcard Failure Can't Happen Here

After the Coldcard entropy incident, everyone is asking the right question for the first time: where does my wallet's randomness actually come from? Here is our answer, in full.

Discover More
avatar-icon

Wasim Ahmad

Wasim Ahmad has spent decades at the exact point where deep, difficult technology meets everyday people.

It started early. As a schoolboy in Britain in the 1970s, he was among the first children to learn Prolog, the artificial intelligence language. He went on to the University of Sussex to study Mathematical Physics, then switched to Physics and French so he could spend a year in Paris — an early sign of a career that would keep crossing between the technical and the human. After university, he was an astronaut candidate with the Juno Project, but was too young to be allowed into space.

In the 1990s he joined Synon, the British startup whose software-based code generation won the Queen’s Award for Technology, moving with the company to Marin County, California.

As a founding member of Voltage Security, a Stanford University spinout, he launched the first commercial email encryption built on Identity-Based Encryption — the first genuine breakthrough in public-key cryptography in thirty years — working alongside some of the world’s most renowned cryptographers, including Stanford’s Dan Boneh. When catastrophic breaches hit the payments industry, he helped launch end-to-end protection for the world’s payment systems using format-preserving encryption.

His crypto journey began with AlphaPoint, working with the founding team that launched some of the world’s first cryptocurrency trading exchanges. He then joined Vault12, the pioneer of crypto inheritance, where the mathematics of Adi Shamir’s Secret Sharing — became a product that lets people pass their digital assets safely to the ones they love.

Most recently, he has been lobbying hard in both the United States and the United Kingdom — engaging with the SEC, CFTC and the FCA — to evolve the laws and regulations governing crypto, so that everyday people can access these technologies safely and confidently.

He is now the author of a book on everyday cryptography: "Who holds the key?", an everyday guide to cryptography, passwords, crypto wallets, and navigating the technology that protects your privacy in the modern world.

The pattern across all of it is the same one that drives his book: taking complex technology and formidable algorithms, and shaping them into solutions that ordinary people can trust, understand, and use.

Wasim served on the board of non-profit, StartOut, and is a Seedcamp and WeWork Labs global mentor.

Wasim graduated with a Bachelor of Science in Physics and French from the University of Sussex.

https://vault12.com/u/wasim-ahmad

avatar-icon

Vault12

Vault12 is the pioneer in crypto inheritance and backup. The company was founded in 2015 to provide a way to enable everyday crypto customers to add a legacy contact to their cry[to wallets. The Vault12 Guard solution is blockchain-independent, runs on any mobile device with biometric security, and is available in Apple and Google app stores.

star-background

Backup and Inheritance for Bitcoin

vault12-guard
Get the Vault12 app onto your phone
QR code Vault12 Crypto/NFT InheritanceDownload Vault12 on App StoreDownload Vault12 on Google Play
Vault12 app mockup
Scroll down

Vault12 is NOT a financial institution, cryptocurrency exchange, or custodian. We do NOT hold, transfer, manage, or have access to any user funds, tokens, cryptocurrencies, or digital assets. Vault12 is exclusively a non-custodial information security and backup tool that helps users securely store their own wallet seed phrases and private keys for the purpose of inheritance. We provide no legal or financial services, asset management, transaction capabilities, or investment advice. Users maintain complete control of their assets at all times.

Close

Vault12 Product Demo

Get The Vault12 App Onto Your Phone

Download Vault12 on App StoreDownload Vault12 on Google Play

Prepare for the future - Don't lose your crypto when you die...

...unless you set up Crypto Inheritance today.

It's simple — if you don't worry about crypto inheritance, nobody else will — not your software or hardware wallet vendors, not your exchanges, and not your wealth managers. So it's up to you to think about how to protect the generational wealth you have created, and reduce the risks around passing that crypto wealth on to your family and heirs. What are the challenges with crypto inheritance?

  • Crypto Wallets are difficult to use and do not offer crypto inheritance management. In fact, most of them tell you to write down your seed phrase on a piece of paper, which is practically useless.
  • Some people back up their wallet seed phrases or private keys on paper, local devices like hardware wallets or USBs, or in the cloud. All of these options have severe drawbacks that range from hacking to accidental loss to disrupted cloud services.
  • Software wallets operate on specific blockchains, yet your crypto assets span multiple blockchains. For inheritance to work, you must be able to manage inheritance across every blockchain — now and forever.
Vault12 is the pioneer in crypto inheritance. Watch our explainer video above, or our inheritance demo today.
Screenshot of Vault12 Guard apps - Add an Asset screen

Pioneering Crypto Inheritance: Secure Quantum-safe Storage and Backup

Vault12 is the pioneer in Crypto Inheritance, offering a simple yet powerful way to designate a legacy contact and pass on your crypto assets—like Bitcoin (BTC), Ethereum (ETH) and Solana (SOL) —to future generations. Built for everyday users yet robust enough for the most seasoned crypto enthusiasts, Vault12 Guard ensures your wallet seed phrases and private keys are preserved in a fully self-sovereign manner, across all Blockchains.

At the heart of Vault12 Guard is quantum-resistant cryptography and a decentralized, peer-to-peer network of trusted Guardians. Your critical information is never stored in the cloud, on Vault12 servers, or even on local devices—dramatically reducing the risk of a single point of failure. By fusing a powerful software layer with the Secure Element of iOS devices (Secure Enclave) and Google devices (Strongbox), Vault12 Guard locks down your private keys against present and future threats.

Our innovative approach harnesses social recovery, enabling you to appoint one or more trusted individuals or mobile devices as Guardians. These Guardians collectively safeguard your protected seed phrases in a decentralized digital Vault—so there’s no need for constant lawyer updates or bulky paperwork. Should the unexpected happen, your chosen legacy contact can seamlessly inherit your crypto assets without compromising your privacy or security.

Preserve your digital wealth for generations to come with Vault12 Guard—the simplest, most secure way to manage crypto inheritance and backup.

Screenshot of Vault12 Guard app - Adding data into the Vault

Take the first step and back up your crypto wallets.

Designed to be used alongside traditional hardware and software crypto wallets, Vault12 Guard helps cryptocurrency owners back up their wallet seed phrases and private keys (assets) without storing anything in the cloud, or in any single location. This increases protection and decreases the risk of loss.

The first step in crypto Inheritance Management is making sure you have an up-to-date backup.

The Vault12 Guard app enables secure decentralized backups, and provides inheritance for all your seed phrases and private keys across any blockchain, including Bitcoin, Ethereum, and others, and for any crypto wallet.

Note: For anyone unfamiliar with cryptocurrencies, Vault12 refers to wallet seed phrases and private keys as assets, crypto assets, and digital assets. The Vault12 Guard app includes a software wallet that works alongside your Digital Vault. The primary purpose of this is to guard your Bitcoin (BTC) and Ethereum (ETH) wallet seed phrases, private keys, and other essential data, now and for future generations.

© Vault12. All Rights Reserved, Vault12 Inc.

footer-star-background