Blockchain technology has revolutionized the way we think about digital ownership and value transfer. At the core of this innovation are blockchain addresses—unique identifiers that allow users to send and receive cryptocurrencies securely. While they may appear as random strings of characters, these addresses follow specific formats depending on the network and cryptographic standards in use.
In this guide, we’ll explore the address structures of three major blockchain networks: Bitcoin (BTC), Ethereum (ETH), and Filecoin (FIL). We'll break down their technical differences, explain how they work under the hood, and clarify common misconceptions about balances and private keys.
Whether you're a developer, investor, or simply curious about crypto infrastructure, understanding these address types is essential for secure and efficient interaction with decentralized systems.
👉 Discover how blockchain address security impacts your digital asset management
Bitcoin (BTC) Address Formats
Bitcoin supports multiple address formats, each tied to different transaction types and technological upgrades over time. The three primary BTC address types are:
1. P2PKH (Pay-to-Public-Key-Hash) – "1" Addresses
These begin with a 1 and represent the original Bitcoin address format. Also known as legacy addresses, they use the SHA-256 and RIPEMD-160 hashing algorithms to generate a public key hash from your public key.
While fully functional, P2PKH addresses are less efficient in terms of transaction size and fees compared to newer formats.
2. P2SH (Pay-to-Script-Hash) – "3" Addresses
Starting with 3, these addresses support more complex transactions such as multi-signature wallets. They allow users to lock funds behind scripts rather than simple public keys, enhancing security and flexibility.
Importantly, many P2SH addresses also support SegWit (Segregated Witness), which separates signature data from transaction data to reduce block space usage and lower fees.
3. Bech32 – "bc1" Addresses
Bech32 addresses start with bc1 and were specifically designed for native SegWit transactions. They offer the lowest transaction fees and improved error detection capabilities due to their robust checksum design.
Because of their efficiency, Bech32 is considered the most future-proof BTC address format.
Note: A single Bitcoin private key can generate all three types of addresses. However, each address functions independently on the blockchain. Sending 1 BTC to each of the three derived addresses results in three separate unspent transaction outputs (UTXOs), each showing 1 BTC—not a combined balance of 3 BTC.
Understanding BTC Balances: It’s All About UTXO
Unlike traditional banking systems, Bitcoin does not track account balances directly. Instead, it uses the Unspent Transaction Output (UTXO) model.
Each time you receive BTC, it creates a new UTXO linked to one of your addresses. When you spend BTC, your wallet selects one or more UTXOs as inputs and generates new outputs—for the recipient and any change returned to you.
Wallets simulate a “balance” by scanning the blockchain for all UTXOs associated with your addresses and summing them up. This process happens off-chain through APIs like getbalance or listtransactions.
👉 Learn how UTXO models enhance transaction efficiency across blockchains
Ethereum (ETH) Address Format
Ethereum takes a different architectural approach using an account-based model, making it easier to track balances and execute smart contracts.
An Ethereum address is a 40-character hexadecimal string (20 bytes), derived from the Keccak-256 hash of the public key. It typically starts with 0x, indicating it's a hexadecimal number.
There are two main types of Ethereum accounts:
1. Externally Owned Accounts (EOAs)
Controlled by private keys, EOAs are what most users interact with when managing wallets. You can use an EOA to:
- Send ETH or tokens
- Interact with smart contracts
- Sign transactions
These accounts have no associated code and rely entirely on user-controlled private keys for access.
2. Contract Accounts
These are controlled by their own code and are created when a smart contract is deployed on the network. Each contract account has:
- Persistent storage
- Executable logic
- The ability to hold funds
Crucially, contract accounts cannot initiate transactions on their own. They only respond to incoming transactions from EOAs or other contracts.
This design enables powerful decentralized applications (dApps), from DeFi platforms to NFT marketplaces.
Example: When you approve a token transfer on Uniswap, your EOA sends a signed message to the contract. The contract then executes trades based on predefined rules—no human intervention needed after initiation.
Filecoin (FIL) Address Structure
Filecoin, built for decentralized file storage, uses a flexible and extensible address format designed for interoperability and scalability.
A FIL address follows this structure: <network><protocol><payload><checksum>
Let’s break it down:
Network Prefix:
f= Mainnett= Testnet
Protocol Type: Defines how the payload is encoded or what key type it represents:
0: Identity-based (short ID format)1: Secp256k1 public key (Blake2b-160 hash)2: Random data (SHA256 hash)3: BLS public key
- Payload: Contains the actual cryptographic data (e.g., hashed public key)
- Checksum: Ensures data integrity during transfers
For example:
f1abc...→ Mainnet address using secp256k1 keyt3def...→ Testnet BLS address used in certain consensus operations
This modular design allows Filecoin to support various cryptographic schemes while maintaining backward compatibility.
Key Differences Between UTXO and Account Models
| Feature | Bitcoin (UTXO) | Ethereum (Account Model) |
|---|---|---|
| Balance Tracking | Requires scanning all UTXOs | Direct state lookup |
| Transaction Speed | High parallel verification | Sequential execution |
| Smart Contracts | Limited scripting | Full Turing-completeness |
| Privacy | Higher (per-output addressing) | Lower (reused addresses common) |
| Space Efficiency | More verbose transactions | Compact state representation |
While Bitcoin prioritizes security and parallelizability via UTXO, Ethereum emphasizes developer flexibility with its account model—each suited to its ecosystem’s goals.
Frequently Asked Questions (FAQ)
Q: Can I reuse a Bitcoin address?
A: Technically yes, but it's discouraged for privacy reasons. The UTXO model allows generating a new address for every transaction, improving anonymity.
Q: Why do I have multiple BTC addresses from one wallet?
A: Modern wallets derive multiple addresses (legacy, SegWit, etc.) from a single seed phrase. Each serves different purposes—optimizing compatibility and cost.
Q: Are ETH addresses case-sensitive?
A: No, but they use EIP-55 checksum encoding, where capital letters indicate a checksummed format to prevent input errors.
Q: What happens if I send FIL to a testnet address?
A: Funds sent to a testnet (t) address are lost on mainnet. Always double-check the prefix before transferring.
Q: Can I convert a private key between WIF compressed and uncompressed?
A: No. WIF-compressed (K/L) and WIF-uncompressed (5) come from different hex formats and cannot be interconverted without losing functionality.
Q: Is Bech32 the best BTC address format?
A: Yes, for receiving funds. Bech32 offers lower fees and better error detection, though some older services may not support it yet.
Understanding blockchain address formats isn’t just technical trivia—it's foundational knowledge for safely navigating the crypto world.
👉 Explore how secure address generation protects your digital assets