ioTube v4 — Cross-Chain Bridge for IoTeX, Ethereum, and Binance Smart Chain

Welcome to ioTube!

It’s official! Our new ioTube v4 is now LIVE at for two-way token swaps between EthereumIoTeXBinance Smart Chain.

Introducing ioTube v4, a decentralized cross-chain bridge that enables bi-directional exchange of tokens between IoTeX, Ethereum, and Binance Smart Chain. Ethereum & BSC tokens can live on IoTeX and IoTeX tokens can live on Ethereum & BSC! We are excited to take this major leap in expanding the footprint of IoTeX to the two largest blockchains in the world and broadening the utility of IOTX and XRC20 tokens.

ioTube v4 is a sophisticated piece of technology — even better, we have fully open-sourced ioTube on GitHub and made it compatible with ioPay & Metamask for an incredible user experience. Ready to get started? Check out our step-by-step tutorials on how to convert tokens between Ethereum-and-IoTeX and BSC-and-IoTeX.

In this blog, we explain ioTube’s history, new features, and v4 architecture. To learn how to use ioTube to convert tokens from Ethereum-to-IoTeX and vice versa, see this thread

The History of ioTube

In April 2019, ioTube v1 was launched as part of Mainnet Alpha to enable conversions of IOTX-E (ERC20) on Ethereum to native IOTX on IoTeX. In August 2020, ioTube v2 introduced “witnesses” to facilitate the conversion of a variety of ERC20 assets including ETH, WBTC, BUSD, PAXG, and UNI. In February 2021, ioTube v3 was launched to unify v1+v2 with significantly lower transfer/settlement costs for cross-chain token transfers. ioTube v4 builds upon this foundation and is our largest cross-chain upgrade yet!

ioTube v4 — Overview & Architecture

ioTube utilizes multiple smart contracts on both the origin/destination blockchain to enable cross-chain token transfers. It starts when a user deposits assets into a “cashier contract” on Chain A, which is an event that is observed by multiple witness nodes. These witnesses verify this event and send a signature to the relayer network, which aggregates all signatures and instructs a “validator contract” on Chain B to mint the same amount of tokens that were deposited on Chain A.


The ioTube v4 architecture is composed of the following contracts:

  • WitnessList : stores the list of active witnesses
  • TokenList : stores the list of whitelisted tokens
  • TokenSafe : stores the tokens deposited to the token cashier, and these stored tokens are used to transfer to recipients by transfer validator
  • MinterPool : holds the minter authorities of all mintable tokens
  • TokenCashier : accepts token/coin deposits and emit a receipt for each deposit
  • TransferValidator : validates witness signatures and then withdraws tokens from token safe to recipients.

For depositing assets, the TokenCashier contract validates the following:

  • Checks if the asset is listed and active
  • Checks if the amount is within the maximum limits
  • Checks if the asset is a proxy token (e.g., ioETH on IoTeX is a proxy token)
  • If proxy, burns it and create a receipt; if not proxy, deposits it into the TokenSafe.


Once a witness detects a deposit, they will sign an attestation and send it to the relayer, which collects attestation from witnesses and submit them to TransferValidator


For minting (i.e., issuing corresponding assets), the TokenValidator contract ensures:

  • The asset being converted is whitelisted and active via TokenList
  • The transfer has attestations from at least two-thirds of all witnesses
  • If so, the contract mints proxy tokens to transfer tokens to the given recipient.


That’s it! After tokens are converted between IoTeX, Ethereum, and BSC, they may be traded on respective decentralized exchanges: mimo (IoTeX), Uniswap (Ethereum), and PancakeSwap (BSC). Stay tuned for even more cross-chain integrations to leading blockchain networks in the future.

Ready to get started with ioTube?

Ready to bring your crypto-assets to the IoTeX Network? It’s easy — just download ioPay for Mobile or Desktop, visit the ioTube website, and follow our step-by-step instructions for Ethereum-and-IoTeX and BSC-and-IoTeX… For any questions, please reach out to an Admin on Telegram.


Hi, ethereum gas price drop significantly. It is time to change withdraw fee.
2000 iotx is too much, and block a lot of people.
For now, it is average 20-25 gas price for ethereum.

And i think two step withdraw is a better choise, just like xdai and matic. let user set the gas price as his own interest.

1 Like