GoodDocs
  • Welcome to GoodDocs!
  • GoodDollar Ecosystem Vision
  • About the Protocol
    • Usage
    • Tokenomics
    • Sybil-Resistance
    • Protocol V3 Documentation
      • Architecture & Value Flow
      • System's Elements
      • Core Contracts & API
        • GoodDollar
        • GoodCompoundStaking V2 (DAI)
        • GoodAaveStaking V2 (USDC)
        • GoodReserveCDai
        • GoodFundManager
        • GoodMarketMaker
        • ContributionCalculation
        • UBIScheme
        • Identity
        • FirstClaimPool
        • AdminWallet
        • OneTimePayments
        • DonationsStaking
        • NameService
        • GReputation
        • CompoundVotingMachine
        • StakersDistribution
        • UniswapV2SwapHelper
        • Invites
        • GovernanceStaking
        • ClaimersDistribution
        • CompoundStakingFactory
        • AaveStakingFactory
        • ExchangeHelper
        • FuseFaucet
        • GoodDollarMintBurnWrapper
      • Previous Protocol Versions
        • Protocol V1
          • Architecture & Value Flow
          • Core Contracts & API
        • Protocol V2
          • Architecture & Value Flow
          • System's Elements
            • 1. The token (G$)
            • 2. The Reserve
            • 3. The Trust
            • 4. Staking rewards (APR)
            • 5. The Fund Manager
            • 6. The Distribution Contract (DisCo)
            • 7. Governance (DAO)
          • Core Contracts & API
            • GoodDollar
            • GoodCompoundStaking V2 (DAI)
            • GoodAaveStaking V2 (USDC)
            • GoodReserveCDai
            • GoodFundManager
            • GoodMarketMaker
            • ContributionCalculation
            • UBIScheme
            • Identity
            • FirstClaimPool
            • AdminWallet
            • OneTimePayments
            • DonationsStaking
            • NameService
            • GReputation
            • CompoundVotingMachine
            • StakersDistribution
            • UniswapV2SwapHelper
            • Invites
            • GovernanceStaking
            • ClaimersDistribution
            • CompoundStakingFactory
            • AaveStakingFactory
            • ExchangeHelper
            • FuseFaucet
  • User Guides
    • Buy & Sell G$
    • Stake to create UBI
    • Claim GOOD and G$X
    • Bridge GoodDollars
    • Connect another wallet address to identity
  • Liquidity
  • Wallet and Products
    • GoodWallet
    • GoodDapp
    • New GoodWallet
    • GoodCollective
    • GoodID & GoodOffers
    • 3rd Party Partners and Integrations
  • Frequently Asked Questions
    • Web3 basic knowledge and security tips - by Consensys
    • About GoodDollar
    • GoodDollar Protocol & G$ Token
    • Using GoodDollar
    • GoodDollar Community
    • Troubleshooting
  • For Developers
    • Contributing to GoodDollar
    • GoodDapp Developer Guides
      • Deploy your own GoodDapp UI
    • APIs & SDKs
      • Claim UBI
      • React Hooks Setup
      • Login With GoodDollar
      • Sybil Resistance
        • Identity (Ethers v5 / React)
        • Identity (Viem/Wagmi)
  • Useful Links
    • GoodDollar.org
    • GoodDapp
    • GoodWallet
    • GoodDollar User Guides
    • Statistics Dashboard
    • GoodDollar Whitepaper
    • GoodDollar Litepaper
    • GoodDollar Litepaper - Español
Powered by GitBook
On this page
  • Bridging Instructions
  • Verifying bridge limits
  • Troubleshooting
  • Fuse Bridge

Was this helpful?

  1. User Guides

Bridge GoodDollars

This is a smart contract guide for those who want to bridge between Ethereum<>Celo<>Fuse using the explorer

PreviousClaim GOOD and G$XNextConnect another wallet address to identity

Last updated 10 months ago

Was this helpful?

Currently, there's no UI for bridging to/from Celo. This guide will teach how you can bridge using blockchain explorers and Metamask:

Bridging Instructions

In celoscan and etherscan, make sure you pressconnect to web3 button

The current maximum amount you can bridge is 300M G$s. If you plan to bridge amounts in that order, you must first verify that your request is within limits. See the Verifying bridge limits section.

  1. Approve the bridge to spend G$ tokens

    1. Go to the G$ Contract page on the chain you are bridging from

    2. Open the approve method box and enter in the spender box the bridge address 0xa3247276dbcc76dd7705273f766eb3e8a5ecf4a5 (same on all chains) and in the value/amount enter the number of G$ units you want to bridge. Notice: In Fuse/Ethereum the units are in 2 decimals meaning that if you want to bridge 1.15 tokens this is equal to 115 units. On Celo the units are in 18 decimals, so 1.15 is 1150000000000000000 units. Press the `write` button and approve the transaction in your wallet.

  2. Issue bridge request

    1. Go to the Bridge Contract page on the chain you are bridging from

    2. Open/Scroll to the bridgeTo method box and enter in target the wallet address of the recipient, in targetChainId enter the chain id you are bridging to (1-Ethereum 122-Fuse 42220-Celo), in amount enter the same value as used in step #1 (the approve step), in bridge enter 0 for Axelar and 1 for LayzerZero. Lastly in value/payableAmount enter the estimated bridge fee from step #2. Make sure you have at least that amount of native tokens in your wallet press the `write` button

When bridging from Ethereum, it can take 15 minutes for the transfer to be executed.

Verifying bridge limits

The bridge enforces some transfer limits for security. To make sure your request will go smoothly it is recommended to first check on the target chain that your request is within limits.

  1. Go to the Bridge Contract page on the chain you are bridging to

  2. Open/Scroll to the canBridge method and enter in from the wallet address where you are bridging from and in amount enter the amount of units in 18 decimals that you want to bridge then press the Query button.

Troubleshooting

  • In case the transaction has been executed by Axelar or Layzezero but still failed to transfer the G$s then contact us via our support form here:

Fuse Bridge

Fuse:

Celo:

Ethereum:

Find out the estimated bridge fee by going to Record the amount for the service and path you are bridging, for example if you are bridging from Ethereum to Celo using Axelar then use the value under AXL_ETH_TO_CELO if using LayerZero then use the value under LZ_ETH_TO_CELO At the moment Axelar service is usually cheaper. Bridging from/to Fuse is only supported by LayerZero.

Fuse:

Celo:

Ethereum:

Fuse:

Celo:

Ethereum:

You can see the status of your bridge request by copying the bridge request transaction hash from step #3 and pasting it in Axelar or Layerzero scanners according to the service you used. Axelar Scanner: Layzerzero Scanner:

If the transaction did not reach the final step on Axelar or Layerzero consult with their documentation or support channels.

Fuse runs a bridge that enables bridging between Ethereum and Fuse. It has an easy-to-use UI here:

https://explorer.fuse.io/address/0x495d133B938596C9984d462F007B676bDc57eCEC/write-contract#address-tabs
https://celoscan.io/address/0x62b8b11039fcfe5ab0c56e502b1c372a3d2a9c7a#writeProxyContract
https://etherscan.io/address/0x67C5870b4A41D4Ebef24d2456547A03F1f3e094B#writeContract
https://goodserver.gooddollar.org/bridge/estimatefees
https://explorer.fuse.io/address/0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5/write-proxy#address-tabs
https://celoscan.io/address/0xa3247276dbcc76dd7705273f766eb3e8a5ecf4a5#writeProxyContract
https://etherscan.io/address/0xa3247276dbcc76dd7705273f766eb3e8a5ecf4a5#writeProxyContract
https://explorer.fuse.io/address/0xa3247276DbCC76Dd7705273f766eB3E8a5ecF4a5/read-proxy#address-tabs
https://celoscan.io/address/0xa3247276dbcc76dd7705273f766eb3e8a5ecf4a5#readProxyContract
https://etherscan.io/address/0xa3247276dbcc76dd7705273f766eb3e8a5ecf4a5#readProxyContract
https://axelarscan.io/
https://layerzeroscan.com/
https://docs.axelar.dev/dev/general-message-passing/recovery
https://app.voltage.finance/#/bridge
Connect to Web3 Button