The Multichain team in collaboration with the Equilibrium dev team has developed a solution for cross-chain transfers by using xTokens system contract. This development allows for user-friendly asset transfers between EVM networks like Ethereum, Polygon, e.t.c., and Polkadot ecosystem parachains.
Multichain is a cross-chain router protocol designed for bridging assets between different blockchains. Multichain supports more than 70 blockchain networks both EVM and non-EVM with ~$1.6B TVL.
We propose a creation of 3 distinct XC-20 tokens to leverage the cross-chain smart contract functionality on Moonbeam. Here are the details of proposed tokens including corresponding Ethereum and Moonbeam ERC-20s:
When registered, these assets will be available to all of the Polkadot parachains connected to Moonbeam, opening up a way for a first truly cross-chain asset bridging solution for the entire Polkadot ecosystem.
do I understand correctly, if the proposal passes, then the existing USDC/WBTC/ETH.multi will be replaced by xcUSDC/xcWBTC/xcETH.multi?
if not, what’s the point of using multiple .multi tokens in the ecosystem? because it can create some confusion.
in addition, what will these tokens be provided with and how will it work, could you give some examples?
for example, when we bridge USDC from Ethereum to Moonbeam, then we lock the native USDC on the Ethereum side and get a bridged representation in Moonbeam. but what will it look like with xc.multi assets?
Hello, thank you for the questions, here are some clarifications:
New mintable XC-20 tokens will be created, existing tokens will remain.
XC-20 tokens are XCM compatible and allow for cross-chain transfers across Polkadot ecosystem and its parachains.
Example: Send XC-20 WBTC to DeFi Parachain and use it as collateral or lending liquidity there.
You are correct, but there is more to this: the xTokens smart contract acts as a router built-in to Multichain technology: when users select as destination a Polkadot parachain, the XC-20 token is created through this router and is transferred directly to the parachain via Polkadot’s XCM. When the destination is Moonbeam the bridged representation of token is created which is ERC-20
thanks for the answer. yeah, I understand what XC-20 tokens are and their purpose. but I want to understand how it will work via multichain technology. do you have any document where the community can get acquainted with how this will work?
This is will work throw XcmTransferProxy contract which uses the xTokens system contract to do an XCM transfer from Moonbeam to one of the Polkadot ecosystem parachain.
Proxy call flow
user sign a transaction on source chain with one of these methods: anySwapOutNativeAndCall, anySwapOutAndCall, or anySwapOutUnderlyingAndCall.
MPC network catch user tx and sign execution transaction to Moonbeam
one of two router methods on Moonbeam called: anySwapInAndExec or anySwapInUnderlyingAndExec
mint/transfer XC-20 tokens from Router to XcmTransferProxy contract
call XcmTransferProxy::exec() proxy method
construct and execute xTokens::transfer call from proxy
if error is catched - send tokens to emergency receiver address