How do you send crypto across chains? One of the biggest issues with DeFi and Blockchain technology, in general, is that there is no perfect process for moving assets from one chain to another. This leads to a highly fractured crypto-economy where users need to find ways of moving their assets from one chain to another.

There are a few ways of doing so, but for the average person, it is highly confusing. The chances of making a mistake and losing funds are high. Simplifying the decentralized process of moving assets between chains is essential if crypto is to be adopted.

What is bridging?

One way of moving capital from one chain to another is through a method called cross-chain bridging.

A cross-chain bridge creates a connection between two blockchains facilitating the flow of data, capital, and assets between their respective ecosystems. This works through the use of smart contracts.

How does bridging work?

Consider the simple example of a user bridging ETH from Ethereum to Avalanche:

  • The user deposits ETH from an Ethereum wallet into the bridging contract
  • This ETH is locked on the Ethereum side. An equivalent ETH token is minted on the Avalanche side – WETH (Wrapped ETH)
  • WETH is pegged to ETH in a 1:1 ratio, since WETH on the Avalanche side can only minted if there has been ETH deposited on the Ethereum side.
  • WETH can then be used to interact with DeFi products on the Avalanche ecosystem.
  • To bridge that ETH back to Ethereum, the user simply deposits the WETH into the bridging contract, which is then burned. The ETH initially deposited on the Ethereum side is unlocked.

Bridging is not perfect- by bridging you are placing trust in the bridging contract that it will not fail or be subjected to a hack/exploit. Also, wrapping and unwrapping tokens require gas fees as users are interacting with a contract. In the case of Ethereum, this can become quite expensive.

Nevertheless, the pros of being able to bridge two ecosystems and the ability to transfer liquidity between them generally outweigh the risk of contract failure.

Cross-chain swaps (Atomic Swap)

Another option for interoperability between chains is cross-chain (atomic) swapping. An atomic swap is simply the process of changing one token with another token of equal value, except the two tokens do not have the same token standard.

For example, if a user had 1 BTC worth $40,000 and they wanted to swap to LTC, which was worth $400 per token, they would be able to swap that 1 BTC to 100 LTC.

How do atomic swaps work?

Atomic swaps are generally peer-to-peer and executed through the use of a smart contract. Here’s how it works:

  • Steve wishes to swap his BTC to LTC. So, he deposits 1 BTC into the swap contract.
  • Amy wishes to swap her LTC into BTC. She deposits 100 LTC into the swap contract.
  • The contract recognizes that there is enough BTC to fulfil Amy’s order, so it routes Amy’s LTC to Steve giving him 100 LTC and sends Steve’s 1 BTC to Amy.
  • The transaction is complete.

The benefit of this kind of transaction is that no party can be scammed by the other as the smart contract holds all funds in escrow.

However, the cryptocurrencies involved must have similar hashing algorithms. Another issue is that atomic swaps work on an “all or nothing” basis – either all the coins are swapped or none of them are. This is inefficient as the time taken to find a counterparty with a specific amount of coins limits how quickly the swap can be executed.

Cross-chain/multi-chain swaps (Liquidity Pools)

Another option that has only recently been introduced is cross-chain swapping via liquidity pools. Essentially, this method of cross-chain swapping is executed in a similar manner to an atomic swap.

The main difference is that the swap is instantaneous, and the contract does not have to find a counterparty with enough tokens to fill the order. Instead, a series of liquidity pools is used to facilitate the swap through an automated market maker.

Any asset can theoretically be swapped for any other asset if there is a liquidity pool for those assets. Currently, the only true example of a multi-chain decentralized exchange is THORChain Protocol.

How do multi-chain swaps work?

Cross-chain swapping through this method is generally carried out with the assistance of an intermediatory token, in the case of THORChain this token is RUNE. Here’s how it works:

  • Bill wants to swap his BTC for ETH.
  • He connects his wallet to THORChain, sets the amount of BTC he wants to swap, and is shown the amount of ETH he will receive for his BTC.
  • He accepts the transaction and his BTC is deposited to the BTC-RUNE liquidity pool.
  • From the BTC-RUNE liquidity pool, the equivalent value of the deposited BTC in RUNE is routed to the ETH-RUNE pool.
  • The equivalent value of the RUNE received by the ETH-RUNE pool is sent to Bill’s wallet as ETH.
  • Bill has received his ETH, and the transaction is complete.

To visualize what just happened, here’s a simplification:

Bill’s Wallet > BTC > RUNE > ETH > Bill’s Wallet

Essentially the deposited BTC was swapped to RUNE, and the RUNE was then swapped to ETH. By using this intermediatory asset (RUNE), THORChain is able to establish links between chains. It can compensate Bill for his BTC with ETH already existing within THORChain’s liquidity pools.

This method is much more flexible than an atomic swap and is executed instantaneously and on-demand. There is no waiting for a counterparty to take the other side of the trade. Bill doesn’t see any of this happen. As far as he is concerned he has swapped BTC to ETH without any hassle.

The downside of swapping using this method is that there is often slippage involved. Slippage is a small percentage of the transaction that is lost due to the nature of liquidity pools. As the pool becomes unbalanced slightly as assets are moved around, the value of the assets in those pools appears to change a small amount.

Additionally, transaction fees for both chains must be considered as the transaction has to be recorded on both blockchains.