Private Key Tools

16Lua6sL5iv…2QNgpHmk1 — P2PKH (Pay to Public Key Hash) — Bitcoin address inspector

Paste any Bitcoin address: this page validates it, names its exact type, rebuilds the script it stands for, works out which other addresses share its key — and then reads its balance and transaction history from public explorers.

Privacy notice. Address validation is done entirely on this server and sends nothing anywhere. On-chain lookups do not: the summary and transaction table below are fetched by this server from public block explorers, which means both this server and that explorer learn which address you asked about. Set the on-chain option to “No” to keep the query completely local.
Any standard form works: 1…, 3…, bc1q…, bc1p…, plus the testnet m…/n…/2…/tb1… variants. Case does not matter for Base58, and bech32 addresses may be all-lower or all-upper — but not mixed.
Turns the server-side explorer lookups on or off. Validation, type detection and sibling derivation always work either way.
1–50.

Result

computed server-side on this host

Validation

Everything in this section is computed from the string itself, with no network access.

✓Verdict
VALID — a well-formed P2PKH (Pay to Public Key Hash)
Encoding family
Base58Check
Character length
34 characters
Chain
Bitcoin
Network
Mainnet
P2PKHAddress type
P2PKH (Pay to Public Key Hash)

Structure

What the string literally contains, byte by byte.

Checksum characters
Hmk1
The last 4 Base58 characters. They encode the first 4 bytes of SHA256(SHA256(payload)).
Version byte
0x00 (0)
One byte that selects both the chain and the script type. It is covered by the checksum, so changing it invalidates the whole address.
Payload (version + hash)
003a9c6a7fb9dfe82f2144de9e1feb6fd40ab26405
hash160 / commitment
3a9c6a7fb9dfe82f2144de9e1feb6fd40ab26405
What these 20 bytes are depends on the type: hash160(pubkey).
scriptPubKey
76a9143a9c6a7fb9dfe82f2144de9e1feb6fd40ab2640588ac
The actual output script this address stands for — 25 bytes. This, not the address, is what the blockchain stores.
Readable script
OP_DUP OP_HASH160 <3a9c6a7fb9dfe82f2144de9e1feb6fd40ab26405> OP_EQUALVERIFY OP_CHECKSIG

Sibling addresses — the same key, other scripts

P2PKH and P2WPKH both commit to hash160(pubkey), so each determines the other — and both determine the P2SH-P2WPKH form. These six addresses are all controlled by the same private key.

MP2PKH · mainnet · this address
MP2SH-P2WPKH · mainnet
TP2SH-P2WPKH · testnet

On-chain data — fetched by this server from public explorers

This part is a third-party claim, not a computed fact. The explorer that answered is named in every row below.

Ever used?
YES — this address has activity
₿Confirmed balance
0.00000000 BTC
Sum of unspent outputs in blocks. Bitcoin has no balance field — this is computed.
Unconfirmed balance
0.00000000 BTC
Net effect of transactions still in the mempool. It can vanish if a transaction is replaced or evicted.
Total received
1,189.05916408 BTC
Total spent
1,189.05916408 BTC
Transactions
29 confirmed, 0 pending
Unspent outputs (UTXOs)
0
How many separate coins this address holds. Every one of them becomes an input the next time the address spends, which is why a fragmented address costs more to spend.
Balance check
0.00000000 = 1,189.05916408 − 1,189.05916408
Explorer: https://mempool.space/api · queried 2026-10-10 04:45:08 UTC

Activity window (from the listed transactions)

Most recent activity
2015-05-19 18:38:08 UTC
Oldest of these
2015-03-19 22:27:42 UTC
Chain tip
970724
Confirmations are computed against this height; a reorg below it can change them.
Public key revealed on chain?
YES — this address has spent at least once
Spending publishes the public key in the input (scriptSig or witness). Until then a P2PKH/P2WPKH address is protected by the hash alone, which also means it is the form least exposed to a future quantum attack.

Transaction history — 25 of 29 shown

The explorer returned 29 transactions (its per-request cap is 50) and this page lists the newest 25. The address has more history than that.

TransactionTime (UTC)Conf.DirectionAmount (BTC)FeevBytesCounterparties
5f403bb576…7c481c5f403bb5766662659d59…2015-05-1918:38:08613568height 357157out−85.00000000in 0.00000000 / out 85.000000000.00001000521.0521 B / 2084 WU1Q1TgS1tNXVnM7…qpDmR 504.860000001KSAwCP3QqxfPd…DAbWr 0.13999000
0ed5e1e651…84a26b0ed5e1e6510940ed3a9d…2015-04-0713:56:58619601height 351124out−160.00000000in 0.00000000 / out 160.000000000.00001000521.0521 B / 2084 WU1JamiEywgT5N9m…Ebhfo 1.439990001CfEnJW5M3W3Fx…eABN3 608.56000000
860dda6a0e…af9fd6860dda6a0e4c4b41f3b2…2015-03-3120:14:19620588height 350137out−330.00000000in 0.00000000 / out 330.000000000.00001000819.0819 B / 3276 WU193T6VjqWi8RVM…5csj5 514.2600000013dzzPmboGybFW…3m9vZ 0.11498000
379e6c0cd6…e3de56379e6c0cd6f235009eb0…2015-03-3013:47:48620778height 349947out−65.00000000in 0.00000000 / out 65.000000000.00001000226.0226 B / 904 WU1EGFpC68TFT78T…vFLA8 64.620000001G9WsCnwuKcq9d…LLaCY 0.37999000
d7f4ba48e9…650db0d7f4ba48e9f8bc07ef86…2015-03-2714:18:43621215height 349510out−240.00000000in 0.00000000 / out 240.000000000.00001000524.0524 B / 2096 WU17xVLQeRDxQdPM…mUeHr 243.900000001EDEAadwaGu1fp…WQ7wj 0.06102031
e1c6989771…a67632e1c69897718e6b1ded1f…2015-03-2614:59:49621386height 349339out−35.00000000in 0.00000000 / out 35.000000000.00001000227.0227 B / 908 WU1812jowRZF4WGr…L2SzB 13.999990001Jrf8Uo2ix1JJE…7dXgP 21.00000000
db72ed6472…5e3867db72ed64722ceda482f8…2015-03-2614:59:49621386height 349339out−45.00000000in 0.00000000 / out 45.000000000.00001000226.0226 B / 904 WU1H3jvhtVHp8VpX…d5EfF 5.999990001JQFJaqzBtJN6E…MnF2Y 39.00000000
a4a9e10ff3…cd03bda4a9e10ff3399a50b8f6…2015-03-2416:45:12621692height 349033out−30.00000000in 0.00000000 / out 30.000000000.00001000226.0226 B / 904 WU1EYvWERTfzhkfe…L7WT8 7.490000001JJMLFqoNJ44S1…zXjhj 22.50999000
1a0b68142a…639b6b1a0b68142a5df4ce9e46…2015-03-2314:57:07621867height 348858out−120.00000000in 0.00000000 / out 120.000000000.00001000817.0817 B / 3268 WU15bAcUL5Qr5oXU…ydBdC 0.0389940815zZZbMFSEgBdr…EiUn1 372.00000000
be896d6c18…dbe548be896d6c18bea05d59de…2015-03-2213:06:01622034height 348691out−25.00000000in 0.00000000 / out 25.000000000.00001000225.0225 B / 900 WU126ktGi8UsotVg…cWzo7 17.299990001C94s5uofPWpyj…MFvn3 7.70000000
a9476e189a…c073fca9476e189a7be1828453…2015-03-2211:05:22622046height 348679out−13.05916408in 0.00000000 / out 13.059164080.00001000522.0522 B / 2088 WU18Fh7bAwvgdeSb…btfk5 72.960000001HwgDxiiPg29q3…KqrRz 0.09915408
1d04cf3a50…0ea3061d04cf3a5048f9064341…2015-03-2210:59:35622047height 348678out−18.00000000in 0.00000000 / out 18.000000000.00001000227.0227 B / 908 WU1MBm6FbAtTGV2j…chZoS 16.300000001NqtWvusHEuHxW…yGgef 1.69999000
4c7ed1d276…55c1764c7ed1d27663263dff70…2015-03-2210:46:41622049height 348676out−10.00000000in 0.00000000 / out 10.000000000.00001000225.0225 B / 900 WU1A2uAeWGKXFNVr…tP46M 1.499990001NkfRyNvALWrwX…WT78m 8.50000000
02a70c12ce…f08ebd02a70c12ce5134f34bfd…2015-03-2210:44:53622050height 348675out−13.00000000in 0.00000000 / out 13.000000000.00001000525.0525 B / 2100 WU1PCyTeVuvqzCz9…fAeBE 17.240000001BqdkmvYaPbMDE…5Aegv 0.23986000
b4c4cec03e…e9240eb4c4cec03e55069e30c8…2015-03-1923:51:54622386height 348339in+11.05916408in 11.05916408 / out 0.000000000.0083000082,802.082802 B / 331208 WU1K4ijFFBuJ3vgm…YK467 0.010000011MVyPMezx5WLwE…2u4Uz 0.001846671KLn16Ro7tpVmz…chbnU 0.01031000+418 more
a2a6634350…7d0da6a2a6634350bf6cc8cfb5…2015-03-1923:29:24622388height 348337in+30.00000000in 30.00000000 / out 0.000000000.0098000097,305.097305 B / 389220 WU1EZBjSHqTnDB4A…8es11 0.0411200019ataZWEcBYARU…mEteb 0.034928391CtqAjA5tMYEcT…1q3pG 0.03456858+503 more
546dfea501…065833546dfea501c5efb4cdf1…2015-03-1923:15:56622389height 348336in+25.00000000in 25.00000000 / out 0.000000000.0098000096,541.096541 B / 386164 WU1FYME1bnbqkAN9…yNBTx 0.031440001AcPRHfW2Exrkp…HfwzA 0.0317583519RFF9Ze7d9Fxk…ZoGVu 0.04177691+532 more
b909e436b3…94615cb909e436b35fc6f3d968…2015-03-1922:56:58622390height 348335in+85.00000000in 85.00000000 / out 0.000000000.0098000094,166.094166 B / 376664 WU12eo4RSQmNpR9F…Poq48 0.099996551NSoJsZAfyDQwH…7YAFq 0.095525581C7EtcScpKZbAT…Y2QNx 0.09997628+526 more
cbe0478cc3…239e47cbe0478cc30feb7d516a…2015-03-1922:43:41622391height 348334in+65.00000000in 65.00000000 / out 0.000000000.0099000097,400.097400 B / 389600 WU17J2JYutey1HFK…PKRJV 0.099571081LYWjRLVHqj2JY…pPnwQ 0.068243081C5UPKVs4CJHad…CQ6xR 0.08415000+552 more
687d0d63a5…f884ca687d0d63a5b28dd81838…2015-03-1922:29:54622392height 348333in+45.00000000in 45.00000000 / out 0.000000000.0084000080,013.080013 B / 320052 WU1PMh11QTUWQohr…e19wQ 0.059272681B1aVE2UMD5KTn…3hZS8 0.079791841DyMC2XrTGkAZC…jipK6 0.07631999+459 more
f7e6b86c46…d8d90df7e6b86c46f4d405a1f1…2015-03-1922:29:54622392height 348333in+35.00000000in 35.00000000 / out 0.000000000.0089000083,427.083427 B / 333708 WU1LdbBCwWkn7evB…GNaSv 0.067038311DvdyTSgChSC2L…vDcgQ 0.0701188515hs2XExNn6G6f…oYELq 0.04537400+472 more
ad0409883f…af6081ad0409883f390c5fc6bd…2015-03-1922:29:54622392height 348333in+10.00000000in 10.00000000 / out 0.000000000.0094000087,564.087564 B / 350256 WU1DBfBGUo3TdDA7…LtgRr 0.035335681ENcrywZjXsYL2…1isjA 0.0522000017Gm9HFqucYb1U…7sPE3 0.01918576+425 more
135dca6d64…624052135dca6d643312a94b08…2015-03-1922:29:54622392height 348333in+2.00000000in 2.00000000 / out 0.000000000.00000000191.0191 B / 764 WU1JTe7qwTQskXY1…VAQk7 2.00000000
03844871c6…2299ce03844871c6757ad119a4…2015-03-1922:27:42622393height 348332in+18.00000000in 18.00000000 / out 0.000000000.0086000079,122.079122 B / 316488 WU1LhwbgjghMgNms…x2oAc 0.019401651EMoTayq6bsrJW…2t7c1 0.03031200174z92hpTrHMfj…avdXm 0.06819189+424 more
bf26bffc5f…763bfdbf26bffc5fe019028ab2…2015-03-1922:27:42622393height 348332in+120.00000000in 120.00000000 / out 0.000000000.0099000090,628.090628 B / 362512 WU12VxuULB59giiA…qaBhH 0.172324651PpCoXdXiAqTue…WcQHs 0.1741674712DQcjwuZF5we3…Dvc7A 0.11933163+533 more
Explorer: https://mempool.space/api · same third-party caveat as above.

Live balance — queried by your browser, right now

This block is filled in by JavaScript running in your browser, contacting public explorers directly. Nothing here comes from this server, which is why it can succeed even when the server has no internet — and why the balance may differ from the one above if a block arrived in between.

Querying block explorers…
P2PKH · mainnet · this address
…
P2SH-P2WPKH · mainnet
…
P2PKH · testnet
…
P2SH-P2WPKH · testnet
…
Total across these addresses—
How it works

What this page does — and where each answer comes from

There are two fundamentally different kinds of question you can ask about an address, and this page keeps them apart on purpose:

QuestionAnswered byNeeds the internet?
Is this string a valid address?Pure arithmetic on this serverNo
Which address type is it, and what script does it stand for?Pure arithmetic on this serverNo
What other addresses share its key?Pure arithmetic on this serverNo
What is its balance and transaction history?A public block explorerYes

The first three are facts derived from the string itself and can never be wrong. The fourth is a claim by a third party, and the page says which explorer made it. If there is no network, the first three still work perfectly and the fourth says so.

1. What a Bitcoin address actually is

An address is not a key, not an account, and not a wallet. It is a short, checksummed encoding of a spending condition — technically, a commitment to a script that a future transaction must satisfy. The blockchain never stores addresses at all: it stores outputs locked by a script, and an address is simply a human-friendly way to write down certain scripts.

That distinction explains most of what confuses people:

2. The two encoding families

Bitcoin has exactly two ways of writing an address down, and telling them apart is the first thing this page does:

Base58CheckBech32 / Bech32m
Looks like1…, 3…bc1q…, bc1p…
Alphabet58 characters — 0, O, I and l removed32 characters qpzry9x8gf2tvdw0s3jn54khce6mua7l
Version byteOne byte prefix (0x00, 0x05, …)Human-readable part (bc) plus a 5-bit witness version
Checksum4 bytes of SHA256(SHA256(payload))A 6-character BCH code over the whole string
DetectsAny single-character error with overwhelming probabilityAny 4 errors; published guarantees for longer runs
CaseCase-sensitiveAll-lower or all-upper; mixed case is invalid by design
IntroducedOriginal client, 2009BIP173, 2017 (SegWit)

The Base58 alphabet excludes 0, O, I and l precisely because they are the characters humans confuse when copying from paper. Bech32 goes further: banning mixed case turns a whole class of transcription error into a hard failure.

3. The address types, and what each one commits to

This is the part that makes some addresses convertible into others and some not. Every address commits to a single 20-byte or 32-byte value, but what that value is depends on the type:

TypePrefixCommits toscriptPubKeySize
P2PKH1…hash160(pubkey)OP_DUP OP_HASH160 <20B> OP_EQUALVERIFY OP_CHECKSIG25 B
P2SH3…hash160(redeemScript)OP_HASH160 <20B> OP_EQUAL23 B
P2WPKHbc1q… (20 B)hash160(pubkey)OP_0 <20B>22 B
P2WSHbc1q… (32 B)SHA256(witnessScript)OP_0 <32B>34 B
P2TRbc1p…x coordinate of the tweaked output keyOP_1 <32B>34 B
Why this page sometimes refuses to go further

A 3… address tells you the hash of a script and nothing else — it might be nested SegWit, a multisig, or a timelock. A bc1q… address with a 32-byte program tells you a script's hash. A bc1p… address tells you a point. None of those can be turned into "the other addresses for the same key", because the key's hash is not in them. Only P2PKH and P2WPKH carry hash160(pubkey) and can therefore be converted into each other.

4. Sibling addresses: one key, several addresses

Because P2PKH, P2WPKH and P2SH-P2WPKH all commit to the same 20 bytes — the hash of the compressed public key — any one of them determines the other two. This is not a security weakness; it is simply the same commitment written in different scripts.

It matters enormously in practice. The classic disaster is a key whose coins sit at the P2PKH address while the wallet in use only ever looks at the P2WPKH address (or the reverse, or testnet vs mainnet). The wallet reports a zero balance and the owner concludes the funds are gone. The coins are usually still there, and looking at the sibling addresses is how you find them.

AddressTypeSame key?
1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMHP2PKH mainnetYes
3JvL6Ymt8MVWiCNHC7oWU6nLeHNJKLZGLNP2SH-P2WPKH mainnetYes
bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4P2WPKH mainnetYes
mrCDrCybB6J1vRfbwM5hemdJz73FwDBC8rP2PKH testnetYes
2NAUYAHhujozruyzpsFRP63mbrdaU5wnEpNP2SH-P2WPKH testnetYes
tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsxP2WPKH testnetYes

All six rows above are the same private key. Two of them are on testnet, which is a different network entirely — coins cannot be moved between them, but the same key controls both.

Siblings are a strong hint, not a proof

Deriving siblings tells you which addresses that key would produce. It does not prove that a particular sibling address was ever used, and it does not tell you who controls the key. Watch how the balances differ across the family — an empty mainnet address next to a funded testnet one is completely normal.

5. What validation does — and does not — mean

This page verifies the checksum, the character set, the length, the version byte or witness version, the program length, the case rule and the padding rule. Passing all of that means one thing only: the string is a well-formed address that no Bitcoin node would reject as malformed.

It does not mean:

6. Reading a balance correctly

There is no "balance" field in Bitcoin. What exists is a set of unspent outputs, each locked to a script. An address's balance is computed by summing the unspent outputs that pay it:

balance = Σ(unspent outputs paying this address) = total received − total spent

Three consequences follow, and the page shows the ingredients separately so you can check them:

7. Reading the transaction list

The history this page shows is written from the address's point of view. For each transaction it computes how much the address received, how much it spent, and the net effect:

DirectionMeaning
inOutputs pay this address; no input spends from it.
outInputs spend from this address; nothing comes back to it.
self / netBoth sides involve this address — a consolidation, a change output, or a self-transfer.

Other columns deserve a note:

Why the list may be shorter than the transaction count

Esplora-compatible explorers return at most the 50 most recent transactions per address in one call. This page asks for fewer than that and states the total transaction count separately, so a busy address shows something like "25 of 172 transactions". Paging through years of history is what a full explorer website is for; the links at the bottom of this page go there.

8. Privacy: who learns that you looked

Validation happens entirely on this server. On-chain lookups do not, and there are two separate paths:

Server-side lookups (the summary and the table)

This server makes the request. Your browser's IP is never exposed to the explorer — but this server, and the explorer, both learn which address you were interested in.

Browser-side lookups (the live balance block)

The JavaScript below runs in your browser and contacts the explorer directly, so your IP is visible to that explorer, but this server never sees the query. Turning the on-chain option off disables the first path entirely.

Either way, an address query is a privacy leak: asking about an address links you to it. Reusing one address for every payment publishes your whole financial history to anyone who looks, and asking a public API about your own addresses tells that API's operator what you hold. If that matters to you, run your own node and query it locally.

9. Special and unspendable addresses

Some addresses are famous enough to be worth recognising, and this page labels them:

AddressWhat it is
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNaThe genesis coinbase output — the first 50 BTC, never spent.
1BitcoinEaterAddressDontSendf59kuEA deliberate burn address whose key nobody has.
1111111111111111111114oLvT2The all-zero hash160. Unspendable in practice: spending it needs a public key hashing to twenty zero bytes.

Burning coins is a real technique — it is how some protocols make a commitment that can never be redeemed. It is also, obviously, irreversible.

10. Quick reference

ItemValue
Mainnet P2PKH / P2SH prefixes0x00 → 1… / 0x05 → 3…
Testnet P2PKH / P2SH prefixes0x6F → m…/n… / 0xC4 → 2…
bech32 hrpsbc mainnet, tb testnet, bcrt regtest
Witness program sizes2–40 bytes; v0 must be exactly 20 (P2WPKH) or 32 (P2WSH)
Checksum constant1 for v0 (bech32), 0x2bc830a3 for v1+ (bech32m)
Address length limit90 characters for bech32, ~34–35 for Base58 mainnet
Sibling-derivable typesP2PKH and P2WPKH only (they carry hash160(pubkey))
Explorer transaction limit50 most recent per address, per request