How to Check if Your Bitcoin Address Has an Exposed Public Key
Most Bitcoiners audit their addresses for quantum exposure by reading explainers about Shor’s algorithm. That’s the wrong place to start. The exposure isn’t theoretical, and you don’t need a working quantum computer in 2026 to know whether you’re sitting on a vulnerable address. You need a block explorer and ten minutes.
The concept worth anchoring this around is what I’d call the spend reveal. Most common single-key Bitcoin address types are controlled by a public key. That public key stays behind a hash until the moment you spend. That moment (the first outgoing transaction from the address) is when the public key leaves the cryptographic vault and joins the public record. Permanently.
Once revealed, a public key sits on chain for any future attacker with a sufficiently capable quantum computer to chew on. Before revealed, only a 160-bit hash is visible.A Grover attack on that hash requires about 80 bits of quantum preimage-search work to find a usable keypair, which an attacker has to do before they can derive the private key.
So the question is whether your specific address has crossed the spend reveal threshold.
The Address Types That Are Exposed by Default
Two address types reveal the public key from the moment of creation.
P2PK outputs, the original Bitcoin script type used heavily in 2009 and 2010, store the public key directly in the output script. No hash, no buffer. If you’ve inherited coins in P2PK (most people haven’t, but a meaningful slice of Satoshi-era coins still sit in these outputs), the public key has been visible since the block confirmed.
Taproot outputs are the more recent case. P2TR addresses, the ones starting with bc1p, encode a 32-byte x-only Taproot output key directly in the witness program. There’s no hash layer. From the moment a Taproot address receives a transaction, that address’s public key is on chain. The exposure profile matches P2PK, designed in 2020 instead of 2008.
If you’ve received coins to a bc1p address, the public key is already exposed. Same as P2PK. A spend won’t make it worse, because it’s already at maximum exposure.
The Address Types That Depend on Whether You’ve Spent
P2PKH (the “1…” legacy addresses) and P2WPKH (the “bc1q…” SegWit addresses) store a HASH160 of a single public key in the output. Their script-hash siblings P2SH (“3…”) and P2WSH (longer “bc1q…” encoded scripts) work differently. They store a hash of a redeem script or witness script, which can contain one or more public keys plus other conditions like multisig thresholds or timelocks. P2SH uses HASH160 of the script. P2WSH uses SHA-256.
For these address types, everything turns on the spend reveal. An address that has received transactions but never sent any keeps the public key behind the hash. An address with at least one outgoing transaction has its public key out in the open. It appears in the witness or scriptSig of the spending transaction and stays there permanently.
The threshold turns on one question. Has any UTXO ever been spent from this address?
How to Check
Open mempool.space or any equivalent block explorer that shows full address detail. Paste your address in the search bar.
The explorer gives you the basic facts. The header usually shows the address type (Legacy P2PKH, P2SH, SegWit V0, or Taproot/SegWit V1), and the transaction breakdown shows incoming versus outgoing transfers. The transaction history itself shows which inputs were spent and when.
To check whether your public key has been revealed on a P2PKH or P2WPKH address, look at the “sent” count. Zero outgoing transactions means the public key is still behind the hash. One or more means it’s exposed. P2SH and P2WSH addresses follow the same rule in spirit, but you’ll want to inspect the spending input to see which keys the script actually revealed. Taproot addresses are different. The output key is visible from the start, regardless of spend status.
What that means in practice depends on which prefix your address uses.
P2PKH (1…) and P2WPKH (bc1q…) addresses behave the same way under audit. Any spend reveals the public key in the input script of the spending transaction. Look for “Sent” with any value above zero.
Taproot addresses (bc1p…) are simpler to audit. The public key is already in the witness program from the moment of creation. The spend status doesn’t change the exposure picture.
P2SH addresses (3…) require more interpretation. They depend on the underlying script. P2SH-wrapped SegWit, which is very common, behaves like P2WPKH and reveals the public key on first spend. True multisig P2SH spends reveal two or more public keys in the spending input.
P2PK outputs are the edge case. Most people don’t have any unless they’ve inherited 2009-2010 era coins. If you somehow do, the public key has been visible since the block they confirmed in.
What to Do if Your Address Is Exposed
The honest answer is not much, today. The quantum hardware that could exploit an exposed public key doesn’t exist yet, and won’t exist in the next several years under any forecast someone serious is willing to sign.
The strategy worth thinking through, if you’re holding for a decade or more, is simple enough. Move exposed coins to a fresh, never-spent P2WPKH address. That gets you back behind the HASH160 buffer. Generate a new address for each future receive, the way modern Bitcoin wallets do by default unless you’ve changed the setting.
Avoid Taproot for any coins you plan to keep for years. The privacy and efficiency benefits of Taproot are real, but those are spending-time benefits. They don’t help cold storage, and the always-exposed public key makes Taproot worse for long-term holdings than P2WPKH.
What This Audit Can’t Tell You
This audit is useful, but the conclusions you draw from it shouldn’t run further than the evidence does. An exposed public key is a future-tense vulnerability. Today’s quantum hardware can’t act on it, and the most credible forecasters won’t put a year on when that changes.
What the audit does is tell you which of your coins are in the high-exposure bucket if and when the math breaks. That’s information worth having, especially if you’re sitting on long-term holdings and you’d rather not learn the answer the hard way.
Treat address hygiene as part of your storage discipline, the way you treat seed phrase backups and hardware wallet firmware updates. There’s no need to panic-move your stack. But the exposure window is decades, and the fix is hours.