# Bridge Your $DEGEN

{% hint style="info" %} <mark style="color:red;">**YOU MIGHT LOSE YOUR TOKEN DUE TO WRONG PROCEDURE EXECUTED.**</mark>

*<mark style="color:red;">Please be sure that you are aware of the risk associated with calling contract before you engage with below process.</mark>*
{% endhint %}

## Bridging your $DEGEN

Bridging your $DEGEN from BNBChain to Arbitrum Network is necessary for degens from S1. While you can use stargate (Prob not), you can always execute the bridging via directly calling our contract. Here's how\..

## <mark style="color:orange;">BNBChain</mark> -> <mark style="color:blue;">Arbitrum</mark>

***In summary, there are 4 steps:***

1. [**Approve**](#approve) x amount of $DEGEN to proxyOFT contract, which gives the OFT contract the authority to move your $DEGEN.
2. [**Estimate**](#estimate-fee) the amount of BNB needed for executing the token bridge.
3. [**Call**](#sendfrom) sendForm and send your token.
4. [**Review**](#view-on-layerzero-scan) your txn via [*Layerzero Scan.*](https://layerzeroscan.com/)

### Approve

1. Go to $DEGEN token [contract page](https://bscscan.com/address/0x1a131F7B106D58f33eAf0fE5B47DB2f2045E5732#writeProxyContract) on BSC scan, write a proxy contract.&#x20;
2. Approve $DEGEN to proxyOFT contract (0x5e6adF21e76F9D4258FC68fD5c8fCb826185f8ef) for bridging.&#x20;
3. Remember to approve as many as you want to bridge ONLY.
4. Be cautious that precision is set to 10^18 for the amount.

   <figure><img src="https://1109723283-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxbVM9zThnAOGopoXeuvm%2Fuploads%2FyCck7XuFOmo6iB8AFCkX%2Fimage.png?alt=media&#x26;token=d46650d3-a0ab-437f-9f03-69dbfe6789f3" alt=""><figcaption><p>Sample</p></figcaption></figure>

### Estimate Fee

1. Go to [proxyOFT](https://bscscan.com/address/0x5e6adF21e76F9D4258FC68fD5c8fCb826185f8ef#readContract) contract, go to estimateSendFee

   <figure><img src="https://1109723283-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxbVM9zThnAOGopoXeuvm%2Fuploads%2FJr8iPF5NZ7mRzn90OLsk%2Fimage.png?alt=media&#x26;token=15f1fd62-9213-4b74-b3ad-79b77dcfe887" alt=""><figcaption></figcaption></figure>
2. Etimate the bridging fee using proxyOFT:
   1. \_dstChainID: 110

      <div align="left"><figure><img src="https://1109723283-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxbVM9zThnAOGopoXeuvm%2Fuploads%2FxmYdehPjUhc3uKpgrR1V%2Fimage.png?alt=media&#x26;token=3f33bbe5-b0b0-48f6-9cde-c7cd76bcdd27" alt=""><figcaption></figcaption></figure></div>
   2. \_toAddress: your receiving address on Arbitrum
   3. \_amount: the amount of $DEGEN you want to bridge
   4. \_useZro: 0 (false)

      <div align="left"><figure><img src="https://1109723283-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxbVM9zThnAOGopoXeuvm%2Fuploads%2FipqalhT6ow9jofDcUBoe%2Fimage.png?alt=media&#x26;token=95720a5d-8d94-4d4d-9f62-5ccdd6da421c" alt=""><figcaption></figcaption></figure></div>
   5. \_adapterParams: 0x0001000000000000000000000000000000000000000000000000000000000003d090

      <figure><img src="https://1109723283-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxbVM9zThnAOGopoXeuvm%2Fuploads%2FdcilAwv0C7I6LaXdLyB8%2Fimage.png?alt=media&#x26;token=3ed39322-e867-4be9-ae40-fe5bd6362666" alt=""><figcaption></figcaption></figure>
   6. **Screenshot your sending fee and save for later**

      <div align="left"><figure><img src="https://1109723283-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxbVM9zThnAOGopoXeuvm%2Fuploads%2FIdCFjPAKg0NaGKI8gmxt%2Fimage.png?alt=media&#x26;token=10b98036-7de5-4bcd-83de-536cf87cc23c" alt=""><figcaption></figcaption></figure></div>

### sendFrom

1. Call your [sendFrom](https://bscscan.com/address/0x5e6adF21e76F9D4258FC68fD5c8fCb826185f8ef#writeContract) on BSC scan.

   <figure><img src="https://1109723283-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxbVM9zThnAOGopoXeuvm%2Fuploads%2FXIfIi3WH0iZyxqTzYtxY%2Fimage.png?alt=media&#x26;token=c391266a-ea4f-41c2-a399-3d25ad69e1e3" alt=""><figcaption></figcaption></figure>
2. Input required data as follow:

   1. sendFrom: input the nativeFee you got from previous step. (you need to divide that number by 10^18)

      <div align="left"><figure><img src="https://1109723283-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxbVM9zThnAOGopoXeuvm%2Fuploads%2FZ2gIr9yx3yhOANP1t2VN%2Fimage.png?alt=media&#x26;token=9c045ca5-3c92-4be2-bf6b-f2b855700379" alt=""><figcaption></figcaption></figure></div>
   2. \_from(address): your current address
   3. \_desChainId: 110

   <div align="left"><figure><img src="https://1109723283-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxbVM9zThnAOGopoXeuvm%2Fuploads%2FbyChc0OEPYoDaAPNXBT5%2Fimage.png?alt=media&#x26;token=abe1c478-c30b-40b8-9bbe-9f5aca2245a3" alt=""><figcaption></figcaption></figure></div>

   1. \_toAddress(bytes): receiving address on Arbitrum
   2. \_amount: amount to be bridged
   3. \_refundAddress: your current address
   4. \_zroPaymentAddress: 0x0000000000000000000000000000000000000000

      <div align="left"><figure><img src="https://1109723283-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxbVM9zThnAOGopoXeuvm%2Fuploads%2Fh3xMRredsu8FwyYR0RUI%2Fimage.png?alt=media&#x26;token=4ae4830d-0e8a-4659-a6f5-fa8c5fa2631c" alt=""><figcaption></figcaption></figure></div>
   5. \_adapterParams: 0x0001000000000000000000000000000000000000000000000000000000000003d090

      <div align="left"><figure><img src="https://1109723283-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxbVM9zThnAOGopoXeuvm%2Fuploads%2FQbgtOKGYO4GeKhAiA1eT%2Fimage.png?alt=media&#x26;token=5eb442e2-4a6c-4361-ab37-35d74dd1b0d5" alt=""><figcaption></figcaption></figure></div>
   6. **Confirm everything and hit "write"**

### View on Layerzero Scan

When the transaction is done, you can view it on [Layerzero Scan](https://layerzeroscan.com/) using the transaction hash.&#x20;

{% hint style="info" %} <mark style="color:red;">Pending</mark> -> <mark style="color:green;">Delivered</mark>
{% endhint %}

<figure><img src="https://1109723283-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxbVM9zThnAOGopoXeuvm%2Fuploads%2FM0NZevRd90ewJSOIEIa7%2Fimage.png?alt=media&#x26;token=f13454f9-3a8a-4ce7-8db3-2d2038b9d22f" alt=""><figcaption><p>txn pending</p></figcaption></figure>

<figure><img src="https://1109723283-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxbVM9zThnAOGopoXeuvm%2Fuploads%2FzkkTl0fKLpCYZtR2bCjS%2Fimage.png?alt=media&#x26;token=a9a78513-4ffb-4ead-8ef3-34cca9c5bce7" alt=""><figcaption><p>txn successful</p></figcaption></figure>

## <mark style="color:blue;">Arbitrum</mark> -> <mark style="color:orange;">BNBChain</mark>

***In summary, there are 4 steps:***

1. [**Approve**](#approve) x amount of $DEGEN to proxyOFT contract, which gives the OFT contract the authority to move your $DEGEN.
2. [**Estimate**](#estimate-fee) the amount of ETH needed for executing the token bridge.
3. [**Call**](#sendfrom) sendForm and send your token.
4. [**Review**](#view-on-layerzero-scan) your txn via [*Layerzero Scan.*](https://layerzeroscan.com/)

### Approve

1. Go to $DEGEN token [contract page](https://arbiscan.io/address/0x881ee52679537C6834fDeeB3673da2e3eCb50DF6#writeProxyContract) on ARB scan, write a proxy contract.&#x20;
2. Approve $DEGEN to proxymintableOFT contract (0xCBd78Fb59CdAe1CD70e4d27c2d9cEb8691589715) for bridging.&#x20;
3. Remember to approve as many as you want to bridge ONLY.
4. Be cautious that precision is set to 10^18 for the amount.

### Estimate Fee

1. Go to [proxyOFT](https://arbiscan.io/address/0xCBd78Fb59CdAe1CD70e4d27c2d9cEb8691589715#readContract) contract, go to estimateSendFee
2. Etimate the bridging fee using proxyOFT:
   1. \_dstChainID: 102
   2. \_toAddress: your receiving address on Arbitrum
   3. \_amount: the amount of $DEGEN you want to bridge
   4. \_useZro: 0 (false)
   5. \_adapterParams: 0x0001000000000000000000000000000000000000000000000000000000000003d090
   6. **Screenshot your sending fee and save for later**

### sendFrom

1. Call your [sendFrom](https://arbiscan.io/address/0xCBd78Fb59CdAe1CD70e4d27c2d9cEb8691589715#writeContract) on ARB scan.
2. Input required data as follow:
   1. sendFrom: input the nativeFee you got from previous step. (you need to divide that number by 10^18)
   2. \_from: your address
   3. \_dstChainId: 102
   4. \_toAddress: receiving address
   5. \_amount: bridging amount
   6. \_refundAddress: current address
   7. \_zroPaymentAddress: 0x0000000000000000000000000000000000000000
   8. \_adapterParams: 0x0001000000000000000000000000000000000000000000000000000000000003d090

### View on Layerzero Scan

When the transaction is done, you can view it on [Layerzero Scan](https://layerzeroscan.com/) using the transaction hash.&#x20;

{% hint style="info" %} <mark style="color:red;">Pending</mark> -> <mark style="color:green;">Delivered</mark>
{% endhint %}
