A Call for Standardization — Let’s Standardize the Crypto Chain & Token Codes
Since the advent of ERC-20 token standard, the number of crypto tokens has been growing rapidly. The trend has accelerated as trading is shifting to decentralized exchanges which reduce the barrier to listing. According to Coingecko there are now 10,583 unique tokens with many new ones coming online every day.
Stock markets have taught us to operate with ticker symbols. Ticker tapes scroll across most business shows on TV to communicate real-time prices. The crypto industry has followed suit. Most wallets, exchanges and industry publications use token codes. Sometimes the full name of the token appears alongside, but often the code is the only identifier due to limited space of screen real estate and user interfaces.
At first glance, this works just fine. Most users understand that BTC stands for Bitcoin, ETH is Ethereum’s Ether token, and USDT is the USD-pegged Tether stablecoin. However, once you dig a little deeper, problems surface.
Not many realize that smart contract blockchains often do not enforce token code uniqueness. A 2020 Beijing University of Posts and Telecommunication study identified 171 ERC-20 token contracts on Ethereum with the USDT code.
Furthermore, the same legitimate token can live on multiple blockchains and carry the same code. USDT exists on Ethereum, OMNI, Binance Smart Chain, and others. There is also a wrapped version on Tezos with the code WUSDT. Is your head spinning yet?
As new users flock to crypto, they will be confused at best and lose money at worst. As an industry, we have to come together to solve this problem.
Foundation for Interwallet Operability (FIO) is a consortium of wallets, exchanges and payment processors working towards making crypto easier. FIO has recently proposed an open source coding standard (FIP-15) to identify blockchains and tokens using unique codes. It builds on the SLIP-44 standard, which identifies private key derivation paths, as well as Coingecko and CoinMarketCap lists.
With the FIP-15 Standard, every token is identified by a unique alphanumeric chain_code and token_code combination which correspond to specific smart contract addresses. This way there is no ambiguity as to which token on which chain is being defined.
Bitcoin would be defined as:
chain_code: BTC, token_code: BTC
USDT on Ethereum would be defined as:
chain_code: ETH, token_code: USDT
In addition, the FIP-15 Standard defines optional parameters, which are used by some chains as additional pieces of information required to properly route a transaction. For example: Destination Tags on Ripple, or Payment ID on Monero.
The master list of chain and token codes, together with smart contract addresses, optional parameters, and SLIP-44 indexes can be found in a public Github repository and can be easily amended via a pull request.
Let’s work together to adopt this chain and token standard and make crypto easier.
FIO, the Foundation for Interwallet Operability, is a decentralized consortium of blockchain organizations and community members supporting the ongoing development, integration, and promotion of the FIO Protocol. The protocol is an open-source, decentralized usability layer solution that works across all blockchains, and uses human-readable Crypto Handles to replace the complexity, risk, and inconvenience that comes with blockchain-based transactions using public addresses.