Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time
fip title status type author created updated
Chain and token code standard
Pawel Mastalerz <>


Standard for blockchain and token codes as well as multi-level addressing parameters.


Blockchain and token codes

Given the decentralized nature of blockchains, there is no standard on what code represents what blockchain or token on that blockchain. This leads to confusion which can also lead to permanent loss of funds:

  • Some tokens, with the same code, exist on multiple blockchains (e.g. USDT).
  • Some crypto projects share the same token code, often on the same blockchain.
  • Some exchanges assign different token codes to the same token (e.g. Kraken used to refer to BTC as XBT).
  • Scammers assign legitimate token codes to smart contracts intended to defraud unsuspecting users.

Multi-level addressing

In addition, certain blockchains, or accounts on those blockchains, require the use of Multi-level Addressing, when, in addition to public address, additional piece of information is required to properly route a transaction. The following are examples:

  • Destination Tags on Ripple
  • Memos on Stellar
  • Payment ID on Monero

There is not a clear standard on how to properly communicate these additional properties.


Foundation for Interwallet Operability's (FIO) charter is to make crypto easier and this FIP proposes a standard for blockchain and token codes as well as multi-level addressing parameters. With this standard every blockchain and token is identified by a unique 10 alpha-numeric code. Every token transfer would then require a blockchain code and a token code to properly identify the destination. This ensures that a token is not sent on the wrong chain, something that happens all too often. For example:

  • A Tether USD-backed stable token on Ethereum would be identified as:
    • chain_code: ETH
    • token_code: USDT
  • A Tether USD-backed stable token on Omni would be identified as:
    • chain_code: OMNI
    • token_code: USDT

Chain and token code list

Foundation for Interwallet Operability has complied an initial list of over 6,000 chain and token codes. The initial list combined variety of sources including CoinMarketCap, CoinGecko, SLIP-44, and codes used by some wallets and exchanges which have implemented the FIO Protocol.

All crypto industry participants are encouraged to update this list via pull request, even if not integrating FIO Protocol.

FIO Protocol adoption of the standard

FIO Protocol has adopted the above standard and recommends to all wallet and exchanges integrating FIO to adopt it for FIO Protocol methods, such as mapping of FIO Addresses to token public addresses or fetching them on send.

In addition, FIO Protocol supports the use of Multi-level Addressing which allows for specification of additional attributes which may be required for send, such as memo or destination tags.

The list

Chain codes

Token codes

Discussion link