It appears ethereum is using plain hexadecimal addresses like 0x0092e965928626f8880629cec353d3fd7ca5974f for now.

I noticed, the ethereum C++ implementation outputs so called ICAP addresses, check this generated by ethkey:

> ethkey new test
Enter a passphrase with which to secure this account (or nothing to use the master passphrase): 
Please confirm the passphrase by entering it again: 
Enter a hint to help you remember this passphrase: 321 backwards
Created key 055dde03-47ff-dded-8950-0fe39b1fa101
  Name: test
  Password hint: 321 backwards
  Raw hex: 0092e965928626f8880629cec353d3fd7ca5974f

What is an ICAP address? Are these to be used in future releases like we are used to in Bitcoin? Do they always start with X? Do they have a checksum?

1 Answer 1


Inter Exchange Client Address Protocol (ICAP) is an IBAN-compatible system for referencing and transacting to Ethereum client accounts. ICAP was created to "streamline the process of transferring funds, worry-free between exchanges and, ultimately, make KYC and AML pains a thing of the past" (Source). ICAP addresses in Ethereum have built in checksum and always begin with XE. The aim is to introduce a new IBAN country code: XE, formulated as the Ethereum E prefixed with the "extended" X, as used in non-jurisdictional currencies (e.g. XBT, XRP, XCP).

Currently, TurboEthereum (C++ Ethereum client) has full support for ICAP and Geth (Go Ethereum client) is getting support for ICAP at version 1.4.

More info on the design of ICAP can be found here.

How to generate an ICAP address can be found here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.