What is a blockchain address?
A blockchain address is a string that a blockchain network uses to identify an account or receiving destination, or to represent conditions for spending assets. It can usually be shared for receiving assets, but it is not a password or a container that holds coins. The blockchain network and address type still need to be checked before use.
The word address covers several designs. An Ethereum address can identify a user-controlled account or a smart-contract account. A Bitcoin address can represent conditions that must be met before the received assets can later be spent. An XRP Ledger classic address identifies an account, while some transfers also need a destination tag. Using an address therefore requires checking its network, format and any required additional information.
Why blockchain networks use addresses
Public keys and payment conditions can be long and inconvenient to use as everyday receiving information. A blockchain address puts the information needed for a transfer into a standardized form that is easier to copy and recognize. Some formats also include information about the network or address type and a checksum that can detect certain input errors. Wallets and other applications read the address and use the relevant blockchain rules to construct the transfer.
A correctly formatted address does not prove who controls it. The address tells software where assets should be sent. To move those assets later, the controller still needs to sign with the required private key or satisfy another authorization rule, such as one enforced by a smart contract.
How an address is constructed
Different blockchains generate addresses in different ways, but the process can be understood broadly in three stages.
Step 1: prepare the information used to generate the address
An address is usually not a string chosen by the user. A wallet or protocol calculates it from existing information.
- For a regular key-controlled wallet, an address is often related to a public-and-private-key pair. The private key authorizes transactions, while the public key can be used to derive a receiving address.
- Some Bitcoin addresses are also based on spending conditions. These conditions define what must be satisfied before the associated assets can be spent.
- A smart-contract address may be generated from the contract creator, transaction data or other deployment information.
This information is the source material used to generate the address, but it does not normally appear unchanged in the final address.
Step 2: apply the network's hashing or encoding rules
The network processes the source information according to its own rules.
A hash can be understood as a digital fingerprint. A hashing algorithm converts data into a fixed-length result. Even a long input can produce an output of the same set length, and the original data generally cannot be recovered from the hash alone.
Encoding converts the result into a format made from letters and numbers that wallets and other applications can read, copy and transmit. Blockchains can use different hashing algorithms and encoding rules, which is why Ethereum, Bitcoin and XRP Ledger addresses differ in appearance and length.
Step 3: add a prefix, version information or checksum
Some address formats include additional information:
- A prefix can help software identify the address type. For example, some Bitcoin addresses begin with
bc1. - Version information tells software which rules to use when interpreting the address.
- A checksum helps detect some input or copying errors. If a character changes, a wallet may report that the format is invalid.
A checksum only detects some formatting errors. It does not prove who controls the address or confirm that the user has selected the intended transfer network.
Ethereum address example
For a regular Ethereum wallet, the process can be simplified as follows:
- The wallet generates a private key.
- It calculates the corresponding public key.
- It applies the Keccak-256 hash function to the public key.
- It takes the final 20 bytes of the hash and adds
0xat the beginning to form the Ethereum address.
A shortened example is 0x7A3f…9C21. It shows the appearance of an address and is not a complete address that can be used for a transfer. A complete Ethereum address has 40 hexadecimal characters after 0x.
The private key is not contained in the address. The address can be shared for receiving assets, but the private key must remain confidential. Smart-contract addresses use different creation rules, so the process above does not apply to them in the same way. See the Ethereum account documentation and EIP-55 for details.
Bitcoin and XRP Ledger use different rules. BIP-173 and BIP-350 define Bech32 and Bech32m address encoding, respectively. The XRP Ledger address documentation explains that some transfers need a destination tag in addition to a classic address. An X-address can combine the two, but its use depends on support from the wallet, platform or client library.
Address, public key, private key and wallet
| Term | Role |
|---|---|
| Address | Helps software identify an account, receiving destination or condition for spending assets. |
| Public key | Can be shared and used to verify signatures; in some designs, it also helps generate an address. |
| Private key | Must remain confidential and is used to create signatures that authorize transactions. |
| Wallet | Software, hardware or a service that helps users view accounts, manage addresses and possibly store or call signing keys. |
An address and a public key are not the same thing. An address may be calculated from a public key, or generated from spending conditions or contract deployment information. One wallet can manage many addresses, and a smart-contract address may be controlled by code or several signers rather than one private key. A receiving address can usually be shared, but the private key and recovery material must remain confidential.
Why a valid-looking address can still fail
A valid address string can still be unsuitable for a transfer:
- Wrong network: similar-looking addresses do not necessarily belong to the same network, and the receiving service may not support the selected blockchain.
- Unsupported address type: some wallets or services do not support every address format.
- Missing memo or destination tag: an exchange or another service may use one onchain address for many users and rely on an additional identifier to find the correct account. XRPL destination tags are one example.
- Contract versus recipient: a token contract address identifies the token contract; it is not automatically the user's receiving address.
- No proof of control: syntactic validity and a passing checksum do not show that the intended person controls the destination.
Once an onchain transfer has been confirmed, the sender usually cannot recall it directly. Whether the recipient is willing or able to return the assets depends on the network, service and circumstances. A wallet can check address syntax and network compatibility in advance, but it cannot determine the user's intended recipient from the address alone.
Address reuse and visibility
A receiving address can usually be shared, but reusing it may reveal links between transactions. Blockchain transaction records are generally open to public inspection. Information outside the blockchain, such as exchange account data or public profiles, may further connect an address to a person or service. The Bitcoin Developer Guide on wallets notes that some wallet designs generate a new receiving address for each payment to reduce direct reuse. This does not guarantee anonymity because transactions may still reveal other links.
FAQ
Does an address contain the coins?
No. Balances or spendable transaction outputs are recorded on the blockchain ledger. An address helps the wallet and network find the relevant records; it is not a file or container that holds assets.
Does knowing an address let someone sign a transaction?
No. An address alone does not provide authority to transfer assets. Moving the assets usually requires a private-key signature or another form of authorization required by the account, spending conditions or smart contract.
Does a valid checksum mean an address is safe to use?
No. A checksum can detect some transcription errors. It does not confirm the intended owner, supported network, required tag or application compatibility.
Related concepts and further reading
Read about public keys, private keys, crypto wallets and gas fees, or return to the Crypto Glossary.
For practical guidance, see OKX Learn's articles on finding a wallet address and Bitcoin addresses. To verify protocol rules, refer to the sources below.
Sources
- Ethereum: accounts — EOA and contract addresses, public keys and account types.
- BIP-173 — Bech32 encoding for native SegWit v0 addresses.
- BIP-350 — Bech32m and witness-version compatibility.
- EIP-55 — mixed-case checksum encoding for Ethereum addresses.
- XRPL: addresses — classic addresses, checksums, X-addresses and destination tags.
- Bitcoin Developer Guide: wallets — wallet software, keys, scripts and address reuse.
© OKX, 2025. Эту статью можно копировать и распространять как полностью, так и в цитатах объемом не более 100 слов, при условии некоммерческого использования. При любом копировании или распространении всей статьи должно быть указано: «Разрешение на использование получено от владельца авторских прав на эту статью — © OKX, 2025. Цитаты должны содержать ссылку на название статьи и ее автора, например: «Название статьи, [имя автора, если указано], © OKX, 2025». Часть контента может быть создана с использованием инструментов искусственного интеллекта (ИИ). Создание производных материалов и любое другое использование данной статьи не допускается.








