What Is the Difference Between a Public Key and a Wallet Address? Bitcoin and Ethereum Examples

 / 
4

A public key and a wallet address are not the same thing, but in everyday use they are often mixed up. Simply put: a public key is an intermediate product in cryptography, while a wallet address is a short string created by hashing and encoding the public key, designed for receiving payments and sharing publicly. Bitcoin and Ethereum follow slightly different generation paths, but the core logic is the same: an address is derived from a public key in one direction only, and the reverse is not possible.

OKX Exchange
A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!

From Private Key to Address: A One-Way Chain

The relationship among the three is a strict one-way derivation chain: private key → public key → address. Each step is irreversible.

A private key is a random number. Both Bitcoin and Ethereum use the secp256k1 elliptic curve. The private key goes through elliptic curve multiplication to produce the public key. If you know the private key, you can calculate the public key, but knowing the public key makes it practically impossible to reverse-engineer the private key. This is due to the difficulty of the elliptic curve discrete logarithm problem.

The public key is then processed by a hash function to finally produce the address. Hashing is also one-way, so you cannot derive the public key from the address, and you cannot derive the private key from the public key.

Bitcoin: Hash the Public Key and Add a Checksum

Bitcoin address generation has an extra step. The public key first goes through SHA-256, then RIPEMD-160, producing a 20-byte public key hash. After that, a version prefix is added, a checksum is calculated, and finally Base58 encoding is applied. Only then do you get the Bitcoin address you see starting with "1" or "3".

This extra hashing layer serves two practical purposes. First, it shortens the length. A public key is a string of dozens of bytes, which is inconvenient to show or type directly. Second, it adds a security buffer: even if the elliptic curve algorithm develops a weakness in the future, an attacker would still need to break the hash function before reaching the private key.

Bitcoin also has a noteworthy feature: in standard P2PKH transactions, the public key does not appear on-chain until you spend from that address for the first time. The address is only a hash of the public key. When you spend, the public key is revealed in the transaction script. This means a Bitcoin address that has only received funds and never spent them keeps its public key invisible to the public.

Ethereum: Take the Last 20 Bytes of the Public Key Hash

Ethereum's path is shorter. The public key, after removing the leading 0x04 prefix, is directly hashed with Keccak-256, and the last 20 bytes of the result become the Ethereum address. There are no Bitcoin-style Base58 encoding and checksum steps. An Ethereum address is usually displayed as 40 hexadecimal characters starting with "0x".

The way an Ethereum address is derived from the public key means the relationship between an Ethereum address and its public key is more direct than in Bitcoin, but the one-way property remains. You still cannot reverse-engineer the public key from the address.

What to Pay Attention to in Daily Use

For ordinary users, there is really only one difference to remember: an address is what you show others, while a public key does not need to be shared proactively. When you deposit to an exchange, receive a transfer from a friend, or accept payment, you always provide an address. Wallet software handles the public key in the background, and you usually do not see it or need to see it.

If someone asks you for your "public key" to send funds, the correct response is to give them your address. The public key itself is not directly displayed in most wallet interfaces, and giving the address is enough to receive funds. Conversely, any request for your private key or seed phrase should be refused, no matter who the person claims to be.

Here is an example you can check yourself: if you look up a Bitcoin address on a block explorer, you will see transaction records and balance, but not the public key, unless that address has already spent funds. This confirms the mechanism that an address is a hash of the public key, and the public key is not public by default.

OKX Exchange
A leading global cryptocurrency platform,suitable for both beginners and experienced traders.
New user benefit: 20% off trading fees upon registration!!

References

  1. CryptoCurrency Certification Consortium·What's the Difference Between a Key and a Wallet address? 2026-10-29
  2. Acquire.Fi·What is a Public Key in Crypto 2026-10-29
  3. 廖雪峰的官方网站·公钥和地址 2026-10-29
  4. ethereum.org·Key pair — ETH.BUILD 2026-10-29
  5. pub.dev·EthereumAddress.fromPublicKey 2026-10-29
  6. pub.dev·address property (EthPrivateKey) 2026-10-29