Recommended Free Tools
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
To find out whether a Bitcoin public key is exposed, inspect the transaction that spends the relevant unspent output (UTXO). Decode the previous output’s scriptPubKey, identify its script type, and then inspect the spending input’s scriptSig and witness. A P2PK output contains a public key immediately. A P2PKH output contains only a hash until it is spent, after which the input normally reveals <signature> <public key>. SegWit, P2SH, multisig and Taproot use different fields and can reveal scripts or several keys.
If confirmed transaction data contains public-key bytes, treat them as permanently public. Moving the coins, deleting a wallet label or generating a new address cannot retract a transaction already replicated by the Bitcoin network. Exposure does not reveal the private key, but it can make later activity easier to associate with the same key or address.
What “public-key exposure” means on Bitcoin
An address and a public key are not interchangeable. Many older Bitcoin addresses are representations of a hash of a public key. Until the corresponding output is spent, an observer may see only that hash in the locking script. The public key appears when the spending transaction provides the data needed to verify the signature.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →A public key is designed to be shared for signature verification. Seeing it does not give an observer the private key or the ability to sign a new transaction. The privacy consequence is different: anyone can now associate signatures and future uses of that key with the already observed transaction. Reusing the same address or key increases that linkage.
#1 Best Overall
- BITCOIN EXCLUSIVE, PHONE VERIFICATION: Bitkey is designed from the ground up exclusively for bitcoin — a dedicated hardware wallet for secure bitcoin storage. Approve transactions with a tap using your phone and NFC. No device screen is required.
- SELF-CUSTODY, NO EXCHANGE OR CUSTODIAN REQUIRED: You hold two of the three keys in the Bitkey system – one on your phone and one on your Bitkey device. The third is stored on Bitkey’s server and cannot move your bitcoin on its own.
- NO SEED PHRASE: Set up and use Bitkey without creating or storing a seed phrase.
- 2-of-3 MULTISIG: Three keys are stored separately across your phone, Bitkey device, and Bitkey’s server. Any two keys are required to move your bitcoin.
- BUILT-IN RECOVERY: Encrypted backup and recovery tools can help you regain access if you lose your phone or Bitkey device. You can also designate a Recovery Contact.
The Bitcoin developer guidance on P2PKH and P2SH recommends unique addresses and avoiding reuse. The practical question is therefore not whether a visible key is “safe” in isolation, but whether the transaction has made the key, a redeem script, a witness script or several participant keys observable.
The fields you need to inspect
Every spend has two relevant transactions:
- The previous transaction created the UTXO. Its output has a
scriptPubKey(also called the locking script), an amount and an output index. - The spending transaction consumes that UTXO. Its input identifies the previous transaction and output index, then carries unlocking data in
scriptSigand, for SegWit or Taproot, awitnessstack.
Record the previous transaction ID and output index before inspecting anything. A transaction can have several inputs and outputs; checking the wrong input can lead to a false conclusion about which key was used.
Quick comparison by script type
| Output or spend type | What the previous output shows | Where spend-time data appears | What may become public |
|---|---|---|---|
| P2PK | A full public key followed by OP_CHECKSIG |
Usually the input’s scriptSig contains a signature |
The public key was already visible in the output |
| P2PKH | A 20-byte public-key hash | Legacy input scriptSig |
Signature and full public key, normally as <sig> <pubkey> |
| P2SH | A 20-byte redeem-script hash | Input scriptSig |
The redeem script and its supplied signatures or keys, depending on the script |
| Bare multisig | Several public keys in the output script | Input stack, commonly with multiple signatures | Participant keys were visible in the output; signatures identify the spend |
| P2WPKH | A SegWit version-0 witness program containing a 20-byte key hash | Input witness |
Signature and public key in the witness |
| P2WSH | A SegWit version-0 32-byte witness-script hash | Input witness |
The witness script and whatever keys or signatures it contains |
| P2SH-wrapped SegWit | A P2SH hash of a witness program | Redeem program in scriptSig; signatures and keys in witness |
The witness program and, when applicable, public keys in the witness |
| P2TR (Taproot) | An OP_1 output with a 32-byte x-only output key |
Input witness |
The output key is visible immediately; key-path spends add a signature, while script-path spends reveal script data and a control block |
“Not visible” in this table means “not supplied by that output at that stage.” A key can still be revealed later by a spend, a reused address or another transaction involving the same wallet.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteStep-by-step: check a transaction in a block explorer
1. Find the UTXO and the transaction that spends it
Open the address or wallet history in a block explorer that provides raw transaction details. Locate the specific incoming output you are investigating, then follow its “spent by” or equivalent link. Copy the spending transaction ID and the output index it spends. If the address received several payments, inspect each UTXO separately.
Do not stop at the address page. An address summary can hide the exact input, witness stack and output script needed to determine exposure.
2. Open the previous output and classify its script
In the spending transaction, open the referenced previous transaction and the exact output index. Look for a raw or decoded scriptPubKey, its script type and, where shown, the address representation. Classify it as P2PK, P2PKH, P2SH, bare multisig, P2WPKH, P2WSH, P2SH-wrapped SegWit or P2TR.
Rank #2
- Unparalleled Security: Protect your assets NDA-free EAL 6+ Secure Element, offering robust defense and complete transparency
- Simple & Secure Interface: Manage your digital assets easily with a clear OLED screen for secure on-device confirmations
- Supports 1000s of Coins & Tokens: Securely handle thousands of assets, including Bitcoin, Ethereum, and more, all in one wallet
- Effortless Asset Management: Monitor and transact seamlessly with Trezor Suite, our intuitive desktop and mobile app
- Enhanced Backup Solution: Rest assured with Multi-share Backup, eliminating single points of failure for secure cold wallet recovery
The script type matters more than the address prefix. Two addresses can look similar to a user while placing key material in different transaction fields.
3. Inspect every field of the spending input
Return to the spending transaction and open the input that references the UTXO. Expand both scriptSig and witness, even if one is empty. A legacy input normally uses scriptSig; SegWit and Taproot inputs normally carry their unlocking stack in witness. Also check for a redeem script or witness script displayed separately by the explorer.
4. Record what is actually visible
Copy the public-key bytes, script bytes and their role rather than relying on a label such as “spent.” Note whether a key is compressed or uncompressed, whether it is a 32-byte x-only Taproot key, and whether several keys appear. A transaction may expose one key for the input and additional keys in a redeem script, witness script or change output.
5. Check confirmation status
Unconfirmed transaction data can be replaced or disappear from the mempool. Once a transaction is confirmed and replicated, the relevant bytes are part of the public blockchain history. Use the confirmed transaction for the final determination.
How each common script type reveals keys
P2PK: the key is visible before spending
A pay-to-public-key output places a public key directly in the previous output script, followed by OP_CHECKSIG. Anyone reading that transaction can see the key without waiting for a spend. The later input generally supplies only the signature needed to satisfy the output.
Free tools Windows power users keep installed
One-click scans. No signup required.
If your decoder identifies P2PK, mark the key as exposed at output creation time. There is no “first spend” threshold to wait for in this case.
Rank #3
- Unparalleled Security: Protect your assets with EAL 6+ Secure Element, offering robust defense and complete transparency
- Simple & Secure Interface: Manage your digital assets easily with a clear OLED screen for secure on-device confirmations
- Supports 1000s of Coins & Tokens: Securely handle thousands of assets, including Bitcoin, Ethereum, and more, all in one wallet
- Effortless Asset Management: Monitor and transact seamlessly with Trezor Suite, our intuitive desktop and mobile app
- Enhanced Backup Solution: Multi-share Backup eliminates single points of failure for secure cold wallet recovery
P2PKH: the first spend reveals the key
A pay-to-public-key-hash output commits to a 20-byte hash. Its locking script is conceptually OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG; it does not contain the full public key. The legacy spending input supplies two stack items, conventionally written as <signature> <pubkey>.
Compare the supplied public key’s hash with the 20-byte hash in the previous output. If they match and the transaction is confirmed, the key used for that address is now public. Before that spend, observers could verify the hash commitment but could not read the full key from the output itself.
P2WPKH: look in the witness, not scriptSig
Native SegWit pay-to-witness-public-key-hash outputs commit to a 20-byte key hash in a version-0 witness program. The input’s legacy scriptSig is normally empty. The witness stack supplies a signature and public key, so the key becomes visible when the output is spent.
An explorer may display the witness as an array rather than as an assembly string. Identify the element that is a public-key encoding and do not mistake the witness-program hash in the output for the key itself.
P2SH and P2SH-wrapped SegWit: inspect the redeem path
A P2SH output contains a hash of a redeem script, not the redeem script itself. The spending input reveals that redeem script in scriptSig, along with the data needed to execute it. If the redeem script is multisig, it can reveal several public keys; if it wraps a SegWit program, the witness carries the signatures and any key required by the wrapped type.
For a P2SH-wrapped P2WPKH spend, you may see a short witness-program push in scriptSig and the signature/public-key pair in witness. Check both locations. Looking only at scriptSig can incorrectly suggest that no key was revealed.
Rank #4
- Dual-chip architecture for maximum protection: The next-gen, fully auditable TROPIC01 chip works alongside a certified EAL6+ Secure Element—completely NDA-free—to deliver radically transparent, industry-leading defense against physical attacks.
- Quantum-ready security: Get protection against future threats with the first-ever hardware wallet designed with quantum-ready architecture.
- See every detail with confidence: Our largest high-resolution color touchscreen makes it easy to navigate your assets, review transactions and manage your coins with clarity.
- Wireless freedom with encrypted Bluetooth control: Manage, buy, swap and stake securely using Trezor Suite on desktop or mobile. Qi2-compatible wireless charging keeps your Trezor powered up. No cables required—security meets convenience.
- Works seamlessly with Android, iOS and desktop: Connect wirelessly or via USB-C to your phone or computer. Manage your crypto anywhere with our companion Trezor Suite app.
Multisig: count every participant key
Bare multisig output scripts can list the participant public keys directly, such as an m-of-n policy. The spending stack commonly contains a leading dummy value required by the historical OP_CHECKMULTISIG behavior followed by signatures. P2SH, P2WSH and Taproot script paths can hide the policy until spending, then reveal the redeem or witness script and multiple keys.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsRecord which keys are in the policy and which signatures were actually supplied. A threshold spend may expose all participants in the script even though only the minimum number signed.
P2WSH: the witness script arrives at spend time
A pay-to-witness-script-hash output commits to a 32-byte hash of a witness script. The previous output therefore does not identify the script’s keys. At spend time, the witness stack includes the data elements and the witness script. Decode that final script and inspect its public-key pushes, signature checks and policy. The script can reveal one key, several keys or a non-key-based condition.
P2TR (Taproot): distinguish key-path and script-path spending
Taproot outputs use OP_1 followed by a 32-byte x-only output key. That output key is visible immediately, even before a spend. It is a tweaked output key and should not automatically be described as the wallet’s internal public key.
A key-path spend normally has a witness containing one Schnorr signature (with an optional annex under Taproot rules). The signature proves control of the output key, but the internal key and any unchosen script tree are not disclosed by that spend.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
A script-path spend has multiple witness elements: the stack data needed by the tapscript, the tapscript itself and a control block. The tapscript can expose public keys used by its conditions; the control block exposes the information needed to verify the committed script path and includes an internal-key-related field. Count and decode all witness elements before deciding what was revealed.
Best Value
- Effortlessly build your crypto portfolio via the all in one Ledger Wallet app: buy, sell, send, receive, swap, stake and more across popular blockchains. 15,000+ coins & tokens in a single dashboard. Keep a close eye on the market. Compare service providers. Track performance. Get timely alerts. Build your portfolio with confidence.
- Enjoy Bluetooth connectivity, iOS access, and hours of battery use with this mobile-first, secure backup signer. Freedom you can depend on.
- Genuine Check: confirm your signer is authentic during setup with the Ledger Wallet app.
- Protect your signer: keep it in mint condition at all times with a bespoke Pod or Case to avoid scratches and everyday wear and tear.
Using raw transaction data when an explorer is insufficient
Explorer labels vary, so raw hexadecimal or a decoded transaction is the most reliable record. In Bitcoin Core, a node with the transaction available can return decoded data with:
bitcoin-cli getrawtransaction "TRANSACTION_ID" true
The result includes inputs, outputs, scriptSig, witness arrays and script-type metadata when the node can retrieve the transaction. Replace TRANSACTION_ID with the actual transaction ID. A node without the transaction index may require the containing block hash as an additional argument. Do not infer a key from a shortened explorer display; use the complete input and output object.
For manual decoding, identify push operations and compare hashes only after confirming the script type. A 20-byte or 32-byte value in an output is usually a commitment or witness program, not proof that the corresponding full public key is already visible.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →How to decide whether exposure matters
Exposure is not private-key compromise
Public-key visibility supplies the material needed to verify signatures. It does not disclose the private signing secret. Treat a key leak as a privacy and future-linkage event, not as evidence that someone can immediately spend the coins.
Reuse increases linkability
After a P2PKH, P2WPKH or similar hash-based output is spent, observers can connect the revealed key to the address and transaction. Receiving again at the same address, signing with the same key in another context or combining related inputs can make that relationship easier to follow. Taproot’s output key is already public, but reusing the same output key or address still creates recognizable on-chain links.
One transaction can expose more than one key
Review all inputs, not only the input associated with the address you first noticed. Multisig scripts, witness scripts, Taproot script paths and change outputs can disclose additional keys. The presence of several keys does not prove that they belong to one person; it only shows that the transaction made them observable together.
What to do after you confirm exposure
- Stop receiving to the exposed address or reusing the exposed key when privacy or separation of funds matters.
- Generate a fresh address from the wallet. A properly managed wallet derives a new key rather than relabeling the old address.
- Move remaining funds if appropriate. Consider fees, operational risk, custody policy and whether the transfer itself could link the old and new holdings.
- Review change outputs. Make sure the wallet is not sending change back to the exposed address or another previously used key.
- Audit multisig participants and shared scripts. Document which keys were disclosed and whether other cosigners need a new receiving policy.
- Keep the original transaction record. The disclosure cannot be erased; the goal is to limit additional reuse and avoid creating unnecessary links.
Generating a new address limits future exposure. It does not remove the old public key, its signatures or its transaction history from the blockchain.
A practical decision checklist
- Did you identify the exact previous transaction ID and output index?
- Did you classify the previous output as P2PK, P2PKH, P2SH, multisig, P2WPKH, P2WSH or P2TR?
- Did you inspect both
scriptSigandwitness? - For P2SH or P2WSH, did you decode the redeem or witness script?
- For Taproot, did you distinguish key-path from script-path data?
- Did you count public keys in scripts, including keys unrelated to the signature that happened to satisfy the threshold?
- Is the transaction confirmed?
- Have you checked change outputs and other inputs for additional disclosures?
If the confirmed transaction contains a full public key, a redeem script or a witness script with public keys, classify that material as public permanently. The appropriate response is fresh key generation and reduced reuse, not an attempt to delete the historical transaction.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

