# $GWEI Bridge Instructions

{% hint style="info" %}
These instructions cover manual (contract-level) token bridging via Wormhole. While this provides zero bridge fee, full control, and transparency, it requires multiple steps and careful input handling.

Most users may prefer UI-based bridge providers such as [https://portalbridge.com](https://portalbridge.com/), inputting the $GWEI contract address directly, automating this process, and offering a simpler, safer experience, but charging a fee for their service.
{% endhint %}

### $GWEI Token Addresses

* Ethereum Mainnet: [`0x2798b1cC5A993085E8A9D46e80499F1B63f42204`](https://etherscan.io/address/0x2798b1cC5A993085E8A9D46e80499F1B63f42204)&#x20;
* BSC: [`0x30117E4bC17d7B044194b76A38365C53b72F7D49`](https://bscscan.com/address/0x30117E4bC17d7B044194b76A38365C53b72F7D49)

### $GWEI Bridge Instructions

<details>

<summary><strong>Bridging from BSC -> Ethereum</strong></summary>

1. On BSC chain, approve GWEI token for wormhole tokebridge: [`0xb6f6d86a8f9879a9c87f643768d9efc38c1da6e7`](https://bscscan.com/address/0xb6f6d86a8f9879a9c87f643768d9efc38c1da6e7)&#x20;
2. Call wormhole tokebridge [`0xb6f6d86a8f9879a9c87f643768d9efc38c1da6e7`](https://bscscan.com/address/0xb6f6d86a8f9879a9c87f643768d9efc38c1da6e7) `transferTokens()` according to[ https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/guides/wtt-contracts/#transfer-tokens](https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/guides/wtt-contracts/#transfer-tokens)
   1. token is the GWEI address [`0x30117E4bC17d7B044194b76A38365C53b72F7D49`](https://bscscan.com/address/0x30117E4bC17d7B044194b76A38365C53b72F7D49)
   2. recipientChain ID for ETH is 2 according to[ https://wormhole.com/docs/products/reference/chain-ids](https://wormhole.com/docs/products/reference/chain-ids/)
   3. recipient must be in bytes32 format, for example if your address is `0xf1357d45671CB16dE055752809C8d2e3aB4AfE2e` then you should input `0x000000000000000000000000f1357d45671cb16de055752809c8d2e3ab4afe2e`
   4. arbiterFee can be set to `0`
   5. nonce can start with `0`
   6. Example tx: <https://bscscan.com/tx/0x566b40c9e9f1cd4d90274a889ab07d0e4b2717eb988512dd60ce7c468060579f>
3. Search your tx hash on[ https://wormholescan.io](https://wormholescan.io/) and wait for around 1-2 min
4. On the Ethereum chain, call wormhole tokenbridge [`0x3ee18b2214aff97000d974cf647e7c347e8fa585`](https://etherscan.io/address/0x3ee18b2214aff97000d974cf647e7c347e8fa585) `completeTransfer` with input data from the below:
   1. Get the VAA bytes from[ https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/guides/fetch-signed-vaa](https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/guides/fetch-signed-vaa/), <mark style="color:$warning;">remember to put 0x before the hex data</mark>
      1. Or, open the terminal and run `echo "<raw-vaa>" | base64 --decode | xxd -p -c 9999` where `"<raw-vaa>"` refers to the vaa data found in the advanced tab of the wormhole explorer page
   2. Example tx: <https://etherscan.io/tx/0x27993971f2548908178c2e2e6761279e0eb204f64c3db0b724107c33a4d1cf01>

</details>

<details>

<summary><strong>Bridging from Ethereum -> BSC</strong></summary>

1. On the Ethereum chain, approve GWEI token for wormhole tokebridge [`0x3ee18b2214aff97000d974cf647e7c347e8fa585`](https://etherscan.io/address/0x3ee18b2214aff97000d974cf647e7c347e8fa585)
2. Call wormhole tokebridge [`0x3ee18b2214aff97000d974cf647e7c347e8fa585`](https://etherscan.io/address/0x3ee18b2214aff97000d974cf647e7c347e8fa585) `transferTokens()` according to[ https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/guides/wtt-contracts/#transfer-tokens](https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/guides/wtt-contracts/#transfer-tokens)
   1. token is the GWEI address [`0x2798b1cC5A993085E8A9D46e80499F1B63f42204`](https://etherscan.io/address/0x2798b1cC5A993085E8A9D46e80499F1B63f42204)
   2. recipientChain ID for BSC is `4` according to[ https://wormhole.com/docs/products/reference/chain-ids/](https://wormhole.com/docs/products/reference/chain-ids/)
   3. recipient must be in bytes32 format, for example if your address is `0xf1357d45671CB16dE055752809C8d2e3aB4AfE2e` then you should input `0x000000000000000000000000f1357d45671cb16de055752809c8d2e3ab4afe2e`
   4. arbiterFee can be set to `0`
   5. nonce can start with `0`
   6. Example tx: <https://etherscan.io/tx/0x2afbaf839d3e17a128f315e75f8fb69a3ff3bb33e491538f88e150e905bc9e11>
3. Search your tx hash on[ https://wormholescan.io](https://wormholescan.io/) and wait for around 18-20 min
4. On BSC chain, call wormhole tokenbridge [`0xb6f6d86a8f9879a9c87f643768d9efc38c1da6e7`](https://bscscan.com/address/0xb6f6d86a8f9879a9c87f643768d9efc38c1da6e7) `completeTransfer` with input data from the below
   1. Get the VAA bytes from[ https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/guides/fetch-signed-vaa](https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/guides/fetch-signed-vaa/), <mark style="color:$warning;">remember to put 0x before the hex data</mark>
      1. Or, open the terminal and run `echo "<raw-vaa>" | base64 --decode | xxd -p -c 9999` where `"<raw-vaa>"` refers to the vaa data found in the advanced tab of the wormhole explorer page
   2. Example tx: <https://bscscan.com/tx/0xd96cbbdb8dbe47185a27c264196d633a043475465f5150b23ab11a7f1c2261a0>

</details>
