Private key vs public key: how keys and addresses fit together

Your private key signs, your public key lets others check the signature, and your address is a shorter, safer label built from the public key. Here is how the three connect and which one you may share.

Old brass key lying on a marble surface

Photo: “Old key” by Dean Sas, CC BY-SA 2.0, via Flickr (edited: cropped and resized).

Quick answer

A private key is a secret number that signs transactions; a public key is derived from it and lets anyone verify those signatures [1]. You cannot work backwards from public to private key [2]. An address is a hashed, checksummed form of the public key, shared to get paid.

Key points

  • 1Private key: a large random number. Whoever knows it controls the funds. Never share it.
  • 2Public key: computed from the private key with elliptic-curve maths. It proves signatures are genuine but cannot be reversed to find the private key.
  • 3Address: a hash of the public key, made for sharing. Bitcoin addresses add a checksum, so most typos are caught before money is sent.
  • 4Most wallets derive all their keys from one seed phrase, so that phrase is as sensitive as every private key it creates.
On this page
  1. What is a private key?
  2. How is a public key made from the private key?
  3. Private key vs public key: what is the difference in practice?
  4. What is an address, and why not just use the public key?
  5. How does a signature prove ownership without revealing the key?
  6. Where do seed phrases fit in?
  7. Should you reuse the same address?
  8. What mistakes do beginners make here?
  9. Frequently asked questions
  10. The bottom line
  11. Sources

What is a private key?#

A private key is the private half of a key pair: the part that can create signatures other people can verify with the public key [1]. In Bitcoin it is simply a 256-bit number, chosen from a range set by the secp256k1 elliptic curve that covers nearly all of the 2²⁵⁶ possible values [3]. Ethereum also uses elliptic-curve (ECDSA) keys; ethereum.org describes a private key as 64 hexadecimal characters that can be encrypted with a password [2].

The number is generated at random by your wallet software. That randomness is the whole point: the range is so large that nobody can find your key by guessing. Ethereum’s documentation puts the stakes plainly: you never really hold cryptocurrency, you hold private keys, and the funds are always on the ledger [2].

How is a public key made from the private key?#

The wallet feeds the private key into an elliptic-curve function (the developer docs call it point()) that turns a large integer into a point on the curve: that point is the public key [3]. The calculation is deterministic, so the same private key always gives the same public key, and the public key never needs to be stored separately [6].

Crucially, the function runs only one way. ethereum.org states that you can derive public keys from a private key, but you cannot derive a private key from public keys [2]. That asymmetry is what lets you publish one half and keep the other secret.

From secret number to shareable address

From secret number to shareable address: Private key — Random 256-bit number, kept secret; Public key — Elliptic-curve point computed from it; Hash — Public key shortened by a hash function; Address — Hash plus checksum, safe to shareFrom secret number to shareable address: Private key — Random 256-bit number, kept secret; Public key — Elliptic-curve point computed from it; Hash — Public key shortened by a hash function; Address — Hash plus checksum, safe to share
Each arrow is a one-way step: you can go left to right easily, but not right to left.

Private key vs public key: what is the difference in practice?#

The three pieces compared
Private keyPublic keyAddress
What it isSecret random numberPoint derived from the private keyHash of the public key + checksum
What it doesCreates signaturesLets anyone verify signaturesTells a sender where to pay
Safe to share?NeverYes, revealed when you spendYes, that is its purpose
Can it be reversed?—Cannot reveal the private keyCannot reveal the public key

Bitcoin addresses keep the public key hidden until the first time coins sent to that address are spent [6].

A handy way to remember it: the private key is like the pen only you can sign with, the public key is the sample signature others compare against, and the address is the label on your mailbox. Ethereum’s plain-language glossary uses similar images, calling a private key “like a PIN for your account” and a public key “like an email address for money” [7].

What is an address, and why not just use the public key?#

An address is the string you actually hand out. In classic Bitcoin addresses, the public key is hashed and then encoded with a version number, the hash and an error-detecting checksum to catch typos [6]. The hash shortens the key, makes it easier to copy, and adds protection against unforeseen problems that might one day let someone reconstruct private keys from public key data [6].

Newer Bitcoin addresses start with bc1 and use the Bech32 format. BIP 173 chose an alphabet that leaves out easily confused characters such as “1”, “b”, “i” and “o” in the data part, and a checksum that will always detect an error affecting up to four characters [8]. Ethereum addresses are built differently: take the last 20 bytes of the Keccak-256 hash of the public key and put 0x in front [2].

StepValue
Bytes kept from the Keccak-256 hash20
Hex characters per byte2
Hex characters = 20 × 240
Plus the “0x” prefix42 characters in total
Bits of hash in the address = 20 × 8160 bits

If an “Ethereum address” you are given has a different length, stop and check it before sending anything.

How does a signature prove ownership without revealing the key?#

A signature is a value that could only reasonably have been created by someone holding the private key behind a given public key [1]. When you spend bitcoin from a standard address, your wallet supplies your full public key and a signature over the transaction; nodes check that the public key hashes to the address and that the signature matches [6].

  1. Your wallet builds a transaction

    It lists which coins to spend, who receives them and how much.

  2. It signs with your private key

    The signature covers the important parts of the transaction, so nobody can change the amount or destination afterwards [6].

  3. It attaches your public key

    Nodes need it to check the signature; the private key never leaves your wallet.

  4. Every node verifies

    If the key does not match the address or the signature does not match the key, the transaction is rejected.

This is the mechanism the Bitcoin whitepaper describes in its first technical section: each owner transfers a coin by digitally signing a hash of the previous transaction and the public key of the next owner [9]. For the full journey of a payment, see how Bitcoin transactions work.

Where do seed phrases fit in?#

Modern wallets rarely make one key at a time. Under the hierarchical deterministic (HD) design, a single root seed creates a whole tree of child keys, and that seed is the only thing you need to back up to rebuild every key the wallet made [3]. BIP 39 turns the seed’s randomness into a list of words: 128 bits of randomness plus a 4-bit checksum become 12 words, and 256 bits plus 8 checksum bits become 24 words, each word drawn from a list of 2,048 [10].

Key facts in numbers

Bitcoin private key size
256 bits [3]
Compressed public key
33 bytes (uncompressed: 65) [1]
Ethereum address length
42 characters including “0x” [2]
Bech32 typo detection
Any error in up to 4 characters [8]
BIP 39 phrase lengths
12, 15, 18, 21 or 24 words [10]

Because the phrase can regenerate every private key, treat it exactly like a private key. Our guide to seed phrases covers safe storage.

Should you reuse the same address?#

You can, but it costs privacy. All Bitcoin transactions are stored publicly, so anyone can see the balance and history of any address; bitcoin.org says this is one reason addresses should only be used once [5]. The developer guide adds that if a public key is reused, others can easily track how much a person receives and spends, and recommends new addresses for payments and for change [6]. The whitepaper gave the same advice in 2008: use a new key pair for each transaction [9]. Most wallets now generate a fresh address for you automatically.

What mistakes do beginners make here?#

  • Sharing the private key to “receive” money

    To get paid you only ever share an address. Anyone asking for your private key or recovery phrase so they can send you funds is attempting theft.

  • Storing keys or seed phrases as screenshots

    ethereum.org warns that screenshots can sync to cloud storage, where hackers look for them [4]. Write the phrase down offline instead.

  • Assuming an address is a username

    An address is derived from a key, not registered to a name. Sending to a mistyped or wrong-network address can lose funds permanently.

  • Thinking the wallet app “holds” the coins

    Coins stay on the blockchain. The app manages keys. Delete the app without a backup and the keys, not the coins, are what you lose.

  • Confusing public key with address

    They are related but different: the address is a hash of the public key. Wallet screens usually show only addresses.

Frequently asked questions#

Can someone find my private key from my address?

Not in practice. The address is a hash of the public key, and the public key cannot be reversed into the private key [2].

What happens if I lose my private key?

If it was your only copy and you have no seed phrase backup, the funds are gone for good. There is no central authority that can reset it [5].

Is a wallet the same as a private key?

No. A wallet is software that stores private keys and watches the blockchain so you can send and receive [1]. One wallet can hold many keys.

Do Bitcoin and Ethereum use the same keys?

Both use elliptic-curve keys, but they turn public keys into addresses differently, so the addresses look different and are not interchangeable.

Why does my wallet show a new address every time?

To protect your privacy. Using each address once makes it harder for others to link your payments together [6].

The bottom line#

The private key is the only part that must stay secret. The public key and the address are built from it in one-way steps, which is why you can safely publish them and still be the only person able to sign.

Keep the seed phrase and keys offline, share addresses freely, and let your wallet create a fresh address for each payment. Next, follow those signatures into the ledger in how Bitcoin transactions work, or read about custodial vs self-custody wallets.

Sources#

Grade A = primary source (regulator, protocol specification, client code, original author). Grade B = expert secondary source used for explanation only.

  1. Abitcoin.org developer documentation. Bitcoin Developer Glossary, 2026.
  2. Aethereum.org. Ethereum accounts, 2026.
  3. Abitcoin.org developer documentation. Developer Guide: Wallets, 2026.
  4. Aethereum.org. Ethereum security and scam prevention, 2026.
  5. Abitcoin.org. Some things you need to know, 2026.
  6. Abitcoin.org developer documentation. Developer Guide: Transactions, 2026.
  7. Aethereum.org. Ethereum Glossary, 2026.
  8. ABitcoin Improvement Proposals (GitHub). BIP 173: Base32 address format for native v0-16 witness outputs, 2017.
  9. ASatoshi Nakamoto. Bitcoin: A Peer-to-Peer Electronic Cash System, 2008.
  10. ABitcoin Improvement Proposals (GitHub). BIP 39: Mnemonic code for generating deterministic keys, 2013.