A major milestone has been achieved in the Reef ecosystem! We’re thrilled to announce the launch of Reef Bridge, now live at reefbridge.app, which allows you to permanently bridge your $REEF tokens from Ethereum and BNB Smart Chain directly to Reef Chain.
A major gap in our ecosystem has been filled. The Reef Bridge now allows $REEF holders to move their tokens to Reef Chain seamlessly, unlocking the full potential of the network. This one-way bridge empowers users to:
Set up validators and secure the network
Become nominators and stake $REEF for rewards
Trade on ReefSwap with lower fees and faster transactions
Play MotoDEX (coming soon)
Coordinate DAO work on Orcanize (coming soon)
Our vision is simple: to move 100% of $REEF to Reef Chain, where it belongs.
Reef Bridge offers a straightforward, secure process to bridge your tokens:
One-Way Bridge: Once you bridge your $REEF to Reef Chain, your tokens cannot be bridged back. This ensures the migration is deliberate and supports the long-term goal of consolidating liquidity on Reef.
Locker Contracts & Burns: Tokens bridged from Ethereum and BNB Smart Chain are placed in locker contracts. Periodically, these tokens will be burned, further supporting Reef Chain’s economy.
Pre-Minted Supply for Bridging: At launch, 250 million $REEF can be unlocked on Reef Chain. To facilitate smooth, permissionless bridging, 1 billion $REEF were pre-minted. We’ll continue refilling and announcing bridge liquidity as needed.
Security is of utmost importance to us, especially when bridging assets across chains. That’s why we used CredShields' SolidityScan product to audit Reef Bridge before launch. All issues identified were minor and have been addressed.
Here is a detailed review from bridge partner VIA Labs:
L001: The pattern in the contract is CEI, checks effects interactions. This same pattern is used everywhere for almost every method. It was flagged only on burn() which is not being used and is behind an onlyMessageOwner modifier, so basically inaccessible to re-entrancy by design.
L002: Outdated compiler version, but in adherence with the latest EVM version supported by Reef Chain.
I001: VIA Labs generally tends to include indexing only when absolutely necessary as only 3 indexes are possible, and they cost more gas.
I002: VIA Labs follows Chainlink's style guide when possible, which does not use underscores.
G001: encodepacked will break the functionality. We encode to then decode. encodepacked does not have a "decoder".
G002: VIA Labs agrees, however it has zero impact in this case as it's behind onlyMessageOwner and is intended to basically be called once or twice ever for configuration purposes. It might also never be called in the entire lifetime of the contract. But they do agree with the suggestion in general.
G003: address(this) is only used twice and not in the same method. VIA Labs feels this may be a scanner bug.
G004: This is comparing different things, it's not amount <= balance, it's amount == 0 OR balance < amount. It would also require some testing as the first condition will hit more often, making the comparison cheaper.
G005: We don't know what this is referencing, the only thing that makes sense is to be referencing s_fee, because chainId is "cached" and the rest are immutable and not even part of storage. s_fee's second usage is behind an if. L32-51 are listed twice.
Here’s a video tutorial of how to use the bridge step-by-step.
Ready to move your $REEF?
Head over to https://reefbridge.app and start bridging your $REEF now.
For questions or help, join our community on Telegram or Discord — we’re here to help!