Eine Contract-Adresse ist die eindeutige Kennung, die automatisch entsteht, sobald ein Smart Contract auf einer Blockchain deployt wird, und sie zeigt genau, wo der Code und die gespeicherten Daten dieses Contracts on-chain zu finden sind. Anders als eine persönliche Wallet-Adresse, die von einem privaten Schlüssel kontrolliert wird und dazu dient, Guthaben direkt zu halten oder zu senden, besitzt eine Contract-Adresse keinen privaten Schlüssel: Sie kann ausschließlich die im Code hinterlegten Funktionen ausführen, sobald eine Transaktion den Contract aufruft.
Auf Ethereum und anderen EVM-kompatiblen Netzwerken wird eine Contract-Adresse aus der Adresse der deployenden Wallet und ihrer Transaktions-Nonce berechnet und anschließend im selben 42-stelligen, mit 0x beginnenden Hexadezimalformat dargestellt wie eine gewöhnliche Adresse, oft mit einer Groß-/Kleinschreibung-Checksumme, die Tippfehler erkennen hilft. Das erklärt auch, warum derselbe Token auf verschiedenen Chains mehrere unterschiedliche Contract-Adressen haben kann, selbst wenn Name und Symbol identisch bleiben.
Contract-Adressen sind vor allem für Tokens relevant, nicht für die native Coin eines Netzwerks: Ether selbst hat keine Contract-Adresse, aber jeder ERC-20 Token schon, und genau diese Adresse nutzen Wallets oder Exchanges, um den Token korrekt zu erkennen, anzuzeigen und zu bewegen. Wer einen nicht gelisteten Token in einer Wallet hinzufügt oder ein Projekt über einen Blockchain-Explorer prüft, benötigt dafür immer die exakte Contract-Adresse.
Weil das Format identisch mit einer gewöhnlichen Adresse aussieht, sind Verwechslungen teuer. Tokens direkt an eine Contract-Adresse statt an die Wallet-Adresse des Empfängers zu senden, oder einer aus einer inoffiziellen Quelle kopierten Adresse zu vertrauen, führt häufig zum endgültigen Verlust der Gelder, da die meisten Contracts keinen Mechanismus besitzen, um fehlgeleitete Transfers zurückzusenden. Eine Contract-Adresse sollte daher stets über die offizielle Website oder Dokumentation des Projekts überprüft werden, bevor man sie verwendet.