Transfer WETH from xDai to ETH on Mainnet
A guide on using block explorers to transfer Wrapped ETH from the xDai chain to the Ethereum Mainnet in the form of ETH native tokens.
In some cases it is convenient to use ETH, the native token for the Ethereum Mainnet, in form of ERC20 token - this allows to unify interfaces for the operations with assets. The recent Wrapped ETH token contract is WETH9.
When the ETH-xDai OmniBridge first started, wrapped ETH was bridged to the xDai chain in form of ERC677 token: Wrapped ETH on xDai.
Although the bridged token can be transferred back to ETH, it is still be in form of the ERC20 token, and it cannot be used in transactions to pay for gas fees. In this case, if a user has no ETH, it is impossible for them to unwrap these ETH tokens.
This set of instructions demonstrates how the Wrapped ETH can be bridged from the xDai chain directly to ETH tokens using a new
relay-and-call
feature implemented recently in the OmniBridge contracts. In the last section of the manual there is also an instruction on how to transfer ETH to WETH on the xDai chain using a single operation. This may not be used often but some users may find it handy.This instruction assumes that you have access to BlockScout and Etherscan. You also must have a bit of xDai to pay for gas fees for a bridge transaction on the xDai chain.
1. Change the chain to xDai in MetaMask/NiftyWallet.


4. Scroll to the
transferAndCall
method.
Enter the following information in the fields:
_to
(address) the address of the OmniBridge contract on the xDai chain:0xf6A78083ca3e2a662D6dd1703c939c8aCE2e268d
_value
(uint256) with amount of WETH to be bridged (bridge fees will be subtracted from this value)_data
(bytes) with two pieces concatenated:- the address of the WETH OmniBridge helper contract on the Ethereum Mainnet (
0xa6439Ca0FCbA1d0F80df0bE6A17220feD9c9038a
) - the address of the ETH recipient without
0x
.
E.g. for the recipient0xbf3d6f830ce263cae987193982192cd990442b53
the value in_data
field is0xa6439ca0fcba1d0f80df0be6a17220fed9c9038abf3d6f830ce263cae987193982192cd990442b53
Press Write to send the transaction.
5. As soon as the transaction is included in the block, click on the transaction link to get the transaction details:

6. Use "View in ALM App" link on the page with transaction details to track status of the transfer and finalize bridge operations if required.

7. Eventually, when an executing transaction on the Mainnet is processed, the WETH will be unlocked and unwrapped to ETH native tokens:

1. Visit the WETH OmniBridge helper contract on Etherscan:
0xa6439Ca0FCbA1d0F80df0bE6A17220feD9c9038a

and connect your wallet.
3. Scroll to the
wrapAndRelayTokens
method and enter the amount of ETH to bridge to the xDai chain:
Press Write to send the transaction.
4. As soon as the transaction is included in the block, press the "View you transaction" button to get the transaction hash which can be used in the AMB Live Monitoring app to track the status of the transaction.

Last modified 10mo ago