4. What’s the Token Bridge
The token bridge is a protocol that allows to move ERC20 tokens between RSK and
Ethereum.
You can send a Token to the bridge and receive it on the other chain in the same address.
It uses smart contracts and oracles to connect both blockchains and has a Dapp for end
user.
5. What’s an ERC20
ERC20 are smart contracts that
follows a standard that defines
certain rules for issuing tokens.
The tokens are crypto assets that
can be traded but, unlike
cryptocurrencies (Bitcoin,
Ethereum, etc), they don’t have a
dedicated blockchain.
The ERC20 tokens are the main
asset offer in an ICO (Initial Coin
Offering).
You can find other tokens at
https://coinmarketcap.com/tokens/views/all/
7. Prerequisite
To use the token bridge we first need to have a wallet, enough balance to pay for the
transactions and tokens to transfer. We can obtain it from:
• Wallet: Nifty Wallet set as custom node
• RSK:
• RIF Token: https://faucet.rifos.org/
• RBTC Balance: https://faucet.rsk.co/
• Ethereum
• TUSD: https://github.com/trusttoken/true-currencies#deployments
• ETH Balance: https://faucet.kovan.network/ or https://gitter.im/kovan-testnet/faucet
8. Use the Dapp to cross the tokens
Use the Dapp:
• Mainnet: https://tokenbridge.rsk.co/
• Testnet: https://testnet.tokenbridge.rsk.co/
Follow the instructions at https://developers.rsk.co/tools/tokenbridge/dappguide/
Keep in mind that crossing the tokens takes about 5 minutes in testnet and 1 hour in
mainnet, these numbers are just estimations, since the actual time it takes fluctuates.
9. Limitations
For security reasons there are limits to the
tokens you can cross:
• Max tokens to cross 10.000
• Min tokens to cross 1
• Max daily limit of tokens to cross
100.000
You can see this limits in the Dapp on the
Info tab.
10. Which tokens can i cross?
You can’t cross any Token, there is a white list of tokens that can cross.
You can see it in the Token List tab in the Dapp web page:
• Mainnet: https://tokenbridge.rsk.co/
• Testnet: https://testnet.tokenbridge.rsk.co/
Please note that Mainnet and Testnet Token List may differ.
13. Federator Oracle
The federation oracle listens to both chains (RSK and Ethereum) for the events
emitted by the bridge contracts.
Once it has enough confirmations (blocks after the block of the event) it calls the
Federation contract on the other chain and votes for that event.
14. Token Bridge Smart Contracts
• AllowTokens: Keeps the whitelisted tokens and the max min and daily limits of
tokens to cross.
• Federation: Keeps track of the events crossed by the federators (oracles) and
once an event has been voted by the majority of the federators it calls the bridge.
• Bridge: The bridge is and upgreadable smart contract in charge of locking the
tokens, emit cross events, receive cross events and mint or burn side tokens.
Side Token contracts are created on the fly if it’s the first time this kind of token
appears.
• SideTokenFactory: Factory that creates Side Tokens
• SideToken: ERC777 (ERC20 compatible) that represents the token on the other
chain
• MultiSigWallet: Owner of the contracts, it needs a majority of signatures to do
any transaction
15. Open Source Code
The code is in a public repository on github
• ABIs to interact with the contracts:
https://github.com/rsksmart/tokenbridge/tree/master/abis
• Smart Contracts: https://github.com/rsksmart/tokenbridge/tree/master/bridge
• Federator: https://github.com/rsksmart/tokenbridge/tree/master/federator
• Dapp: https://github.com/rsksmart/tokenbridge/tree/master/ui