The evolution in ERC20 and the era of ERC223

The ever evolving Ethereum Blockchain brought to Cryptocurrency and ICO investors a new gift, the ERC223 a new standard for tokens created on Ethereum. Up until now the newly created tokens on Ethereum public Blockchain should have followed the ERC20 convention. This by all means was a huge success and relief for both token owners and the investors for that token. ERC20 makes sure the behavior of the token on Ethereum is standard with a defined common list of rules. The ERC223 is an improvement of ERC20 protocol, and is backwards compatible to ERC20, meaning every wallet and software that supports ERC20 does work with ERC223. So to get a better picture from this improvement, maybe its better to breakdown how these tokens are created and lets start with the ERC20 tokens.

ERC20 and how does such tokens are created? 

ERC20 protocol allows token owners and developers to create a token that complies with common, essential behavioral rules. The standard is now very popular, specially among ICO investors and their communities. Thanks to ERC20 investors can be certain that the following statement can be true if the token is ERC20:

  • Technically tokens can be accepted by almost all exchanges
  • Tokens are transferable, and all Ether wallets will automatically store the newly created tokens
  • Transactions using that token is done smoothly

A token is compliance with ERC20 if the developer of the token contract implement the following interfaces:

  • The token name with function name, it returns the name of the token.
  • The token symbol with function symbol, it returns the symbol that token will use.
  • The token decimal places, function that returns the unit8 decimals the token uses.
  • How much the owner want to start off with: function balanceOf, it returns the account balance.
  • The amount of tokens in circulation: function totalSupply, it returns the total token supply.
  • The transfer value: function transfer (address _to, unit256 _value), this function is in charge of the transfer events. the function should revert a transaction if the sending account _from does not have sufficient balance.
  • The transfer from: function transferFrom, this function is used for withdrawal workflow, it allows contracts on the Blockchain to transfer tokens on token holder behalf.
  • The crediting permission, function allowance (address _owner, address _spender), it returns the amount which the buyer (_spender) is allowed to withdraw from the owner (_owner).
  • The events: with function transfer (address indexed _from, address indexed _to, unit256 _value) its triggered when a token has been successfully transferred and function approval (address indexed _owner, address indexed _spender, unit 256 _value) this must trigger on any successful call.


What did ERC223 has added to ERC20 and what are the advantages?

Initially the idea of ERC223 came to play when the amount of lost tokens on Ethereum Blockchain went sky rocketing, this was due to lack of possibility to handle incoming transactions. Ethereum Blockchain is a leading network for number of lost tokens. Top 8 ERC20 contracts with losses will come up to approximately 3 million USD worth of tokens. how does this happen? once an ERC20 token is sent to a contract that is not designed to work with that ERC20 tokens, the contract will not reject the tokens because the contract does not recognize an incoming transaction. Consequently the token will get stuck the that contract balance. ERC223 will allow users to only send their tokens to either wallet or contracts with the same transfer function, this way it prevents the loosing of the token. ERC223 introduces the function transfer (address _to, unit _value, bytes _data). This function transfers tokens with invoking the function tokenFallback in _to, only if _to is a contract. This will allow the smart contract to actively handle sent tokens. Whereas when an ERC20 token is transferred, the token contract is not notifying the receiver that the transfer has occurred, to that end the address receiver has no possibility to handle the incoming transaction and therefore no way to reject not supported tokens.

A seamless token transfer is another advantage of ERC223 over ERC20. An ERC20 transaction between a regular (not a contract) and contract are two different transactions. There two functions need to be triggered, first the approve function on the token contract and latter the transferForm on the other contract (the receiver). ERC223 has addressed this more efficiently by allowing to use the same transfer function. ERC223 could be sent by only calling the transfer function on the token contract with no if the receiver is a regular address of a wallet or a contract. Due to this shortcut another advantage that ERC223 has is the gas cost, ERC233 consumes almost half as much as an ERC token.

So as discussed above ERC223 advantages over ERC20 comes down to the following points:

  • provides a possibility to prevent accidentally losing tokens
  • Allows users to transfer tokens anywhere (owned address or contract) using one function
  • allows contract developers to manage incoming transactions, contract developers could implement contract in a way that only works with some specific tokens incoming and handling them in a specific way which could also each tokens could be handled in a specific way.
  • ERC223 consumes almost half gas as ERC20

Currently is not possible to upgrade existing ERC20 token contract to ERC223, but if you are planning to create your own maybe its a good idea to go with ERC223.



A brief guide to cryptocurrency exchanges

With a rapidly growing interest among technologist as well as trader towards cryptocurrencies, we have been writing a series of posts about them. In this post we will be covering cryptocurrency exchanges and point out their characteristics, and hopefully at the end of this post you may get an idea on which crypotocurrency exchange to do your trades.

Generally there are many doubts and question marks around how reliable cryptocurrency exchanges are. There has been a lot of rumors and news also around governments getting involved and closing down cryptocurrency exchanges, we heard that in South Korea  the governments is going to raid the cryptocurrency exchanges operating in the country and shut them down. If you are curious about that story, one of the officials from the government called that an “unrealistic move”. nevertheless in recent times we have heard numerous speculations about cryptocurrency world which never came to life.

The purpose of this post is to assess the most known and used cryptocurrency exchanges. We have chosen arguably the top rated exchanges, basing on fees applied, how safe the exchange is, if liquidity in the exchange is high or not, the possible pairs and currencies to trade with  USD, Euros or crypto with crypto and so on. The list we have gathered is narrowed with qualities indicated above.


Coinbase is one the most known and used exchange for Cryptocurrencies with up to 10 million users. Coinbase was founded in 2012 and is California based Crypto exchange for cryptocurrencies like Bitcoin, Ethereum, Litcoin, Ripple and etc. After introducing GDAX, Coinbase also aimed more sophisticated traders with a more powerful tool. Coinbase is also available for mobile users. Fees charged are around 0.25%.


Bitfinex is a Hong Kong based cryptocurrency exchange, specialized for trading Bitcoin and Altcoins. About fees, Bitfinex does have very low fees of 0.2% and for those who instead place trades in the order book will pay only 0.1%. Bitfinex is also available for traders to trade using mobile app. Bitfinex offers a variety of order types. For automating the trades Bitfinex also has provided an API feature for third-party softwares to integrate.


Coinmana is a well-known, Israeli based Bitcoin exchanges which traders could purchase Bitcoin using creadit/debit cards. The fees in Coinmama are about 6%, relatively high among other exchanges. Though Coinmama does not require traders to provide or upload their know your customer (KYC) documents.


Kraken known as one of the largest Bitcoin exchanges. Kraken’s users can trade Bitcoin using Canadian dollars, US dollars, British Pounds and Japanese yen. Kraken is in Euro volume and liquidity. Kraken was founded in 211 by Jesse Powel, Kraken is also known for low transaction fees ranging from 0% to 0.26% depending on the account tier and the type of the transaction(buy/sell).


Gemini is a US based exchange mainly focused on Bitcoin, US dollars and Ethereum. Gemini was founded in 2015 by Winklevoss twins (same brothers who claimed Mark Zuckerberg stole the idea of Facebook from them). Gemini’s users can deposit Bitcoin, Ether and make bank and wire transfer free of charge. In regard to trading fee, Gemini set to charge 0.25% for sellers and buyers. Gemini is referred to as the safest cryptocurrency exchange out there.

More on cryptocurrency exchanges:



Estimated traffic






Tokens traded










Bitcoin, Litecoin, Ethereum, Bitcoin Cash, Ethereum Classic










Bitcon, Ubiq, Litecoin, Blackcoin, Dash, Ethereum, Gambit, Gridcoin









0.20% Bitcoin, Ethereum, Ripple, Litecoin, Bitcoin Cash, EOS, NEO, Iota, Ethereum Classic, Monero, Dash, Zcash, OmiseGO and more






0 to 0.26%


Bitcoin, Ethereum, Litecoin, Gnosis, EOS, Dogecoin, Tether, Melon, Zcash, Augur tokens, Iconomi, Stellar, Ethereum classic, Ripple, Monero, Dash









0.20% to 0.25% CommerceBlock, Revain, Bitcoin, Chatcoin, Gifto, Zipper, Ethereum, Zencash and more








Bitcoin, Bitcoin Cash, Litecoin, Ethereum








Bitcoin, Ethereum, Bitcoin Cash, Litcoin








Bitcoin, Ethereum








Bitcoin, Ethereum


Bitcoin and Arbitrage: hand in hand